Cette page explique comment utiliser des groupes d'identité dans les règles d'entrée et de sortie pour autoriser l'accès aux ressources protégées par des périmètres de service.
Grâce à des règles d'entrée et de sortie, VPC Service Controls autorise l'accès vers et depuis des ressources et clients protégés par des périmètres de service. Pour affiner l'accès, vous pouvez spécifier des groupes d'identités dans vos règles d'entrée et de sortie.
Un groupe d'identités constitue un moyen pratique d'appliquer des contrôles d'accès à un ensemble d'utilisateurs. Il vous permet également de gérer les identités qui ont des stratégies d'accès similaires.
Pour configurer des groupes d'identités dans les règles d'entrée ou de sortie, vous pouvez utiliser les groupes d'identité compatibles suivants dans l'attribut identities :
- Groupe Google
Identités tierces telles que les utilisateurs de pools d'employés et les identités de charges de travail.
VPC Service Controls n'est pas compatible avec Workload Identity Federation for GKE.
Pour savoir comment appliquer des règles d'entrée et de sortie, consultez la section Configurer des règles d'entrée et de sortie.
Avant de commencer
- Assurez-vous de lire les règles d'entrée et de sortie.
Configurer des groupes d'identité dans les règles d'entrée
Console
Lorsque vous mettez à jour la règle d'entrée d'un périmètre de service ou définissez une règle d'entrée lors de la création d'un périmètre à l'aide de la console Google Cloud , vous pouvez configurer la règle d'entrée pour qu'elle utilise des groupes d'identités.
Lorsque vous créez ou modifiez un périmètre dans la console Google Cloud , sélectionnez Règle d'entrée.
Dans la section From de votre règle d'entrée, sélectionnez Sélectionner des identités et des groupes dans la liste Identités.
Cliquez sur Ajouter des identités.
Dans le volet Ajouter des identités, spécifiez un groupe Google ou une identité tierce à laquelle vous souhaitez accorder l'accès aux ressources du périmètre. Pour spécifier un groupe d'identités, utilisez le format indiqué dans Groupes d'identités compatibles.
Cliquez sur Ajouter des identités.
Cliquez sur Enregistrer.
Pour en savoir plus sur les autres attributs de règle d'entrée, consultez la documentation de référence sur les règles d'entrée.
gcloud
Vous pouvez configurer une règle d'entrée pour qu'elle utilise des groupes d'identités à l'aide d'un fichier JSON ou YAML. L'exemple suivant utilise le format YAML :
- ingressFrom:
identities:
- PRINCIPAL_IDENTIFIER
sources:
- resource: RESOURCE
*OR*
- accessLevel: ACCESS_LEVEL
ingressTo:
operations:
- serviceName: SERVICE_NAME
methodSelectors:
- method: METHOD_NAME
resources:
- projects/PROJECT_NUMBER
Remplacez les éléments suivants :
PRINCIPAL_IDENTIFIER: spécifiez un groupe Google ou une identité tierce à laquelle vous souhaitez accorder l'accès aux ressources du périmètre. Pour spécifier un groupe d'identités, utilisez le format indiqué dans Groupes d'identités compatibles.
Pour en savoir plus sur les autres attributs de règle d'entrée, consultez la documentation de référence sur les règles d'entrée.
Après avoir mis à jour une règle d'entrée existante pour configurer des groupes d'identités, vous devez mettre à jour les règles du périmètre de service :
gcloud access-context-manager perimeters update PERIMETER_ID --set-ingress-policies=RULE_POLICY.yaml
Remplacez les éléments suivants :
PERIMETER_ID: ID du périmètre de service que vous souhaitez mettre à jour.RULE_POLICY: chemin d'accès au fichier de règle d'entrée modifié.
Pour en savoir plus, consultez la section Mettre à jour les règles d'entrée et de sortie d'un périmètre de service.
Configurer des groupes d'identités dans les règles de sortie
Console
Lorsque vous mettez à jour la règle de sortie d'un périmètre de service ou définissez une règle de sortie lors de la création d'un périmètre à l'aide de la console Google Cloud , vous pouvez configurer la règle de sortie pour qu'elle utilise des groupes d'identités.
Lorsque vous créez ou modifiez un périmètre dans la console Google Cloud , sélectionnez Règle de sortie.
Dans la section From de votre règle de sortie, sélectionnez Sélectionner des identités et des groupes dans la liste Identités.
Cliquez sur Ajouter des identités.
Dans le volet Ajouter des identités, spécifiez un groupe Google ou une identité tierce pouvant accéder aux ressources spécifiées extérieures au périmètre. Pour spécifier un groupe d'identités, utilisez le format indiqué dans Groupes d'identités compatibles.
Cliquez sur Ajouter des identités.
Cliquez sur Enregistrer.
Pour en savoir plus sur les autres attributs de règle de sortie, consultez la documentation de référence sur les règles de sortie.
gcloud
Vous pouvez configurer une règle de sortie pour qu'elle utilise des groupes d'identités à l'aide d'un fichier JSON ou YAML. L'exemple suivant utilise le format YAML :
- egressTo:
operations:
- serviceName: SERVICE_NAME
methodSelectors:
- method: METHOD_NAME
resources:
- projects/PROJECT_NUMBER
egressFrom:
identities:
- PRINCIPAL_IDENTIFIER
Remplacez les éléments suivants :
PRINCIPAL_IDENTIFIER: spécifiez un groupe Google ou une identité tierce pouvant accéder aux ressources spécifiées extérieures au périmètre. Pour spécifier un groupe d'identités, utilisez le format indiqué dans Groupes d'identités compatibles.
Pour en savoir plus sur les autres attributs de règle de sortie, consultez la documentation de référence sur les règles de sortie.
Après avoir mis à jour une règle de sortie existante pour configurer des groupes d'identités, vous devez mettre à jour les règles du périmètre de service :
gcloud access-context-manager perimeters update PERIMETER_ID --set-egress-policies=RULE_POLICY.yaml
Remplacez les éléments suivants :
PERIMETER_ID: ID du périmètre de service que vous souhaitez mettre à jour.RULE_POLICY: chemin d'accès au fichier de règle de sortie modifié.
Pour en savoir plus, consultez la section Mettre à jour les règles d'entrée et de sortie d'un périmètre de service.
Groupes d'identités compatibles
VPC Service Controls est compatible avec les groupes d'identités suivants à partir des identifiants de compte principal de l'API IAM v1 :
| Type de compte principal | Identifiant |
|---|---|
| Groupe | group:GROUP_EMAIL_ADDRESS |
| Identité unique d'un pool d'identités d'employés. | principal://iam.googleapis.com/locations/global/workforcePools/POOL_ID/subject/SUBJECT_ATTRIBUTE_VALUE |
| Toutes les identités d'employés d'un groupe | principalSet://iam.googleapis.com/locations/global/workforcePools/POOL_ID/group/GROUP_ID |
| Toutes les identités d'employés porteuses d'une valeur d'attribut spécifique | principalSet://iam.googleapis.com/locations/global/workforcePools/POOL_ID/attribute.ATTRIBUTE_NAME/ATTRIBUTE_VALUE |
| Toutes les identités d'un pool d'identités d'employés | principalSet://iam.googleapis.com/locations/global/workforcePools/POOL_ID/* |
| Identité unique faisant partie d'un pool d'identités de charge de travail | principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT_ATTRIBUTE_VALUE |
| Groupe de pools d'identités de charge de travail | principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/group/GROUP_ID |
| Toutes les identités d'un pool d'identités de charge de travail avec un certain attribut | principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/attribute.ATTRIBUTE_NAME/ATTRIBUTE_VALUE |
| Toutes les identités d'un pool d'identités de charge de travail | principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/* |
Pour en savoir plus sur ces identités, consultez Identifiants de compte principal pour les règles d'autorisation.
Limites
- Avant d'utiliser des groupes d'identités, renseignez-vous sur les fonctionnalités non compatibles dans les règles d'entrée et de sortie.
- Lorsque vous utilisez des groupes d'identités dans une règle de sortie, vous ne pouvez pas définir le champ
resourcesde l'attributegressTosur"*". - Vous ne pouvez pas utiliser d'identité de charge de travail dans les règles d'entrée et de sortie pour autoriser les opérations de l'interface Web Apache Airflow dans Cloud Composer. Toutefois, vous pouvez utiliser le type d'identité
ANY_IDENTITYdans les règles d'entrée et de sortie pour autoriser l'accès à toutes les identités, y compris les identités de charge de travail. Pour en savoir plus sur le type d'identitéANY_IDENTITY, consultez la section Règles d'entrée et de sortie. - Pour plus d'informations sur les limites des règles d'entrée et de sortie, consultez la page Quotas et limites.