Appliquer un accès basé sur les certificats pour un groupe d'utilisateurs

Cette page explique comment appliquer un accès basé sur les certificats (CBA) à l'aide de des stratégies d'accès contextuel basées sur un groupe d'utilisateurs.

Vous pouvez restreindre l'accès à tous les services Google Cloud en liant une Niveau d'accès CBA à un groupe d'utilisateurs auquel vous souhaitez restreindre l'accès. Ce s'applique à toutes les applications clientes qui appellent API. Ces applications incluent des applications propriétaires développées par Google, comme la console Google Cloud et la Google Cloud CLI, ainsi que des applications tierces. Vous pouvez éventuellement appliquer les restrictions à des applications clientes spécifiques ou exempter des applications spécifiques.

Avant de commencer

Assurez-vous d'avoir créé un niveau d'accès CBA. qui exige des certificats pour déterminer l'accès aux ressources.

Créer un groupe d'utilisateurs

Créez un groupe d'utilisateurs contenant les membres auxquels l'accès doit être accordé en fonction du niveau d'accès CBA.

Attribuer le rôle d'administrateur de liaisons d'accès au cloud

Attribuer le rôle Cloud Access Bindings (Administrateur de liaison d'accès au cloud) au groupe d'utilisateurs.

Assurez-vous de disposer des droits suffisants pour ajouter Autorisations IAM au niveau de l'organisation. Vous devez au minimum l'administrateur de l'organisation et les rôles Administrateur de liaisons d'accès cloud.

Console

  1. Dans la console, accédez à la page IAM.

    Accéder à IAM

  2. Dans l'onglet Autorisations, cliquez sur Accorder l'accès, puis configurez les éléments suivants:

    1. Nouveaux comptes principaux: spécifiez le groupe auquel vous souhaitez accorder le rôle de ressource.
    2. Dans l'option Sélectionner un rôle, sélectionnez Access Context Manager > Administrateur de liaisons d'accès cloud.
    3. Cliquez sur Enregistrer.

gcloud

  1. Connexion:

    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 auquel vous souhaitez attribuer le rôle.

Lier un niveau d'accès CBA à un groupe d'utilisateurs

Avec cette option de liaison, le niveau d'accès CBA s'applique à tous les comptes des applications pour le groupe d'utilisateurs que vous spécifiez.

  1. Dans la console, accédez à la page Chrome Enterprise Premium.

    Accéder à Chrome Enterprise Premium

  2. Choisissez une organisation, puis cliquez sur Sélectionner.

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

  4. Cliquez sur Ajouter, puis configurez les éléments suivants:

    1. Groupes de membres: spécifiez le groupe auquel vous souhaitez accorder l'accès. Toi ne peuvent sélectionner que des groupes qui ne sont pas déjà liés à un niveau d'accès.
    2. Sélectionner des niveaux d'accès: sélectionnez le niveau d'accès de la CBA à appliquer au groupe.
    3. Cliquez sur Enregistrer.

Lier un niveau d'accès CBA à un groupe d'utilisateurs et à des applications spécifiques

Dans certains cas d'utilisation, comme les applications compatibles avec les certificats clients, Lier un niveau d'accès CBA à un groupe d'utilisateurs peut être générales. Vous pouvez utiliser cette option pour appliquer des niveaux d'accès aux applications sont compatibles avec les certificats client.

L'exemple suivant associe un niveau d'accès CBA à la console Google Cloud, la gcloud CLI et l'application OAuth d'un utilisateur.

  1. Connectez-vous à la gcloud CLI.

    $ gcloud auth application-default login
    
  2. Créez un fichier policy_file.json.

    Vous pouvez spécifier des applications à l'aide de leur ID client OAuth. Pour indiquer à Google applications, utilisez le nom de l'application, par exemple Cloud Console pour console Google Cloud. Uniquement la console Google Cloud et Google Cloud SDK Les applications Google sont prises en charge.

    {
        "groupKey": "{GROUP_KEY}",
        "restricted_client_applications": [
            {"name": "Cloud Console"},
            {"name": "Google Cloud SDK"},
            {"client_id": "{CLIENT_ID}"}
        ],
        "accessLevels": [ "{LEVEL}" ],
    }
    
  3. Créez la liaison de niveau d'accès CBA.

    curl -X POST \
    -H "Authorization: Bearer `gcloud auth application-default print-access-token`" \
    -H "Content-Type: application/json" \
    -H "X-Goog-User-Project:PROJECT_ID" \
    -d @policy_file.json \
    https://accesscontextmanager.googleapis.com/v1/organizations/ORG-ID/gcpUserAccessBindings
    

    PROJECT_ID correspond à l'ID du projet Google Cloud et ORG-ID est l'ID de votre organisation.

  4. (Facultatif) Mettez à jour une liaison de niveau d'accès existante.

    $ curl -X PATCH \
    -H "Authorization: Bearer `gcloud auth application-default print-access-token`" \
    -H "Content-Type: application/json" \
    -H "X-Goog-User-Project:PROJECT_ID" \
    -d @policy_file.json \
    https://accesscontextmanager.googleapis.com/v1/POLICY_NAME?update_mask=restricted_client_applications
    

    PROJECT_ID correspond à l'ID du projet Google Cloud et POLICY_NAME est le nom de votre règle d'accès.

Exempter une application d'une liaison

Autre méthode pour appliquer un niveau d'accès à la CBA sans bloquer les applications clientes qui ne prennent pas en charge les certificats clients, c'est d'exempter ces applications .

Les étapes suivantes supposent que vous avez déjà a créé un niveau d'accès à la CBA qui exige des certificats pour déterminer l'accès aux ressources.

  1. Créez un niveau d'accès exempté en utilisant l'une des méthodes suivantes.

  2. Créez un fichier exemption_file.json.

    Vous devez sélectionner un groupe différent de celui utilisé dans Option Lier un niveau d'accès CBA à un groupe d'utilisateurs, car vous ne pouvez appliquer qu'une seule liaison à un groupe.

    {
        "groupKey": "{GROUP_KEY}",
        "restricted_client_applications": [
            {"client_id": "{CLIENT_ID}"}
        ],
        "accessLevels": [ "{LEVEL}" ],
    }
    
  3. Créez la règle de liaison d'exception.

    $ curl -X POST \
    -H "Authorization: Bearer `gcloud auth application-default print-access-token`" \
    -H "Content-Type: application/json" \
    -H "X-Goog-User-Project:PROJECT_ID" \
    -d @exemption_file.json \
    https://accesscontextmanager.googleapis.com/v1/organizations/ORG-ID/gcpUserAccessBindings
    

    PROJECT_ID correspond à l'ID du projet Google Cloud et ORG-ID est l'ID de votre organisation.