Ce document explique comment utiliser l'accès contextuel pour sécuriser différents types d'applications et de ressources. L'accès contextuel est une approche de sécurité qui vous permet de contrôler l'accès des utilisateurs en fonction de la robustesse de leur authentification, de l'état de sécurité de leur appareil, de leur emplacement sur le réseau, de leur emplacement géographique ou d'autres attributs. Cette approche va au-delà de l'utilisation d'identités utilisateur de base pour l'accès à la sécurité. Elle peut vous aider à implémenter un modèle de sécurité zéro confiance pour améliorer votre stratégie de sécurité globale. Pour en savoir plus sur les bonnes pratiques, consultez Bonnes pratiques pour sécuriser les applications et les ressources à l'aide de l'accès contextuel.
Pour sécuriser vos applications et vos ressources Google Cloud , vous pouvez définir des contrôles d'accès précis basés sur une variété et une combinaison de facteurs contextuels. Vous pouvez utiliser Access Context Manager pour définir des règles d'accès, qui contiennent des niveaux d'accès et des paramètres de service.
Ce document s'adresse à tous les professionnels de la sécurité responsables de la gestion des identités et des accès (IAM) et de la sécurité des ressources et des applications Google Cloud . Ce document part du principe que vous connaissez déjà Access Context Manager,Google Cloudet la gestion IAM.
Niveaux d'accès
Les niveaux d'accès vous permettent de définir un ensemble d'exigences que les utilisateurs et leurs appareils doivent respecter pour atteindre un certain niveau de confiance.
Par exemple, vous pouvez utiliser Access Context Manager pour configurer les niveaux d'accès suivants pour votre organisation :
- De base : ensemble de critères de base que vous considérez comme le niveau minimum.
- Moyen : ensemble d'exigences plus strictes que vous attendez des employés et des appareils de l'entreprise. Ce niveau d'accès peut exclure les utilisateurs de la main-d'œuvre étendue et les appareils non professionnels.
- Élevé : exigences strictes auxquelles seuls certains employés et appareils répondent.
Un niveau d'accès n'a en soi aucun effet immédiat sur les utilisateurs ni sur les appareils. Le niveau d'accès spécifie des exigences, mais ne définit pas les utilisateurs, les applications ni les ressources sur lesquels ces exigences doivent être appliquées. Un niveau d'accès est comme un élément de configuration réutilisable auquel vous pouvez vous référer lorsque vous configurez l'accès à des applications ou des ressources spécifiques.
Google Cloud vous permet d'utiliser des niveaux d'accès pour plusieurs types d'applications ou de ressources, y compris les suivants, qui sont décrits dans ce document :
- Google Workspace et d'autres applications et services en dehors de Google Cloud
- La console Google Cloud et les API Google Cloud
- Périmètres de service de cloud privé virtuel (VPC)
- Identity-Aware Proxy (IAP) pour l'accès SSH et RDP
- IAP pour les applications Web
Applications et ressources
Les sections suivantes décrivent comment appliquer des niveaux d'accès aux différents types d'applications et de ressources, et comment les processus diffèrent selon les types.
Google Workspace et d'autres applications et services en dehors de Google Cloud
Voici des exemples d'applications et de services en dehors de Google Cloud qui sont compatibles avec l'accès contextuel :
- Console d'administration Google
- Applications Google Workspace telles que Gmail, Google Meet et Google Agenda
- d'autres applications Google telles que Gemini ou Looker Studio.
- Applications SAML personnalisées
Pour limiter l'accès à Google Workspace, ainsi qu'aux applications et services en dehors deGoogle Cloud, configurez l'accès contextuel pour chaque service ou application individuellement dans la console d'administration. Dans la console d'administration, vous allez :
Définissez le champ d'application pour lequel vous souhaitez appliquer un niveau d'accès. Un champ d'application est une combinaison des éléments suivants :
- Service ou application SAML spécifique à protéger.
- Une unité organisationnelle (UO) ou un groupe contenant les utilisateurs concernés.
Sélectionnez le niveau d'accès à appliquer au champ d'application sélectionné.
Lorsque vous attribuez un niveau d'accès, vous pouvez également modifier ses paramètres. Vous pouvez spécifier que le niveau d'accès ne s'applique que lorsque les utilisateurs accèdent directement à l'application Web. Vous pouvez également spécifier que le niveau s'applique également lorsque des applications mobiles et d'autres applications accèdent à l'API. Pour en savoir plus, consultez Comportement des applications en fonction des paramètres de niveau d'accès dans "Attribuer des niveaux d'accès contextuel aux applications".
Il peut exister plusieurs attributions qui s'appliquent à un utilisateur et à une application spécifiques. Par exemple, un utilisateur peut être membre de l'UO Employees et de l'équipe all-apac. Il est possible que différents niveaux d'accès soient attribués à l'UO et au groupe concernés. Dans ce cas, Cloud Identity et Google Workspace n'appliquent qu'une seule des attributions, à savoir celle avec la priorité la plus élevée :
- Les attributions basées sur des groupes sont prioritaires sur celles basées sur des UO.
- Dans les groupes, vous pouvez personnaliser leur priorité relative.
- Au sein des UO, l'UO racine a la priorité relative la plus faible.
Cloud Identity et Google Workspace vous permettent d'examiner et d'analyser les événements d'accès contextuel dans le journal d'accès contextuel.
La console Google Cloud et les API Google Cloud
Vous pouvez configurer l'accès contextuel à la console Google Cloud et aux APIGoogle Cloud à l'aide de liaisons d'accès.
Les APIGoogle Cloud utilisent OAuth 2.0 pour l'authentification. Pour utiliser une API Google Cloud, les utilisateurs ont besoin d'un jeton d'accès OAuth valide émis par Google. Ce jeton doit être émis pour l'un des Google Cloud scopes OAuth. Les liaisons d'accès limitent la capacité des utilisateurs à obtenir de tels jetons d'accès. Par conséquent, les liaisons d'accès limitent l'accès à la console Google Cloud et à toutes les applications OAuth qui utilisent des habilitations OAuth Google Cloud , comme les suivantes :
- gcloud CLI
- Outils tiers tels que Terraform
- Applications OAuth que vous avez créées vous-même et qui utilisent un champ d'application OAuth Google Cloud
Une liaison d'accès associe un groupe à un niveau d'accès. Chaque groupe ne peut comporter qu'une seule liaison d'accès. Chaque liaison d'accès peut définir les configurations suivantes :
- Liste
scopedAccessSettings
qui attribue des niveaux d'accès à des applications OAuth individuelles. - Niveau d'accès par défaut.
Si une liaison d'accès spécifie à la fois un paramètre d'accès limité et un niveau d'accès par défaut, les deux niveaux d'accès sont combinés à l'aide de la sémantique OR
.
Ensuite, un utilisateur n'a besoin de remplir les conditions que d'un seul niveau d'accès pour accéder à l'application OAuth.
Une association d'accès s'applique aux membres directs et indirects du groupe. Si un utilisateur est membre de plusieurs groupes, plusieurs liaisons d'accès peuvent s'appliquer à lui, ce qui peut entraîner plusieurs niveaux d'accès. Dans ce cas, les niveaux d'accès sont également combinés à l'aide de la sémantique OR
, ce qui signifie que l'utilisateur n'a besoin de répondre qu'à l'un des niveaux d'accès.
Périmètres de service VPC
Lorsque vous créez un périmètre de service VPC, vous spécifiez une liste de services restreints. Les services restreints sont accessibles depuis le périmètre de service, mais pas en dehors par défaut.
Pour autoriser l'accès depuis l'extérieur du périmètre de service, vous utilisez des règles d'entrée. Les règles d'entrée vous permettent de spécifier les conditions dans lesquelles vous souhaitez autoriser l'accès externe. Vous pouvez utiliser des niveaux d'accès pour permettre à une règle d'entrée d'appliquer l'accès contextuel.
Un périmètre de service VPC peut comporter plusieurs règles d'entrée. Par conséquent, plusieurs règles d'entrée peuvent s'appliquer à un utilisateur et à une application spécifiques, et ces règles d'entrée peuvent nécessiter différents niveaux d'accès. Dans ce cas, les niveaux d'accès sont évalués à l'aide de la sémantique OR
et l'utilisateur n'a besoin de remplir qu'un seul des niveaux d'accès.
Vous pouvez combiner des liaisons d'accès avec des règles d'entrée de périmètre de service VPC. Si les liaisons d'accès et les règles d'entrée spécifient des niveaux d'accès différents pour un utilisateur et une application spécifiques, les niveaux sont combinés à l'aide de la sémantique AND
. Dans ce cas, l'utilisateur doit remplir les conditions des deux niveaux d'accès.
Pour examiner et analyser les tentatives d'accès aux ressources dans un périmètre de service VPC, vous pouvez utiliser les journaux d'audit VPC Service Controls ou l'analyseur des cas de non-respect de VPC Service Controls.
Accès SSH et RDP aux VM
Vous pouvez configurer l'accès contextuel pour l'accès SSH et RDP aux VM à l'aide du transfert TCP d'IAP.
Le transfert TCP IAP est compatible avec les liaisons d'accès et les règles d'entrée des périmètres de service VPC. Vos liaisons d'accès pour la console Google Cloud et les API Cloud s'appliquent automatiquement au transfert TCP IAP.
Si votre périmètre de service inclut le service iaptunnel.googleapis.com
en tant que service restreint, vos règles d'entrée s'appliquent automatiquement au transfert TCP IAP. Pour en savoir plus sur les bonnes pratiques, consultez Inclure le transfert TCP IAP en tant que service restreint.
Vous pouvez également configurer l'accès contextuel à l'aide des conditions IAM. Vous pouvez utiliser les conditions IAM comme alternative aux liaisons d'accès et aux règles d'entrée du périmètre de service VPC, ou les utiliser toutes ensemble.
Attribuez le rôle Utilisateur de tunnels sécurisés par IAP (
roles/iap.tunnelResourceAccessor
) à un utilisateur ou à un groupe. Ensuite, dans la liaison de rôle, ajoutez une expression de condition IAM qui exige que l'utilisateur respecte un certain niveau d'accès. Par exemple, l'expression peut ressembler à ce qui suit :"accessPolicies/123/accessLevels/fully-trusted" in request.auth.access_levels
Vous pouvez également personnaliser la condition IAM pour exiger plusieurs niveaux d'accès ou inclure d'autres vérifications.
Un utilisateur et une application spécifiques peuvent être soumis à une liaison d'accès, à une règle d'entrée et à une condition IAM lorsque l'utilisateur et l'application accèdent au transfert TCP IAP. Dans ce scénario, les niveaux d'accès sont combinés à l'aide de la sémantique AND
et l'utilisateur doit remplir toutes les conditions des niveaux d'accès.
Pour examiner et analyser les tentatives d'accès au transfert TCP IAP, vous devez activer les journaux d'audit des accès aux données pour IAP.
Applications Web
Vous pouvez configurer l'accès contextuel pour les applications Web à l'aide d'IAP.
IAP pour les applications Web diffère de son homologue IAP pour le transfert TCP :
- Les liaisons d'accès ne s'appliquent pas aux applications Web configurées avec IAP, car l'application OAuth utilisée par IAP n'utilise aucun champ d'application OAuth. Google Cloud
- Les règles d'entrée du périmètre de service VPC ne s'appliquent pas aux applications Web configurées avec IAP, car IAP n'est pas une APIGoogle Cloud et ne peut pas être configuré comme service restreint.
Pour configurer l'accès contextuel pour les applications Web à l'aide d'IAP, vous devez utiliser des conditions IAM :
Attribuez le rôle Utilisateur de l'application Web sécurisée par IAP (
roles/iap.httpsResourceAccessor
) à un utilisateur ou à un groupe. Ensuite, dans la liaison de rôle, ajoutez une expression de condition IAM qui exige que l'utilisateur respecte un certain niveau d'accès. Par exemple, l'expression peut ressembler à ce qui suit :"accessPolicies/123/accessLevels/fully-trusted" in request.auth.access_levels
Vous pouvez également personnaliser la condition IAM pour exiger plusieurs niveaux d'accès ou inclure d'autres vérifications.
Pour examiner et analyser les tentatives d'accès aux applications Web configurées avec IAP, vous devez activer les journaux d'audit pour l'accès aux données pour IAP.
Étapes suivantes
- Bonnes pratiques pour sécuriser les applications et les ressources à l'aide de l'accès contextuel
- Pour découvrir d'autres architectures de référence, schémas et bonnes pratiques, consultez le Centre d'architecture cloud.
Contributeurs
Auteur : Johannes Passing | Architecte de solutions cloud
Autre contributeur : Ido Flatow | Architecte de solutions cloud