Gérer les pools d'identités de charges de travail et les fournisseurs

Cette page explique comment gérer les pools d'identités de charge de travail et les fournisseurs d'identité qui leurs sont associés.

Vous pouvez gérer les pools et les fournisseurs à l'aide de l'outil de ligne de commande gcloud ou de l'API REST. L'utilisation de Cloud Console ou des bibliothèques clientes Google Cloud n'est pas disponible pour la version bêta.

Avant de commencer

Créez un pool d'identités de charge de travail et configurez un fournisseur d'identité. Pour savoir comment procéder, consultez l'une des pages suivantes :

Gérer les pools d'identités de charge de travail

Créer un pool

Pour créer un pool d'identités de charge de travail, procédez comme suit :

Répertorier les pools

Pour répertorier tous les pools d'identités de charge de travail d'un projet, procédez comme suit :

Commande gcloud

Exécutez la commande gcloud beta iam workload-identity-pools list.

API REST

Appelez projects.locations.workloadIdentityPools.list().

Obtenir un pool

Pour obtenir des détails sur un pool d'identité de charge de travail spécifique, procédez comme suit :

Mettre à jour un pool

Pour mettre à jour un pool d'identité de charge de travail existant, procédez comme suit :

Commande gcloud

Exécutez la commande gcloud beta iam workload-identity-pools update.

API REST

Appelez projects.locations.workloadIdentityPools.patch(). La méthode renvoie une opération, qui permet de renvoyer un objet.

Supprimer un pool

Pour supprimer un pool d'identités de charge de travail, procédez comme suit :

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.

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 :

Gérer les fournisseurs d'identité de charge de travail

Créer un fournisseur

Pour créer un fournisseur d'identité de charge de travail, procédez comme suit :

Commande gcloud

Exécutez la commande gcloud beta iam workload-identity-pools providers create-aws pour créer un fournisseur AWS.

Exécutez la commande gcloud beta iam workload-identity-pools providers create-oidc pour créer un fournisseur OIDC, y compris un fournisseur Microsoft Azure.

API REST

Appelez projects.locations.workloadIdentityPools.providers.create().

Répertorier les fournisseurs

Pour répertorier tous les fournisseurs d'identités de charge de travail d'un projet, procédez comme suit :

Obtenir un fournisseur

Pour obtenir des détails sur un fournisseur d'identité de charge de travail spécifique, procédez comme suit :

Mettre à jour un fournisseur

Pour mettre à jour un fournisseur d'identité de charge de travail existant, procédez comme suit :

Commande gcloud

Exécutez la commande gcloud beta iam workload-identity-pools providers update-aws pour mettre à jour un fournisseur AWS.

Exécutez la commande gcloud beta iam workload-identity-pools providers update-oidc pour mettre à jour un fournisseur OIDC, y compris un fournisseur Microsoft Azure.

API REST

Appelez projects.locations.workloadIdentityPools.providers.patch().

Supprimer un fournisseur

Pour supprimer un fournisseur d'identité de charge de travail, procédez comme suit :

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.

Annuler la suppression d'un pool

Vous pouvez récupérer un fournisseur d'identité de charge de travail supprimé pendant un maximum de 30 jours. Pour annuler la suppression d'un fournisseur, procédez comme suit :

Restreindre la configuration du fournisseur d'identité à l'aide de règles d'administration

Par défaut, tout utilisateur disposant du rôle "Administrateur de pool d'identité de charge de travail" (roles/iam.workloadIdentityPoolAdmin) peut configurer la fédération avec n'importe quel fournisseur d'identité compatible. Toutefois, en tant qu'administrateur de l'organisation, vous souhaitez peut-être n'autoriser l'accès aux ressources que depuis certains fournisseurs de confiance.

Vous pouvez limiter les fournisseurs d'identité autorisés à l'aide de règles d'administration. Dans Cloud Console ou à l'aide de l'outil de ligne de commande gcloud, activez la contrainte constraints/iam.workloadIdentityPoolProviders et spécifiez les URI des fournisseurs autorisés.

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 l'outil de ligne de commande gcloud :

gcloud beta resource-manager org-policies allow constraints/iam.workloadIdentityPoolProviders \
     https://sts.amazonaws.com --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 beta resource-manager org-policies allow constraints/iam.workloadIdentityPoolProviders \
     https://sts.windows.net/azure-tenant-id --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 :

  1. Créez un fichier YAML contenant les éléments suivants :

    constraint: constraints/iam.workloadIdentityPoolProviders
    listPolicy:
      allValues: DENY
    
  2. Transmettez le fichier à la commande gcloud beta resource-manager org-policies set-policy :

    gcloud beta resource-manager org-policies set-policy file-name.yaml \
        --organization=organization-number
    

Pour autoriser la fédération à partir de n'importe quel fournisseur, supprimez toutes les contraintes constraints/iam.workloadIdentityPoolProviders pour votre organisation.

Étapes suivantes