Sécuriser la console Google Cloud et les API Google Cloud

Ce document explique comment sécuriser l'accès à la console Google Cloud les API Google Cloud à l'aide de règles basées sur le contexte.

Accès contextuel pour la console Google Cloud et les API Google Cloud restreint l'accès à la console Google Cloud et aux API Google Cloud avec des règles basées sur le contexte. Ce service fait partie de Chrome Enterprise Premium et permet vous assurer que les individus et les groupes de votre organisation respectent les définies par l'utilisateur puissent accéder à la console Google Cloud, aux API Google Cloud (y compris l'accès depuis la Google Cloud CLI).

Pour sécuriser la console Google Cloud et les API Google Cloud, suivez les en suivant les étapes ci-dessous:

  1. [Facultatif] Déployez la validation des points de terminaison sur les appareils de votre organisation.
  2. Créez un niveau d'accès dans Access Context Manager.
  3. Créez un groupe d'utilisateurs soumis à des restrictions contextuelles.
  4. Obtenez les autorisations IAM (Identity and Access Management) requises.
  5. Créer une liaison d'accès qui applique des règles contextuelles pour la console Google Cloud et les API Google Cloud.

[Facultatif] Déployer la validation des points de terminaison

Si vous souhaitez sécuriser l'accès à la console Google Cloud API Google Cloud à l'aide des attributs d'appareil, Validation des points de terminaison sur les appareils de votre organisation.

Endpoint Verification s'exécute en tant qu'extension Chrome sur les ordinateurs de bureau et portables pour les utilisateurs. de macOS, Windows et Linux. Une peut la déployer aux appareils appartenant à l'entreprise depuis la console d'administration Google ou les membres de l’organisation peuvent l'installer elle-même.

Créer un niveau d'accès

Vous devez définir un niveau d'accès qui peut être utilisé pour déterminer l'accès à la console Google Cloud et aux API Google Cloud créer 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 dans ce qui sont également membres de votre organisation doivent disposer du niveau d'accès créé précédemment pour accéder à la console Google Cloud 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

  1. Accédez à la page IAM et administration de la console Google Cloud.

    Accéder à IAM et administration

  2. 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.
  3. Cliquez sur Enregistrer.

gcloud

  1. 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
    
  2. 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 les utilisateurs créés précédemment et le niveau d'accès Access Context Manager que vous définis 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 configuration de simulation. Avec la configuration de simulation, vous pouvez créer une liaison d'accès entre un 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 à la simulation.

Créer une liaison d'accès avec un niveau d'accès

Console

  1. Accédez à la page Chrome Enterprise Premium dans la console Google Cloud.

    Accéder à Chrome Enterprise Premium

  2. Choisissez une organisation et cliquez sur Sélectionner.

  3. Cliquez sur Gérer l'accès afin de choisir les groupes d'utilisateurs auxquels vous souhaitez accorder l'accès.

  4. 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.
  5. Cliquez sur Enregistrer.

gcloud

Pour en savoir plus sur ce point et sur d'autres, reportez-vous à la Google Cloud CLI gcloud access-context-manager cloud-bindings , y compris des options d'indicateur 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 qui que vous avez créée précédemment.

    Si vous n'avez pas l'ID du groupe, vous pouvez le récupérer en en appelant la méthode get ; sur la ressource Groups.

  • ORG_ID est l'ID de l'organisation que vous avez utilisé lors de la création du Rôle GcpAccessAdmin. Si la propriété access-context-manager/organization n'a pas été définie, remplacez ORG_ID dans le champ facultatif --organization. avec l'ID de l'organisation que vous avez utilisé lors de la création du Rôle GcpAccessAdmin.
  • POLICY_ID est l'ID de la règle d'accès de votre organisation.
  • ACCESS_LEVEL est au format accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME Les valeurs pour POLICY_ID et ACCESS_LEVEL_NAME se trouve dans Access Context Manager lorsque vous avez créé le 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é lors de la création du Rôle GcpAccessAdmin.
  • GROUP_ID est l'ID du groupe d'utilisateurs qui que vous avez créée précédemment.

    Si vous n'avez pas l'ID du groupe, vous pouvez le récupérer en en appelant la méthode get ; sur la ressource Groups.

  • POLICY_ID est l'ID de la règle d'accès de votre organisation.
  • ACCESS_LEVEL est au format accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME Les valeurs pour POLICY_ID et ACCESS_LEVEL_NAME se trouve dans Access Context Manager lorsque vous avez créé le 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 des niveaux d'accès dans votre environnement scénarios:

  • Pour évaluer l'impact d'un niveau d'accès avant de l'appliquer, créer une liaison d'accès avec un niveau d'accès de simulation.
  • Pour appliquer un niveau d'accès et évaluer l'impact d'un niveau d'accès de simulation en même temps, créez une liaison d'accès avec un niveau d'accès actif avec un niveau d'accès à la 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 du journal, consultez la 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 qui que vous avez créée précédemment.

    Si vous n'avez pas l'ID du groupe, vous pouvez le récupérer en en appelant la méthode get ; sur la ressource Groups.

  • ORG_ID est l'ID de l'organisation que vous avez utilisé lors de la création du Rôle GcpAccessAdmin. Si la propriété access-context-manager/organization n'a pas été définie, remplacez ORG_ID dans le champ facultatif --organization. avec l'ID de l'organisation que vous avez utilisé lors de la création du Rôle GcpAccessAdmin.
  • POLICY_ID est l'ID de la règle d'accès de votre organisation.
  • DRY_RUN_ACCESS_LEVEL est le ACCESS_LEVEL, que vous souhaitez connaître l'effet. ACCESS_LEVEL est au format accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME Les valeurs pour POLICY_ID et ACCESS_LEVEL_NAME se trouve dans Access Context Manager lorsque vous avez créé le 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é lors de la création du Rôle GcpAccessAdmin.
  • GROUP_ID est l'ID du groupe d'utilisateurs qui que vous avez créée précédemment.

    Si vous n'avez pas l'ID du groupe, vous pouvez le récupérer en en appelant la méthode get ; sur la ressource Groups.

  • POLICY_ID est l'ID de la règle d'accès de votre organisation.
  • DRY_RUN_ACCESS_LEVEL est le ACCESS_LEVEL, que vous souhaitez connaître l'effet. ACCESS_LEVEL est au format accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME Les valeurs pour POLICY_ID et ACCESS_LEVEL_NAME se trouve dans Access Context Manager lorsque vous avez créé le 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 d'accès 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 qui que vous avez créée précédemment.

    Si vous n'avez pas l'ID du groupe, vous pouvez le récupérer en en appelant la méthode get ; sur la ressource Groups.

  • ORG_ID est l'ID de l'organisation que vous avez utilisé lors de la création du Rôle GcpAccessAdmin. Si la propriété access-context-manager/organization n'a pas été définie, remplacez ORG_ID dans le champ facultatif --organization. avec l'ID de l'organisation que vous avez utilisé lors de la création du Rôle GcpAccessAdmin.
  • POLICY_ID est l'ID de la règle d'accès de votre organisation.
  • ACCESS_LEVEL est au format accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME Les valeurs pour POLICY_ID et ACCESS_LEVEL_NAME se trouve dans Access Context Manager lorsque vous avez créé le niveau d'accès.
  • DRY_RUN_ACCESS_LEVEL est le ACCESS_LEVEL, que vous souhaitez connaître l'effet. ACCESS_LEVEL est au format accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME Les valeurs pour POLICY_ID et ACCESS_LEVEL_NAME se trouve dans Access Context Manager lorsque vous avez créé le 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é lors de la création du Rôle GcpAccessAdmin.
  • GROUP_ID est l'ID du groupe d'utilisateurs qui que vous avez créée précédemment.

    Si vous n'avez pas l'ID du groupe, vous pouvez le récupérer en en appelant la méthode get ; sur la ressource Groups.

  • POLICY_ID est l'ID de la règle d'accès de votre organisation.
  • ACCESS_LEVEL est au format accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME Les valeurs pour POLICY_ID et ACCESS_LEVEL_NAME se trouve dans Access Context Manager lorsque vous avez créé le niveau d'accès.
  • DRY_RUN_ACCESS_LEVEL est le ACCESS_LEVEL, que vous souhaitez connaître l'effet. ACCESS_LEVEL est au format accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME Les valeurs pour POLICY_ID et ACCESS_LEVEL_NAME se trouve dans Access Context Manager lorsque vous avez créé le 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 où la configuration de dry run refuse l'accès.

Le tableau suivant répertorie les champs de journal que vous pouvez utiliser pour créer et exécuter les pour obtenir les journaux:

Nom du champ Description
protoPayload > authenticationInfo > principalEmail ID d'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 de l'évaluation de la stratégie d'accès actif. Valeurs possibles: GRANTED ou DENIED.
protoPayload > metadata > appliedAccessLevels Niveaux d'accès appliqués requis par la stratégie d'accès actif.
protoPayload > metadata > appliedDryRunAccessLevels Niveaux d'accès appliqués requis par la règle d'accès de simulation.
protoPayload > metadata > dryRunEvaluationResult Le résultat de l'évaluation de la règle d'accès au dry run, qui indique la l'action prévue lorsque la règle d'accès est appliquée. Valeurs possibles: GRANTED ou DENIED.

Pour savoir comment créer une requête pour les journaux, consultez Langage de requête Logging

Console

  1. Dans le menu de navigation de la console Google Cloud, cliquez sur Journalisation, puis Cliquez sur Explorateur de journaux.

    Accéder à l'explorateur de journaux

  2. Dans le champ Requête, saisissez un filtre de requête semblable à celui-ci : 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"
    
  3. Affichez les journaux sous Résultats de la requête.

gcloud

Pour afficher les journaux à l'aide de la 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 les API Google Cloud sont contrôlées de satisfaction concernant le niveau d'accès limité.

Vous pouvez afficher les détails de la liaison d'accès que vous avez créée, la modifier ou le supprimer.

Afficher les liaisons d'accès

Console

Vous pouvez afficher toutes les liaisons d'accès de l'organisation et afficher les les détails d'une liaison d'accès.

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é lors de la création du Rôle GcpAccessAdmin. . Si la propriété access-context-manager/organization n'a pas été définie, remplacez ORG_ID dans le champ facultatif --organization. avec l'ID de l'organisation que vous avez utilisé lors de la création du Rôle GcpAccessAdmin.

  • 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é lors de la création du Rôle GcpAccessAdmin. Si la propriété access-context-manager/organization n'a pas été définie, remplacez ORG_ID dans le champ facultatif --organization. avec l'ID de l'organisation que vous avez utilisé lors de la création du Rôle GcpAccessAdmin.

    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 Content

    Vous 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 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"
      ]
    }
    
    

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 la commande suivante:

      gcloud access-context-manager cloud-bindings update \
         --binding ACCESS_BINDING \
         --level ACCESS_LEVEL
    

    Où :

    • ACCESS_BINDING est au format organizations/ORG_ID/gcpUserAccessBindings/ACCESS_BINDING_NAME.
    • ORG_ID est l'ID de l'organisation que vous avez utilisé lors de la création du Rôle GcpAccessAdmin.
    • ACCESS_BINDING_NAME est la chaîne unique renvoyée pour l'identifiant name lors de la création de la liaison d'accès.
    • Remplacez la valeur de ACCESS_LEVEL si nécessaire. ACCESS_LEVEL est au format accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME Les valeurs pour POLICY_ID et ACCESS_LEVEL_NAME se trouve dans Access Context Manager lorsque vous avez créé le 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. Elles se présentent sous la forme accessPolicies/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 l'accès au dry run 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 la valeur de ACCESS_LEVEL et DRY_RUN_ACCESS_LEVEL si nécessaire. ACCESS_LEVEL et DRY_RUN_ACCESS_LEVEL sont au format suivant : accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME et DRY_RUN_ACCESS_LEVEL est identique à ACCESS_LEVEL.

  • Pour supprimer un niveau d'accès de simulation d'une liaison 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'identifiant name lors de la création de la liaison d'accès.
    • ACCESS_LEVEL est au format accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME Les valeurs pour POLICY_ID et ACCESS_LEVEL_NAME se trouve dans Access Context Manager lorsque vous avez créé le 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 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"
        ]
    }
    
    

  • 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'identifiant name lors de la création de la liaison d'accès.
    • DRY_RUN_ACCESS_LEVEL est le ACCESS_LEVEL, que vous souhaitez connaître l'effet. ACCESS_LEVEL est au format accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME Les valeurs pour POLICY_ID et ACCESS_LEVEL_NAME se trouve dans Access Context Manager lorsque vous avez créé le 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 Content

    Vous 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" ]
      }
    
    

  • Mettre à jour une liaison d'accès, et modifier à la fois le niveau d'accès et l'accès au dry run niveau:

    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'identifiant name lors de la création de la liaison d'accès.
    • ACCESS_LEVEL est au format accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME Les valeurs pour POLICY_ID et ACCESS_LEVEL_NAME se trouve dans Access Context Manager lorsque vous avez créé le niveau d'accès.
    • DRY_RUN_ACCESS_LEVEL est le ACCESS_LEVEL, que vous souhaitez connaître l'effet. ACCESS_LEVEL est au format accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME Les valeurs pour POLICY_ID et ACCESS_LEVEL_NAME se trouve dans Access Context Manager lorsque vous avez créé le 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 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"
      ]
    }
    
    

  • 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'identifiant name 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 Content

    Vous 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 format organizations/ORG_ID/gcpUserAccessBindings/ACCESS_BINDING_NAME.
  • ACCESS_BINDING_NAME est la chaîne unique renvoyée pour l'identifiant name 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'identifiant name 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.

Étape suivante