Ce document explique comment sécuriser l'accès à la console Google Cloud et aux API Google Cloud à l'aide des règles contextuelles.
L'accès contextuel pour Google Cloud Console et les API Google Cloud limite l'accès à la console Google Cloud et aux API Google Cloud à l'aide de règles contextuelles. Cet outil fait partie de BeyondCorp Enterprise et permet aux utilisateurs et aux groupes de votre organisation qui répondent aux exigences d'accès définies d'accéder à la console Google Cloud et aux API Google Cloud (y compris l'accès depuis Google Cloud CLI).
Pour sécuriser la console Google Cloud et les API Google Cloud, 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 devant respecter des restrictions contextuelles.
- Obtenez les autorisations IAM (Identity and Access Management) requises.
- Créer une liaison d'accès qui applique des règles contextuelles à la console Google Cloud et aux API Google Cloud
[Facultatif] Déployer la validation des points de terminaison
Si vous souhaitez sécuriser l'accès à la console Google Cloud et aux API Google Cloud à l'aide des attributs d'appareils, déployez la validation des points de terminaison sur les appareils de votre organisation.
La validation des points de terminaison s'exécute en tant qu'extension Chrome sur les ordinateurs de bureau et les ordinateurs portables pour les utilisateurs de macOS, Windows et Linux. Un administrateur peut le déployer sur les appareils détenus par l'entreprise à partir de la console d'administration Google, 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 pouvant être utilisé pour déterminer l'accès à la console Google Cloud 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 disposer du niveau d'accès que vous avez créé précédemment pour accéder à la console Google Cloud et aux API Google Cloud.
Accorder les autorisations Cloud 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 de la console Google Cloud.
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
Une liaison d'accès est un mappage entre le groupe d'utilisateurs que vous avez créé précédemment et le niveau d'accès d'Access Context Manager que vous avez défini pour accéder à la console Google Cloud et aux API Google Cloud.
Vous pouvez créer une liaison d'accès de l'une des manières suivantes:
- Liaison d'accès entre un groupe et un niveau d'accès.
- Liaison d'accès entre un groupe et un niveau d'accès avec une configuration de simulation. La configuration de simulation vous permet de créer une liaison d'accès entre un groupe et un niveau d'accès de simulation, ou entre un groupe, un niveau d'accès et un niveau d'accès de simulation.
Créer une liaison d'accès avec un niveau d'accès
Console
Accédez à la page BeyondCorp Enterprise dans la console Google Cloud.
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
Vous pouvez consulter Google Cloud CLI pour en savoir plus sur cette commande et sur d'autres commandes gcloud access-context-manager cloud-bindings, y compris sur les options d'indicateurs supplémentaires.
gcloud access-context-manager cloud-bindings create \
--group-key GROUP_ID \
--level ACCESS_LEVEL \
--organization ORG_ID
Où :
-
GROUP_ID
est l'ID du groupe d'utilisateurs que vous avez créé précédemment.Si vous ne disposez pas de l'ID de groupe, vous pouvez le récupérer en appelant la méthode
get
sur la ressourceGroups
. -
ORG_ID
est l'ID de l'organisation que vous avez utilisée lors de la création du rôleGcpAccessAdmin
. Si la propriétéaccess-context-manager/organization
n'a pas été définie, remplacezORG_ID
dans l'option facultative--organization
par l'ID de l'organisation que vous avez utilisée lors de la création du rôleGcpAccessAdmin
. -
POLICY_ID
est l'ID de la règle d'accès de votre organisation. -
ACCESS_LEVEL
est au formataccessPolicies/
. Les valeurs dePOLICY_ID
/accessLevels/ACCESS_LEVEL_NAME
POLICY_ID
etACCESS_LEVEL_NAME
sont disponibles dans Access Context Manager à partir de la création du niveau d'accès.
API
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants:
-
ORG_ID
est l'ID de l'organisation que vous avez utilisée lors de la création du rôleGcpAccessAdmin
. -
GROUP_ID
est l'ID du groupe d'utilisateurs que vous avez créé précédemment.Si vous ne disposez pas de l'ID de groupe, vous pouvez le récupérer en appelant la méthode
get
sur la ressourceGroups
. -
POLICY_ID
est l'ID de la règle d'accès de votre organisation. -
ACCESS_LEVEL
est au formataccessPolicies/
. Les valeurs dePOLICY_ID
/accessLevels/ACCESS_LEVEL_NAME
POLICY_ID
etACCESS_LEVEL_NAME
sont disponibles dans Access Context Manager à partir de la création du niveau d'accès.
Méthode HTTP et URL :
POST https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings
Corps JSON de la requête :
{ "groupKey": "GROUP_ID", "accessLevels": [ "ACCESS_LEVEL" ], }
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings"
PowerShell
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l", "groupKey": "045jfvxd0ybeul8", "accessLevels": [ "accessPolicies/305009197125/accessLevels/device_lock" ] }
Créer une liaison d'accès avec une configuration de simulation
Vous pouvez créer une liaison d'accès avec une configuration de simulation pour comprendre l'impact des niveaux d'accès de votre environnement dans les scénarios suivants:
- Pour évaluer l'impact d'un niveau d'accès avant de l'appliquer, créez une liaison d'accès avec un niveau d'accès de simulation.
- Pour appliquer un niveau d'accès et évaluer simultanément l'impact d'un niveau d'accès de simulation, créez une liaison d'accès avec un niveau d'accès actif et un niveau d'accès de simulation.
Une liaison d'accès avec un niveau d'accès de simulation n'empêche pas l'accès, mais consigne les violations du niveau d'accès de simulation. Pour afficher les détails, consultez les journaux de refus.
Créer une liaison d'accès avec un niveau d'accès de simulation
gcloud
gcloud access-context-manager cloud-bindings create \
--group-key = GROUP_ID \
--dry-run-level = DRY_RUN_ACCESS_LEVEL \
--organization ORG_ID
Où :
-
GROUP_ID
est l'ID du groupe d'utilisateurs que vous avez créé précédemment.Si vous ne disposez pas de l'ID de groupe, vous pouvez le récupérer en appelant la méthode
get
sur la ressourceGroups
. -
ORG_ID
est l'ID de l'organisation que vous avez utilisée lors de la création du rôleGcpAccessAdmin
. Si la propriétéaccess-context-manager/organization
n'a pas été définie, remplacezORG_ID
dans l'option facultative--organization
par l'ID de l'organisation que vous avez utilisée lors de la création du rôleGcpAccessAdmin
. -
POLICY_ID
est l'ID de la règle d'accès de votre organisation. -
DRY_RUN_ACCESS_LEVEL
est l'élémentACCESS_LEVEL
pour lequel vous souhaitez comprendre l'effet.ACCESS_LEVEL
est au formataccessPolicies/
. Les valeurs dePOLICY_ID
/accessLevels/ACCESS_LEVEL_NAME
POLICY_ID
etACCESS_LEVEL_NAME
sont disponibles dans Access Context Manager à partir de la création du niveau d'accès.
API
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants:
-
ORG_ID
est l'ID de l'organisation que vous avez utilisée lors de la création du rôleGcpAccessAdmin
. -
GROUP_ID
est l'ID du groupe d'utilisateurs que vous avez créé précédemment.Si vous ne disposez pas de l'ID de groupe, vous pouvez le récupérer en appelant la méthode
get
sur la ressourceGroups
. -
POLICY_ID
est l'ID de la règle d'accès de votre organisation. -
DRY_RUN_ACCESS_LEVEL
est l'élémentACCESS_LEVEL
pour lequel vous souhaitez comprendre l'effet.ACCESS_LEVEL
est au formataccessPolicies/
. Les valeurs dePOLICY_ID
/accessLevels/ACCESS_LEVEL_NAME
POLICY_ID
etACCESS_LEVEL_NAME
sont disponibles dans Access Context Manager à partir de la création du niveau d'accès.
Méthode HTTP et URL :
POST https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings
Corps JSON de la requête :
{ "groupKey": "GROUP_ID", "dryRunAccessLevels": [ "DRY_RUN_ACCESS_LEVEL" ] }
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings"
PowerShell
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l", "groupKey": "045jfvxd0ybeul8", "dryRunAccessLevels": [ "accessPolicies/305009197125/accessLevels/another" ] }
Créer une liaison d'accès avec un niveau d'accès et un niveau de simulation
gcloud
gcloud access-context-manager cloud-bindings create \
--group-key = GROUP_ID \
--level = ACCESS_LEVEL \
--dry-run-level = DRY_RUN_ACCESS_LEVEL \
--organization ORG_ID
Où :
-
GROUP_ID
est l'ID du groupe d'utilisateurs que vous avez créé précédemment.Si vous ne disposez pas de l'ID de groupe, vous pouvez le récupérer en appelant la méthode
get
sur la ressourceGroups
. -
ORG_ID
est l'ID de l'organisation que vous avez utilisée lors de la création du rôleGcpAccessAdmin
. Si la propriétéaccess-context-manager/organization
n'a pas été définie, remplacezORG_ID
dans l'option facultative--organization
par l'ID de l'organisation que vous avez utilisée lors de la création du rôleGcpAccessAdmin
. -
POLICY_ID
est l'ID de la règle d'accès de votre organisation. -
ACCESS_LEVEL
est au formataccessPolicies/
. Les valeurs dePOLICY_ID
/accessLevels/ACCESS_LEVEL_NAME
POLICY_ID
etACCESS_LEVEL_NAME
sont disponibles dans Access Context Manager à partir de la création du niveau d'accès. -
DRY_RUN_ACCESS_LEVEL
est l'élémentACCESS_LEVEL
pour lequel vous souhaitez comprendre l'effet.ACCESS_LEVEL
est au formataccessPolicies/
. Les valeurs dePOLICY_ID
/accessLevels/ACCESS_LEVEL_NAME
POLICY_ID
etACCESS_LEVEL_NAME
sont disponibles dans Access Context Manager à partir de la création du niveau d'accès.
API
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants:
-
ORG_ID
est l'ID de l'organisation que vous avez utilisée lors de la création du rôleGcpAccessAdmin
. -
GROUP_ID
est l'ID du groupe d'utilisateurs que vous avez créé précédemment.Si vous ne disposez pas de l'ID de groupe, vous pouvez le récupérer en appelant la méthode
get
sur la ressourceGroups
. -
POLICY_ID
est l'ID de la règle d'accès de votre organisation. -
ACCESS_LEVEL
est au formataccessPolicies/
. Les valeurs dePOLICY_ID
/accessLevels/ACCESS_LEVEL_NAME
POLICY_ID
etACCESS_LEVEL_NAME
sont disponibles dans Access Context Manager à partir de la création du niveau d'accès. -
DRY_RUN_ACCESS_LEVEL
est l'élémentACCESS_LEVEL
pour lequel vous souhaitez comprendre l'effet.ACCESS_LEVEL
est au formataccessPolicies/
. Les valeurs dePOLICY_ID
/accessLevels/ACCESS_LEVEL_NAME
POLICY_ID
etACCESS_LEVEL_NAME
sont disponibles dans Access Context Manager à partir de la création du niveau d'accès.
Méthode HTTP et URL :
POST https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings
Corps JSON de la requête :
{ "groupKey": "GROUP_ID", "accessLevels": [ "ACCESS_LEVEL" ], "dryRunAccessLevels": [ "DRY_RUN_ACCESS_LEVEL" ] }
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings"
PowerShell
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l", "groupKey": "045jfvxd0ybeul8", "accessLevels": [ "accessPolicies/305009197125/accessLevels/device_lock" ], "dryRunAccessLevels": [ "accessPolicies/305009197125/accessLevels/another" ] }
Afficher les journaux de refus
Après avoir créé une configuration de simulation, vous pouvez consulter les journaux pour identifier l'endroit où elle refuse l'accès.
Le tableau suivant répertorie les champs de journal que vous pouvez utiliser pour créer et exécuter la requête afin d'obtenir les journaux:
Field name | Description |
---|---|
protoPayload > authenticationInfo > principalEmail |
Adresse e-mail du compte principal pour lequel l'accès est refusé. |
protoPayload > metadata > deniedApplications |
Nom de l'application pour laquelle l'accès est refusé. |
protoPayload > metadata > evaluationResult |
Résultat d'évaluation de la règle d'accès active. Valeurs possibles : GRANTED ou DENIED . |
protoPayload > metadata > appliedAccessLevels |
Niveaux d'accès appliqués requis par la règle d'accès active. |
protoPayload > metadata > appliedDryRunAccessLevels |
Niveaux d'accès appliqués requis par la règle de simulation. |
protoPayload > metadata > dryRunEvaluationResult |
Résultat d'évaluation de la règle de simulation, qui indique l'action prévue lorsque la règle d'accès est appliquée.
Valeurs possibles : GRANTED ou DENIED . |
Pour savoir comment créer des requêtes pour les journaux, consultez Langage de requête Logging.
Console
Dans le menu de navigation de la console Google Cloud, cliquez sur Logging, puis sur Explorateur de journaux.
Dans le champ Requête, saisissez un filtre de requête semblable au filtre suivant, puis cliquez sur Exécuter la requête.
severity="ERROR" AND (protoPayload.metadata.evaluationResult=DENIED OR protoPayload.metadata.dryRunEvaluationResult=DENIED) AND protoPayload.metadata.@type="type.googleapis.com/google.cloud.audit.ContextAwareAccessAuditMetadata" AND protoPayload.metadata.deniedApplications.name="CLOUD_PLATFORM"
Consultez les journaux dans la section Résultats de la requête.
gcloud
Pour afficher les journaux à l'aide de gcloud CLI, exécutez une commande semblable à celle-ci:
gcloud logging read 'severity="ERROR" AND
(protoPayload.metadata.evaluationResult=DENIED OR protoPayload.metadata.dryRunEvaluationResult=DENIED) AND
protoPayload.metadata.@type="type.googleapis.com/google.cloud.audit.ContextAwareAccessAuditMetadata" AND
protoPayload.metadata.deniedApplications.name="CLOUD_PLATFORM"'
Gérer les liaisons d'accès
Une fois les liaisons d'accès créées pour un groupe d'utilisateurs, l'accès à la console Google Cloud et aux API Google Cloud est contrôlé en fonction de la satisfaction du niveau d'accès lié.
Vous pouvez afficher les détails de la liaison d'accès que vous avez créée, la modifier ou la supprimer.
Afficher les liaisons d'accès
Console
Vous pouvez afficher toutes les liaisons d'accès de l'organisation et en afficher les détails.
gcloud
Pour afficher toutes les liaisons d'accès, exécutez la commande suivante:
gcloud access-context-manager cloud-bindings list \ --organization ORG_ID
Où :
ORG_ID
est l'ID de l'organisation que vous avez utilisée lors de la création du rôleGcpAccessAdmin
. Si la propriétéaccess-context-manager/organization
n'a pas été définie, remplacezORG_ID
dans l'option facultative--organization
par l'ID de l'organisation que vous avez utilisée lors de la création du rôleGcpAccessAdmin
.Pour afficher les détails d'une liaison d'accès, exécutez la commande suivante:
gcloud access-context-manager cloud-bindings describe \ --binding=BINDING_ID
Où :
BINDING_ID
est l'ID de la liaison d'accès ou l'identifiant complet de la liaison d'accès.
API
Affichez toutes les liaisons d'accès:
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants:
-
ORG_ID
est l'ID de l'organisation que vous avez utilisée lors de la création du rôleGcpAccessAdmin
. Si la propriétéaccess-context-manager/organization
n'a pas été définie, remplacezORG_ID
dans l'option facultative--organization
par l'ID de l'organisation que vous avez utilisée lors de la création du rôleGcpAccessAdmin
.
Méthode HTTP et URL :
GET https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings"PowerShell
exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings" | Select-Object -Expand ContentVous devriez recevoir une réponse JSON de ce type :
{ "name": string, "groupKey": string, "accessLevels": [ string ] "dryRunAccessLevels": [ string ] }
-
Affichez les détails d'une liaison d'accès:
Méthode HTTP et URL :
GET https://accesscontextmanager.googleapis.com/v1/BINDING_ID
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://accesscontextmanager.googleapis.com/v1/BINDING_ID"PowerShell
exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://accesscontextmanager.googleapis.com/v1/BINDING_ID" | Select-Object -Expand ContentVous devriez recevoir une réponse JSON de ce type :
{ "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l", "groupKey": "045jfvxd0ybeul8", "accessLevels": [ "accessPolicies/305009197125/accessLevels/device_lock" ], "dryRunAccessLevels": [ "accessPolicies/305009197125/accessLevels/another" ] }
Mettre à jour les liaisons d'accès
Console
Vous pouvez mettre à jour une liaison d'accès si nécessaire.
gcloud
Pour mettre à jour une liaison d'accès, par exemple pour modifier le niveau d'accès, exécutez la commande suivante:
gcloud access-context-manager cloud-bindings update \ --binding ACCESS_BINDING \ --level ACCESS_LEVEL
Où :
-
ACCESS_BINDING
est au formatorganizations/ORG_ID/gcpUserAccessBindings/ACCESS_BINDING_NAME
. -
ORG_ID
est l'ID de l'organisation que vous avez utilisée lors de la création du rôleGcpAccessAdmin
. -
ACCESS_BINDING_NAME
est la chaîne unique renvoyée pour l'identifiantname
lors de la création de la liaison d'accès. - Si nécessaire, remplacez la valeur pour ACCESS_LEVEL.
ACCESS_LEVEL
est au formataccessPolicies/
. Les valeurs dePOLICY_ID
/accessLevels/ACCESS_LEVEL_NAME
POLICY_ID
etACCESS_LEVEL_NAME
sont disponibles dans Access Context Manager à partir de la création du niveau d'accès.
-
Pour mettre à jour une liaison d'accès avec un niveau d'accès de simulation, exécutez la commande suivante:
gcloud access-context-manager cloud-bindings update --binding=ACCESS_BINDING --dry-run-level=DRY_RUN_ACCESS_LEVEL
Remplacez la valeur de
DRY_RUN_ACCESS_LEVEL
si nécessaire. Elle est au formataccessPolicies/
.POLICY_ID
/accessLevels/DRY_ACCESS_LEVEL_NAME
Pour mettre à jour une liaison d'accès, et modifier à la fois le niveau d'accès et le niveau d'accès de simulation, exécutez la commande suivante:
gcloud access-context-manager cloud-bindings update --binding=ACCESS_BINDING --level=`ACCESS_LEVEL` --dry-run-level=DRY_RUN_ACCESS_LEVEL
Remplacez les valeurs des champs
ACCESS_LEVEL
etDRY_RUN_ACCESS_LEVEL
si nécessaire.ACCESS_LEVEL
etDRY_RUN_ACCESS_LEVEL
sont au formataccessPolicies/
, etPOLICY_ID
/accessLevels/ACCESS_LEVEL_NAME
DRY_RUN_ACCESS_LEVEL
est identique àACCESS_LEVEL
.Pour supprimer un niveau de simulation de simulation d'accès, exécutez la commande suivante:
gcloud access-context-manager cloud-bindings update --binding=ACCESS_BINDING --dry-run-level=
API
Mettez à jour une liaison d'accès, par exemple pour modifier le niveau d'accès:
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants:
-
ACCESS_BINDING_NAME
est la chaîne unique renvoyée pour l'identifiantname
lors de la création de la liaison d'accès. -
ACCESS_LEVEL
est au formataccessPolicies/
. Les valeurs dePOLICY_ID
/accessLevels/ACCESS_LEVEL_NAME
POLICY_ID
etACCESS_LEVEL_NAME
sont disponibles dans Access Context Manager à partir de la création du niveau d'accès.
Méthode HTTP et URL :
PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=access_levels
Corps JSON de la requête :
{ "accessLevels": [ "ACCESS_LEVEL" ] }
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé
request.json
, puis exécutez la commande suivante:curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=access_levels"PowerShell
Enregistrez le corps de la requête dans un fichier nommé
request.json
, puis exécutez la commande suivante:$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=access_levels" | Select-Object -Expand ContentVous devriez recevoir une réponse JSON de ce type :
{ "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l", "groupKey": "045jfvxd0ybeul8", "accessLevels": [ "accessPolicies/305009197125/accessLevels/device_lock" ] }
-
Mettez à jour une liaison d'accès avec le niveau d'accès de simulation:
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants:
-
ACCESS_BINDING_NAME
est la chaîne unique renvoyée pour l'identifiantname
lors de la création de la liaison d'accès. -
DRY_RUN_ACCESS_LEVEL
est l'élémentACCESS_LEVEL
pour lequel vous souhaitez comprendre l'effet.ACCESS_LEVEL
est au formataccessPolicies/
. Les valeurs dePOLICY_ID
/accessLevels/ACCESS_LEVEL_NAME
POLICY_ID
etACCESS_LEVEL_NAME
sont disponibles dans Access Context Manager à partir de la création du niveau d'accès.
Méthode HTTP et URL :
PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=dry_run_access_levels
Corps JSON de la requête :
{ "dryRunAccessLevels": [ "DRY_RUN_ACCESS_LEVEL" ] }
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé
request.json
, puis exécutez la commande suivante:curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=dry_run_access_levels"PowerShell
Enregistrez le corps de la requête dans un fichier nommé
request.json
, puis exécutez la commande suivante:$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=dry_run_access_levels" | Select-Object -Expand ContentVous devriez recevoir une réponse JSON de ce type :
{ name: "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l", group_key: "045jfvxd0ybeul8", dry_run_access_levels: [ "accessPolicies/305009197125/accessLevels/another" ] }
-
Mettez à jour une liaison d'accès, et modifiez le niveau d'accès et le niveau d'accès de simulation:
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants:
-
ACCESS_BINDING_NAME
est la chaîne unique renvoyée pour l'identifiantname
lors de la création de la liaison d'accès. -
ACCESS_LEVEL
est au formataccessPolicies/
. Les valeurs dePOLICY_ID
/accessLevels/ACCESS_LEVEL_NAME
POLICY_ID
etACCESS_LEVEL_NAME
sont disponibles dans Access Context Manager à partir de la création du niveau d'accès. -
DRY_RUN_ACCESS_LEVEL
est l'élémentACCESS_LEVEL
pour lequel vous souhaitez comprendre l'effet.ACCESS_LEVEL
est au formataccessPolicies/
. Les valeurs dePOLICY_ID
/accessLevels/ACCESS_LEVEL_NAME
POLICY_ID
etACCESS_LEVEL_NAME
sont disponibles dans Access Context Manager à partir de la création du niveau d'accès.
Méthode HTTP et URL :
PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=access_levels,dry_run_access_levels
Corps JSON de la requête :
{ "accessLevels": [ "ACCESS_LEVEL" ], "dryRunAccessLevels": [ "DRY_RUN_ACCESS_LEVEL" ] }
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé
request.json
, puis exécutez la commande suivante:curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=access_levels,dry_run_access_levels"PowerShell
Enregistrez le corps de la requête dans un fichier nommé
request.json
, puis exécutez la commande suivante:$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=access_levels,dry_run_access_levels" | Select-Object -Expand ContentVous devriez recevoir une réponse JSON de ce type :
{ "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l", "groupKey": "045jfvxd0ybeul8", "accessLevels": [ "accessPolicies/305009197125/accessLevels/device_lock" ], "dryRunAccessLevels": [ "accessPolicies/305009197125/accessLevels/another" ] }
-
Supprimez un niveau d'accès de simulation d'une liaison d'accès:
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants:
-
ACCESS_BINDING_NAME
est la chaîne unique renvoyée pour l'identifiantname
lors de la création de la liaison d'accès.
Méthode HTTP et URL :
PATCH PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=dry_run_access_levels
Corps JSON de la requête :
{ "dryRunAccessLevels": [ ] }
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé
request.json
, puis exécutez la commande suivante:curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=dry_run_access_levels"PowerShell
Enregistrez le corps de la requête dans un fichier nommé
request.json
, puis exécutez la commande suivante:$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=dry_run_access_levels" | Select-Object -Expand ContentVous devriez recevoir un code d'état indiquant le succès de l'opération (2xx), ainsi qu'une réponse vide.
-
Supprimer les liaisons d'accès
Console
Vous pouvez supprimer une liaison d'accès si nécessaire.
gcloud
gcloud access-context-manager cloud-bindings delete \
--binding ACCESS_BINDING
Où :
-
ACCESS_BINDING
est au formatorganizations/ORG_ID/gcpUserAccessBindings/ACCESS_BINDING_NAME
. -
ACCESS_BINDING_NAME
est la chaîne unique renvoyée pour l'identifiantname
lors de la création de la liaison d'accès.
API
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants:
-
ACCESS_BINDING_NAME
est la chaîne unique renvoyée pour l'identifiantname
lors de la création de la liaison d'accès.
Méthode HTTP et URL :
DELETE https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
exécutez la commande suivante :
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME"
PowerShell
exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME" | Select-Object -Expand Content
Vous devriez recevoir un code d'état indiquant le succès de l'opération (2xx), ainsi qu'une réponse vide.
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.