Cette page explique comment appliquer l'accès basé sur un certificat (CBA) à l'aide de règles d'accès contextuel basées sur un groupe d'utilisateurs.
Vous pouvez limiter l'accès à tous les Cloud de Confiance by S3NS services en liant un niveau d'accès CBA à un groupe d'utilisateurs. Cette restriction s'applique à toutes les applications clientes qui appellent Cloud de Confiance des API.
Vous pouvez également appliquer les restrictions à des applications clientes spécifiques ou exclure certaines applications. Les applications incluent à la fois des applications tierces
et des applications propriétaires créées par Google, telles que
Cloud Console pour la Cloud de Confiance console et Google Cloud SDK pour la
Google Cloud CLI.
Avant de commencer
Créez un niveau d'accès CBA qui nécessite 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
Attribuez le rôle d'administrateur de liaisons d'accès au cloud au groupe d'utilisateurs.
Vous devez disposer des droits suffisants pour ajouter des autorisations IAM au niveau de l'organisation. Vous devez au moins disposer des rôles d'administrateur de l'organisation et d'administrateur de liaisons d'accès au cloud.
Console
Dans la console, accédez à IAM.
Dans l'onglet Autorisations, cliquez sur Accorder l'accès, puis configurez les éléments suivants :
- Nouveaux comptes principaux : spécifiez le groupe auquel vous souhaitez accorder le rôle.
- Pour l'option Sélectionner un rôle, sélectionnez Access Context Manager > Administrateur de la liaison d'accès cloud.
- Cliquez sur Enregistrer.
gcloud
Connectez-vous :
gcloud auth loginAttribuez le rôle
GcpAccessAdminen exécutant la commande suivante :gcloud organizations add-iam-policy-binding ORG_ID \ --member=user:EMAIL \ --role=roles/accesscontextmanager.gcpAccessAdminORG_IDest 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 listEMAILest l'adresse e-mail de la personne ou du groupe auquel vous souhaitez accorder le rôle.
Lier un niveau d'accès CBA à un groupe d'utilisateurs
Dans cette option de liaison, le niveau d'accès CBA s'applique à toutes les applications clientes du groupe d'utilisateurs que vous spécifiez.
Dans la console, accédez à la page Règles d'accès à la console et aux API :
Choisissez une organisation, puis cliquez sur Sélectionner.
Cliquez sur Gérer l'accès pour choisir les groupes d'utilisateurs auxquels vous souhaitez accorder l'accès.
Cliquez sur Ajouter, puis configurez les éléments suivants :
- Groupes de membres : spécifiez le groupe auquel vous souhaitez accorder l'accès. Vous ne pouvez sélectionner que des groupes qui ne sont pas déjà liés à un niveau d'accès.
- Sélectionner les niveaux d'accès : sélectionnez le niveau d'accès CBA à appliquer au groupe.
- Cliquez sur Enregistrer.
Lier un niveau d'accès CBA à un groupe d'utilisateurs et à des applications spécifiques
Dans certains cas d'utilisation, tels que les applications qui acceptent les certificats clients, la liaison d'un niveau d'accès CBA à un groupe d'utilisateurs peut être trop large. Vous pouvez utiliser cette option pour appliquer des niveaux d'accès CBA aux applications qui acceptent les certificats clients.
L'exemple suivant lie un niveau d'accès CBA à la Cloud de Confiance console, la gcloud CLI et à l'application OAuth d'un utilisateur.
Connectez-vous à la gcloud CLI.
gcloud auth application-default loginCréez un fichier
policy_file.yaml.Vous pouvez spécifier des applications à l'aide de leur ID client OAuth. Pour spécifier des applications Google, utilisez le nom de l'application, tel que
Cloud Consolepour la Cloud de Confiance console. Seules les applications Google Console et Google Cloud SDK sont compatibles. Cloud de ConfiancescopedAccessSettings: - scope: clientScope: restrictedClientApplication: name: Cloud Console activeSettings: accessLevels: - CBA_ACCESS_LEVEL - scope: clientScope: restrictedClientApplication: name: Google Cloud SDK activeSettings: accessLevels: - CBA_ACCESS_LEVEL - scope: clientScope: restrictedClientApplication: clientId: CLIENT_ID_1 activeSettings: accessLevels: - CBA_ACCESS_LEVELRemplacez les éléments suivants :
- CLIENT_ID_1 : ID client OAuth
- CBA_ACCESS_LEVEL : nom de niveau d'accès CBA au format
accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME
Créez la liaison de niveau d'accès CBA.
gcloud access-context-manager cloud-bindings create \ --group-key='GROUP_KEY' \ --organization='ORG_ID' \ --binding-file=policy_file.yamlRemplacez les éléments suivants :
GROUP_KEY: ID de groupe uniqueORG_ID: ID de l'organisation
gcloud
Vous pouvez utiliser l'ID de groupe unique comme GROUP_KEY. Pour obtenir l'ID de groupe unique, utilisez la commande suivante :
gcloud identity groups describe EMAILRemplacez EMAIL par l'adresse e-mail de votre groupe. L'ID de groupe unique est la valeur renvoyée après
/dans le nom du groupe. Par exemple, l'ID de groupe unique dansgroups/01gf8i8311xalqgest01gf8i8311xalqg.REST
Vous pouvez utiliser l'ID de groupe unique comme GROUP_KEY. Pour obtenir l' ID de groupe unique à l'aide de l'API REST, vous pouvez le récupérer en appelant la méthode
getsur la ressource de groupe. L'ID de groupe unique est renvoyé dans le champidde la ressource de groupe.Facultatif : Mettez à jour une liaison de niveau d'accès existante.
gcloud access-context-manager cloud-bindings update \ --binding='BINDING_NAME' \ --binding-file=policy_file.yamlRemplacez BINDING_NAME par le nom de liaison généré automatiquement lors de la création de la liaison.
Exclure une application d'une liaison
Une autre façon d'appliquer un niveau d'accès CBA sans bloquer les applications clientes qui n'acceptent pas les certificats clients consiste à exclure ces applications de la règle.
Les étapes suivantes supposent que vous avez déjà créé un niveau d'accès CBA qui nécessite des certificats pour déterminer l'accès aux ressources.
Créez un niveau d'accès d'exemption à l'aide de l'une des méthodes suivantes.
- Niveau d'accès personnalisé:
Fournissez
truecomme valeur dans la condition d'expression CEL. - Niveau d'accès de base:
Créez un
niveau d'accès basé sur une plage d'adresses IP
en fournissant les sous-réseaux IP
0.0.0.0/0et::/0, qui correspondent respectivement à IPv4 et IPv6.
- Niveau d'accès personnalisé:
Fournissez
Créez un fichier
exemption_file.yaml.scopedAccessSettings: - scope: clientScope: restrictedClientApplication: clientId: CLIENT_ID_2 activeSettings: accessLevels: - EXEMPT_ACCESS_LEVEL - scope: clientScope: restrictedClientApplication: name: APPLICATION_NAME_2 activeSettings: accessLevels: - EXEMPT_ACCESS_LEVELRemplacez les éléments suivants :
- CLIENT_ID_2 : ID client OAuth
- APPLICATION_NAME_2 : nom de l'application
- EXEMPT_ACCESS_LEVEL : nom de niveau d'accès d'exemption au
format
accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME
Créez la règle de liaison d'exemption.
gcloud access-context-manager cloud-bindings create \ --group-key='GROUP_KEY' \ --organization='ORG_ID' \ --binding-file=exemption_file.yamlRemplacez les éléments suivants :
- GROUP_KEY : ID de groupe unique
- ORG_ID : ID de l'organisation