L'accès contextuel pour Cloud Console et les API Google Cloud limite l'accès à Cloud Console et aux API Google Cloud à l'aide de règles contextuelles. Elle s'appuie sur la suite BeyondCorp Enterprise existante (Endpoint Verification et Access Context Manager) pour s'assurer que les personnes et les groupes de votre organisation répondant aux conditions d'accès définies sont en mesure d'accéder à Cloud Console et aux API Google Cloud (y compris via la CLI Google Cloud).
Pour configurer cette fonctionnalité, procédez comme suit :
- [Facultatif] Déployez la validation des points de terminaison sur les appareils de votre organisation.
- Créez un niveau d'accès dans Access Context Manager.
- Créez un groupe d'utilisateurs à associer aux restrictions de BeyondCorp Enterprise.
- Obtenez les autorisations IAM (Identity and Access Management) requises.
- Créez une liaison d'accès qui applique des règles d'accès contextuel pour Cloud Console et les API Google Cloud.
[Facultatif] Déployer la validation des points de terminaison
Cette fonctionnalité vous permet de créer un inventaire d'appareils accédant aux données de votre organisation. Dans le cadre d'une solution BeyondCorp Enterprise, elle permet également de fournir un contrôle des accès critique basé sur la sécurité et la confiance des appareils, ainsi que d'appliquer un contrôle d'accès précis sur vos ressources Google Cloud.
La validation des points de terminaison est exécutée en tant qu'extension Chrome sur les ordinateurs de bureau et les ordinateurs portables pour les utilisateurs Mac, Windows et Linux. Un administrateur peut la déployer sur les appareils détenus par l'entreprise à partir de la console d'administration Google Workspace, ou les membres de l'organisation peuvent l'installer eux-mêmes.
Créer un niveau d'accès
Vous devez définir un niveau d'accès qui sera utilisé pour déterminer l'accès à Cloud Console et aux API Google Cloud en créant un niveau d'accès de base dans Access Context Manager.
Créer un groupe d'utilisateurs
Créez un groupe d'utilisateurs qui doivent être associés à des restrictions contextuelles. Tous les utilisateurs de ce groupe qui sont également membres de votre organisation doivent respecter le niveau d'accès créé précédemment pour accéder à Cloud Console et aux API Google Cloud.
Accorder les autorisations IAM requises
Accordez les autorisations IAM au niveau de l'organisation qui seront nécessaires pour créer les liaisons d'accès Access Context Manager.
Console
Accédez à la page IAM et administration dans Cloud Console.
Cliquez sur Ajouter et configurez les éléments suivants :
- Nouveaux membres : spécifiez l'utilisateur ou le groupe auquel vous souhaitez accorder les autorisations.
- Sélectionner un rôle : sélectionnez Access Context Manager > Administrateur de la liaison d'accès cloud.
Cliquez sur Enregistrer.
gcloud
Vérifiez que vous êtes authentifié et que vous disposez des droits suffisants pour ajouter des autorisations IAM au niveau de l'organisation. Vous devez au minimum disposer du rôle d'administrateur de l'organisation.
Après vous être assuré que vous disposez des autorisations nécessaires, connectez-vous avec :
gcloud auth login
Attribuez le rôle
GcpAccessAdmin
en exécutant la commande suivante :gcloud organizations add-iam-policy-binding ORG_ID \ --member=user:EMAIL \ --role=roles/accesscontextmanager.gcpAccessAdmin
ORG_ID
est l'ID de votre organisation. Si vous ne disposez pas encore de l'ID de votre organisation, vous pouvez utiliser la commande suivante pour le trouver :gcloud organizations list
EMAIL
est l'adresse e-mail de la personne ou du groupe auquel vous souhaitez accorder le rôle.
Créer une liaison d'accès
Vous pouvez maintenant créer une liaison d'accès, qui mappe le groupe d'utilisateurs créé précédemment et le niveau d'accès Access Context Manager que vous avez défini pour accéder à Cloud Console et aux API Google Cloud.
Console
Accédez à la page BeyondCorp Enterprise dans Cloud Console.
Choisissez une organisation et cliquez sur Sélectionner.
Cliquez sur Gérer l'accès afin de choisir les groupes d'utilisateurs auxquels vous souhaitez accorder l'accès.
Cliquez sur Ajouter et configurez les éléments suivants :
- Groupes de membres : spécifiez le groupe auquel vous souhaitez accorder l'accès. Seuls les groupes qui ne sont pas déjà liés à un niveau d'accès peuvent être sélectionnés.
- Sélectionner les niveaux d'accès : choisissez le niveau d'accès à appliquer au groupe.
Cliquez sur Enregistrer.
gcloud
Pour en savoir plus sur cette commande et sur les autres commandes gcloud access-context-manager cloud-bindings, consultez la CLI Google Cloud, y compris les options supplémentaires d'indicateur.
gcloud access-context-manager cloud-bindings create \
--group-key GROUP_ID \
--level ACCESS_LEVEL \
--organization ORG_ID
Remplacez
GROUP_ID
par l'ID du groupe d'utilisateurs que vous avez créé précédemment.ACCESS_LEVEL
est au formataccessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME
. Les valeurs dePOLICY_ID
et deACCESS_LEVEL_NAME
sont disponibles dans Access Context Manager à partir du moment où vous avez créé le niveau d'accès.Si la propriété access-context-manager/organization n'a pas été prédéfinie, remplacez
ORG_ID
dans l'option facultative--organization
par l'ID de l'organisation que vous avez utilisé lors de la création du rôleGcpAccessAdmin
.
API
Créez un corps de requête :
{ "groupKey": "GROUP_ID", "accessLevels": [ "ACCESS_LEVEL" ] }
Remplacez
GROUP_ID
par l'ID du groupe d'utilisateurs que vous avez créé précédemment.ACCESS_LEVEL
est au formataccessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME
. Les valeurs dePOLICY_ID
et deACCESS_LEVEL_NAME
sont disponibles dans Access Context Manager à partir du moment où vous avez créé le niveau d'accès.
Créez la liaison d'accès en appelant le point de terminaison
gcpUserAccessBindings
et en remplaçantORG_ID
par l'ID de l'organisation que vous avez utilisée lors de la création du rôleGcpAccessAdmin
:POST https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings
Cette méthode renvoie une ressource
GcpUserAccessBinding
sous la forme d'une réponse au format suivant :{ // Unique name for the access binding, in the form // "organizations/ORG_ID/gcpUserAccessBindings/BINDING_ID" name: string, // Unique Group ID. group_key: string, // The access level that users of the group must satisfy, in the form // "accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME" access_levels: [ string ] }
Vérifier la réussite de l'opération
Une fois les liaisons d'accès configurées pour un groupe d'utilisateurs, l'accès à Cloud Console et aux API Google Cloud doit être contrôlé en fonction de la satisfaction du niveau d'accès lié.
Vous pouvez vérifier que la liaison a bien été créée, la modifier ou la supprimer.
Console
Une fois que vous avez créé une liaison d'accès, toutes les liaisons d'accès de l'organisation sont affichées, et peuvent être modifiées ou supprimées si nécessaire.
gcloud
Pour afficher toutes les liaisons d'accès d'une organisation, procédez comme suit :
gcloud access-context-manager cloud-bindings list \ --organization ORG_ID
Si la propriété access-context-manager/organization n'a pas été prédéfinie, remplacez
ORG_ID
dans l'option facultative--organization
par l'ID de l'organisation que vous avez utilisé lors de la création du rôleGcpAccessAdmin
.Pour modifier une liaison d'accès, par exemple pour changer le niveau d'accès, utilisez la commande suivante :
gcloud access-context-manager cloud-bindings update \ --binding ACCESS_BINDING \ --level ACCESS_LEVEL
Remplacez
ACCESS_BINDING
parorganizations/ORG_ID/gcpUserAccessBindings/ACCESS_BINDING_NAME
, oùORG_ID
est l'ID de l'organisation que vous avez utilisé lors de la création du rôleGcpAccessAdmin
, etACCESS_BINDING_NAME
est la chaîne unique de l'identifiantname
renvoyée lors de la création de la liaison d'accès.La valeur de
ACCESS_LEVEL
doit être mise en forme de la même manière qu'à la création de la liaison pour la ressource.Pour supprimer une liaison d'accès spécifique, utilisez la commande suivante :
gcloud access-context-manager cloud-bindings delete \ --binding ACCESS_BINDING
Formatez la valeur de
ACCESS_BINDING
de la même façon que dans la commande de modification d'une liaison d'accès.
API
Pour afficher toutes les liaisons d'accès d'une organisation, procédez comme suit :
GET https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings
Cela renvoie une liste de ressources
GcpUserAccessBinding
.Pour modifier une liaison d'accès, telle que modifier le niveau d'accès, créez un corps de requête qui définit la modification, puis appelez le point de terminaison avec le nom de la ressource :
{ "accessLevels": [ "ACCESS_LEVEL" ] }
Formatez la valeur de
ACCESS_LEVEL
comme lors de la création de la liaison pour la ressource.PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=access_levels
Remplacez
ACCESS_BINDING_NAME
par la chaîne unique de l'identifiantname
renvoyée lors de la création de la liaison d'accès.Pour supprimer une ressource
GcpUserAccessBinding
particulière, appelez le point de terminaison avec le nom de la ressource :DELETE https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME
Remplacez
ACCESS_BINDING_NAME
par la chaîne unique de l'identifiantname
renvoyée lors de la création de la liaison d'accès.
Questions fréquentes
Combien de temps faut-il pour qu'une liaison d'accès nouvellement créée soit prise en compte ?
Cette opération peut prendre jusqu'à 24 heures.
Que se passe-t-il si je supprime un groupe doté d'une liaison d'accès ?
Le groupe et la liaison sont supprimés, et tous les utilisateurs du groupe sont autorisés à accéder.
Que se passe-t-il si je supprime le niveau d'accès utilisé dans une liaison d'accès ?
Le niveau d'accès ne peut jamais être satisfait, et tous les utilisateurs du groupe doté d'une liaison d'accès se voient refuser l'accès.
Que se passe-t-il lorsqu'un utilisateur appartient à plusieurs groupes qui ont des liaisons d'accès ?
L'utilisateur doit seulement respecter le niveau d'accès de l'un de ces groupes pour obtenir l'accès.
Qu'en est-il des utilisateurs qui ne font pas partie de mon organisation ?
Les personnes ne faisant pas partie de votre organisation ne sont pas soumises à la liaison d'accès, même si vous les avez ajoutées au groupe d'utilisateurs devant être associés aux restrictions contextuelles.
Étapes suivantes
- Pour en savoir plus sur le journal d'audit de BeyondCorp Enterprise, consultez la page Journaux d'audit.
- Pour en savoir plus sur les journaux d'audit dans Access Context Manager, y compris un récapitulatif des opérations d'API consignées pour les actions d'administration, consultez la page Informations sur les journaux d'audit d'Access Context Manager.