Cette page explique comment gérer les pools d'identités de charge de travail existants et leurs fournisseurs d'identité.
Vous pouvez gérer les pools et les fournisseurs à l'aide de la console Google Cloud, de Google Cloud CLI ou de l'API REST.
Avant de commencer
Créez un pool d'identités de charge de travail. Pour savoir comment procéder, consultez l'une des pages suivantes :
- Accéder aux ressources d'AWS
- Accéder aux ressources de Microsoft Azure
- Accéder aux ressources depuis un fournisseur d'identité OIDC
- Accéder aux ressources depuis un fournisseur d'identité SAML 2.0
Rôles requis
Pour obtenir les autorisations nécessaires pour gérer les pools et fournisseurs d'identités de charge de travail, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le projet :
- Pour afficher les pools et les fournisseurs : Lecteur IAM de pools d'identités de charge de travail (
roles/iam.workloadIdentityPoolViewer
) - Pour afficher, créer, mettre à jour et supprimer des pools et des fournisseurs : Administrateur IAM de pools d'identités de charge de travail (
roles/iam.workloadIdentityPoolAdmin
)
Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.
Ces rôles prédéfinis contiennent les autorisations requises pour gérer les pools et fournisseurs d'identités de charge de travail. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour gérer les pools et les fournisseurs d'identités de charge de travail :
-
Pour afficher les pools et fournisseurs d'identités de charge de travail :
-
iam.googleapis.com/workloadIdentityPoolProviders.get
-
iam.googleapis.com/workloadIdentityPoolProviders.list
-
iam.googleapis.com/workloadIdentityPools.get
-
iam.googleapis.com/workloadIdentityPools.list
-
-
-
Pour créer, mettre à jour et supprimer des pools et des fournisseurs :
-
iam.googleapis.com/workloadIdentityPoolProviders.create
-
iam.googleapis.com/workloadIdentityPoolProviders.delete
-
iam.googleapis.com/workloadIdentityPoolProviders.undelete
-
iam.googleapis.com/workloadIdentityPoolProviders.update
-
iam.googleapis.com/workloadIdentityPools.create
-
iam.googleapis.com/workloadIdentityPools.delete
-
iam.googleapis.com/workloadIdentityPools.undelete
-
iam.googleapis.com/workloadIdentityPools.update
-
-
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Gérer les pools d'identités de charge de travail
Cette section explique comment gérer les pools d'identités de charge de travail.
Créer des pools
Pour créer des pools d'identités de charge de travail dans un projet, procédez comme suit :
Console
Dans la console Google Cloud, accédez à la page Pools d'identités de charge de travail.
gcloud
Exécutez la commande gcloud iam workload-identity-pools create
.
REST
Répertorier les pools
Pour répertorier tous les pools d'identités de charge de travail d'un projet, procédez comme suit :
Console
Dans la console Google Cloud, accédez à la page Pools d'identités de charge de travail.
gcloud
Exécutez la commande gcloud iam workload-identity-pools list
.
REST
Obtenir un pool
Pour obtenir des détails sur un pool d'identités de charge de travail spécifique, procédez comme suit :
Console
Dans la console Google Cloud, accédez à la page Pools d'identités de charge de travail.
Recherchez le pool d'identités de charge de travail que vous souhaitez afficher, puis cliquez sur l'icône
Modifier. La console Google Cloud affiche les détails du pool d'identités de charge de travail.
gcloud
Exécutez la commande gcloud iam workload-identity-pools describe
.
REST
Mettre à jour un pool
Vous pouvez activer ou désactiver un pool d'identités de charge de travail. Vous pouvez également modifier son nom à afficher ou sa description.
Pour mettre à jour un pool d'identités de charge de travail existant, procédez comme suit :
Console
Dans la console Google Cloud, accédez à la page Pools d'identités de charge de travail.
Recherchez le pool d'identités de charge de travail que vous souhaitez modifier, puis cliquez sur l'icône
Modifier.Pour désactiver ou activer le pool d'identités de charge de travail, cliquez sur le bouton État, puis sur Désactiver ou Activer.
Pour modifier le nom à afficher, cliquez sur
Modifier à côté du nom à afficher. Modifiez le nom, puis cliquez sur Enregistrer.Pour modifier la description, utilisez gcloud CLI ou l'API REST.
gcloud
Exécutez la commande gcloud iam workload-identity-pools update
.
REST
Supprimer un pool
Lorsque vous supprimez un pool d'identités de charge de travail, vous supprimez également ses fournisseurs de pools d'identités de charge de travail. Par conséquent, les identités du pool perdent l'accès aux ressources Google Cloud.
Vous pouvez annuler la suppression d'un fournisseur pendant un maximum de 30 jours. Passé ce délai, la suppression est définitive. Vous ne pouvez pas réutiliser le nom d'un pool avant de le supprimer définitivement.
Pour supprimer un pool d'identités de charge de travail et ses fournisseurs d'identité, procédez comme suit :
Console
Dans la console Google Cloud, accédez à la page Pools d'identités de charge de travail.
Recherchez le pool d'identités de charge de travail que vous souhaitez supprimer, puis cliquez sur l'icône
Modifier.Cliquez sur
Supprimer le pool, puis sur Supprimer. Le pool d'identités de charge de travail et ses fournisseurs d'identité sont supprimés.
gcloud
Exécutez la commande gcloud iam workload-identity-pools delete
.
REST
Annuler la suppression d'un pool
Vous pouvez récupérer un pool d'identité de charge de travail supprimé pendant un maximum de 30 jours.
Pour annuler la suppression d'un pool, procédez comme suit :
Console
Dans la console Google Cloud, accédez à la page Pools d'identités de charge de travail.
Cliquez sur le bouton Afficher les pools et les fournisseurs supprimés.
Recherchez le pool d'identités de charge de travail dont vous souhaitez annuler la suppression, puis cliquez sur l'icône
Restaurer correspondante.Cliquez sur Restaurer. Le pool et ses fournisseurs sont restaurés.
gcloud
Exécutez la commande gcloud iam workload-identity-pools undelete
.
REST
Appelez projects.locations.workloadIdentityPools.undelete()
.
Gérer les fournisseurs de pools d'identités de charge de travail
Cette section explique comment gérer les fournisseurs de pools d'identités de charge de travail.
Créer un fournisseur
Pour créer un fournisseur de pool d'identité de charge de travail dans un pool d'identités de charge de travail existant, procédez comme suit :
Console
Dans la console Google Cloud, accédez à la page Pools d'identités de charge de travail.
Recherchez le pool d'identités de charge de travail auquel vous souhaitez ajouter un fournisseur, puis cliquez sur l'icône
Modifier correspondante.Cliquez sur
Ajouter un fournisseur.Sélectionnez le type de fournisseur à créer :
- AWS : fournisseur d'identité Amazon Web Services (AWS).
- OpenID Connect (OIDC) : fournisseur d'identité compatible OIDC. Comprend un fournisseur Microsoft Azure.
Attribuez un nom au fournisseur.
La console Google Cloud utilise ce nom pour créer l'ID du fournisseur. Pour modifier l'ID du fournisseur, cliquez sur Modifier. Vous ne pourrez pas modifier l'ID du fournisseur par la suite.
Renseignez les autres champs de votre fournisseur :
- AWS : saisissez l'identifiant de votre compte AWS.
- OIDC : saisissez l'URL de l'émetteur. Pour Azure, l'URL de l'émetteur utilise le format
https://sts.windows.net/AZURE_TENANT_ID
. Pour les autres fournisseurs, consultez la documentation du fournisseur.
Lorsque vous avez terminé, cliquez sur Continuer.
Pour configurer le mappage d'attributs, cliquez sur Modifier le mappage. Le mappage d'attributs vous permet d'utiliser les informations sur les identités externes pour accorder l'accès à un sous-ensemble de ces identités.
AWS : cette étape est facultative. vous pouvez utiliser le mappage par défaut.
Pour en savoir plus, consultez Paramètres du fournisseur d'identité pour AWS.
OIDC : Nous vous recommandons de mapper
google.subject
surassertion.sub
. Les autres mappages sont facultatifs.Pour en savoir plus, consultez Paramètres du fournisseur d'identité pour Azure ou Paramètres du fournisseur d'identité pour OIDC.
Facultatif : pour fournir une condition d'attribut spécifiant les identités pouvant s'authentifier, cliquez sur Ajouter une condition et saisissez une expression CEL (Common Expression Language) valide. Pour plus d'informations, consultez la section Conditions d'attribut.
Cliquez sur Enregistrer. Le fournisseur du pool d'identités de charge de travail est créé.
gcloud
Exécutez la commande gcloud iam workload-identity-pools providers create-aws
pour créer un fournisseur AWS.
Exécutez la commande gcloud iam workload-identity-pools providers create-oidc
pour créer un fournisseur OIDC, y compris un fournisseur Microsoft Azure.
REST
Appelez projects.locations.workloadIdentityPools.providers.create()
.
Répertorier les fournisseurs
Pour répertorier les fournisseurs de pools d'identités de charge de travail d'un projet, procédez comme suit :
Console
Dans la console Google Cloud, accédez à la page Pools d'identités de charge de travail.
Pour afficher les fournisseurs d'un pool d'identités de charge de travail, cliquez sur l'icône
Développer le nœud du pool.
gcloud
Exécutez la commande gcloud iam workload-identity-pools providers list
.
REST
Appelez projects.locations.workloadIdentityPools.providers.list()
.
Obtenir un fournisseur
Pour obtenir des détails sur un fournisseur de pool d'identité de charge de travail spécifique, procédez comme suit :
Console
Dans la console Google Cloud, accédez à la page Pools d'identités de charge de travail.
Recherchez le pool d'identités de charge de travail qui contient le fournisseur, puis cliquez sur l'icône
Développer le nœud pour le pool.Recherchez le fournisseur du pool d'identités de charge de travail que vous souhaitez afficher, puis cliquez sur l'icône
Modifier. La console Google Cloud affiche des informations détaillées sur le fournisseur.
gcloud
Exécutez la commande gcloud iam workload-identity-pools providers describe
.
REST
Appelez projects.locations.workloadIdentityPools.providers.get()
.
Mettre à jour un fournisseur
Vous pouvez activer ou désactiver un fournisseur de pools d'identités de charge de travail. Vous pouvez également mettre à jour les informations de son compte et son mappage d'attributs, ainsi que son nom et sa description à afficher.
Pour mettre à jour un fournisseur de pool d'identité de charge de travail existant, procédez comme suit :
Console
Dans la console Google Cloud, accédez à la page Pools d'identités de charge de travail.
Recherchez le pool d'identités de charge de travail qui contient le fournisseur, puis cliquez sur l'icône
Développer le nœud pour le pool.Recherchez le fournisseur du pool d'identités de charge de travail que vous souhaitez modifier, puis cliquez sur l'icône
Modifier.Modifiez les informations relatives au fournisseur, puis cliquez sur Enregistrer.
gcloud
Exécutez la commande gcloud iam workload-identity-pools providers update-aws
pour mettre à jour un fournisseur AWS.
Exécutez la commande gcloud iam workload-identity-pools providers update-oidc
pour mettre à jour un fournisseur OIDC, y compris un fournisseur Microsoft Azure.
REST
Appelez projects.locations.workloadIdentityPools.providers.patch()
.
Supprimer un fournisseur
Lorsque vous supprimez un fournisseur de pools d'identités de charge de travail, les identités du fournisseur perdent l'accès aux ressources Google Cloud.
Vous pouvez annuler la suppression d'un fournisseur pendant un maximum de 30 jours. Passé ce délai, la suppression est définitive. Vous ne pouvez pas réutiliser le nom d'un fournisseur avant de le supprimer définitivement.
Pour supprimer un fournisseur de pools d'identités de charge de travail, procédez comme suit :
Console
Dans la console Google Cloud, accédez à la page Pools d'identités de charge de travail.
Recherchez le pool d'identités de charge de travail contenant le fournisseur, puis cliquez sur l'icône
Modifier.Dans le volet Fournisseurs, recherchez le fournisseur que vous souhaitez supprimer, puis cliquez sur son icône
Supprimer.Cliquez sur Supprimer pour supprimer le fournisseur.
gcloud
Exécutez la commande gcloud iam workload-identity-pools providers delete
.
REST
Appelez projects.locations.workloadIdentityPools.providers.delete()
.
Annuler la suppression d'un fournisseur
Vous pouvez récupérer un fournisseur de pool d'identité de charge de travail supprimé pendant un maximum de 30 jours. Pour annuler la suppression d'un fournisseur, procédez comme suit :
Console
Dans la console Google Cloud, accédez à la page Pools d'identités de charge de travail.
Cliquez sur le bouton Afficher les pools et les fournisseurs supprimés.
Recherchez le pool d'identités de charge de travail qui contient le fournisseur, puis cliquez sur l'icône
Développer le nœud pour le pool.Recherchez le fournisseur dont vous souhaitez annuler la suppression, puis cliquez sur l'icône
Restaurer.Cliquez sur Restaurer. Le fournisseur est restauré.
gcloud
Exécutez la commande gcloud iam workload-identity-pools providers undelete
.
REST
Appelez projects.locations.workloadIdentityPools.providers.undelete()
.
Gérer les contraintes pour la fédération d'identité de charge de travail
Vous pouvez utiliser des contraintes relatives aux règles d'administration pour limiter l'utilisation des ressources de votre organisation Google Cloud.
Cette section décrit les contraintes recommandées lors de l'utilisation de la fédération d'identité de charge de travail.
Restreindre la configuration du fournisseur d'identité
En tant qu'administrateur de l'organisation, vous pouvez choisir les fournisseurs d'identité avec lesquels votre organisation est autorisée à fédérer.
Pour gérer les fournisseurs d'identité autorisés, activez la contrainte de liste constraints/iam.workloadIdentityPoolProviders
dans la règle d'administration de votre organisation. Cette contrainte spécifie les URI de l'émetteur des fournisseurs autorisés. Vous pouvez utiliser la console Google Cloud ou Google Cloud CLI pour activer cette contrainte.
Pour n'autoriser que la fédération depuis AWS, créez une seule contrainte avec l'URI https://sts.amazonaws.com
. L'exemple suivant montre comment créer cette contrainte à l'aide de gcloud CLI :
gcloud resource-manager org-policies allow constraints/iam.workloadIdentityPoolProviders \ https://sts.amazonaws.com --organization=ORGANIZATION_NUMBER
Vous pouvez également spécifier les ID des compte AWS ayant accès à vos ressources Google Cloud. Pour spécifier les ID de compte, utilisez la contrainte de liste constraints/iam.workloadIdentityPoolAwsAccounts
:
gcloud resource-manager org-policies allow constraints/iam.workloadIdentityPoolAwsAccounts \ ACCOUNT_ID --organization=ORGANIZATION_NUMBER
Pour autoriser la fédération depuis un seul fournisseur OIDC, créez une seule contrainte avec l'URI du fournisseur (issuer_uri
) autorisé. Par exemple, le code suivant n'autorise la fédération qu'à partir d'un locataire Azure spécifique :
gcloud resource-manager org-policies allow constraints/iam.workloadIdentityPoolProviders \ https://sts.windows.net/AZURE_TENANT_ID --organization=ORGANIZATION_NUMBER
La fédération depuis un fournisseur d'identité SAML est un cas particulier, car les clés publiques utilisées pour valider l'assertion sont fournies au moment de la configuration au lieu d'être récupérées directement à partir du fournisseur d'identité. Il est donc possible qu'un utilisateur malveillant tente d'importer un document de métadonnées SAML avec l'ID d'entité de votre fournisseur d'identité ou avec une clé publique qui lui permet d'accéder à la clé privée. Dans ce scénario, la restriction de la fédération par l'ID d'entité ne représente qu'une illusion de sécurité. C'est pourquoi nous vous conseillons vivement de ne créer que des pools d'identités de charge de travail autorisant la fédération avec SAML dans un projet Google Cloud géré de manière centralisée par votre organisation. Vous pouvez ensuite autoriser les identités externes de ce pool d'identités de charge de travail à accéder aux ressources de votre organisation.
Pour autoriser la fédération depuis des fournisseurs d'identité SAML, créez une contrainte autorisant le mot clé spécial KEY_UPLOAD
.
gcloud resource-manager org-policies allow constraints/iam.workloadIdentityPoolProviders \ KEY_UPLOAD --organization=ORGANIZATION_NUMBER
Vous pouvez répéter ces commandes pour autoriser la fédération depuis d'autres fournisseurs.
Pour bloquer la fédération depuis tous les fournisseurs, procédez comme suit :
Créez un fichier YAML contenant les éléments suivants :
constraint: constraints/iam.workloadIdentityPoolProviders listPolicy: allValues: DENY
Transmettez le fichier à la commande
gcloud resource-manager org-policies set-policy
:gcloud resource-manager org-policies set-policy FILE_NAME.yaml \ --organization=ORGANIZATION_NUMBER
Restreindre la création de clés de compte de service
La fédération d'identités de charge de travail vous permet d'accéder aux ressources Google Cloud en dehors de Google Cloud sans utiliser de clé de compte de service. Si vous n'utilisez jamais les clés de compte de service pour vous authentifier, vous pouvez réduire les risques en désactivant la création de clés.
Pour désactiver la création de clés de compte de service, appliquez la contrainte booléenne iam.disableServiceAccountKeyCreation
dans la règle d'administration de votre organisation. Vous pouvez également appliquer la contrainte booléenne iam.disableServiceAccountKeyUpload
, qui désactive l'importation de clés publiques pour des comptes de service.
Vous pouvez utiliser la console Google Cloud ou gcloud CLI pour activer ces contraintes. Par exemple, les commandes de gcloud CLI suivantes activent les deux contraintes :
gcloud resource-manager org-policies enable-enforce \ constraints/iam.disableServiceAccountKeyCreation \ --organization=ORGANIZATION_NUMBER gcloud resource-manager org-policies enable-enforce \ constraints/iam.disableServiceAccountKeyUpload \ --organization=ORGANIZATION_NUMBER
Surveiller la fédération d'identité de charge de travail
Vous pouvez utiliser les métriques Cloud Monitoring pour surveiller les événements d'authentification de vos pools d'identités de charge de travail et de vos fournisseurs. Pour obtenir la liste des métriques disponibles, consultez la section Métriques IAM.
Étape suivante
En savoir plus sur la fédération d'identité de charge de travail.