Ce guide explique comment configurer la fédération d'identité de personnel avec Microsoft Entra ID et gérer l'accès à Google Cloud. Les utilisateurs de l'identité Microsoft Entra ID peuvent ensuite accéder aux services Google Cloud compatibles avec la fédération d'identité de personnel.
Avant de commencer
- Assurez-vous de disposer d'une organisation Google Cloud déjà configurée.
-
After installing the Google Cloud CLI, configure the gcloud CLI to use your federated identity and then initialize it by running the following command:
gcloud init
- Dans Microsoft Entra ID, assurez-vous que les jetons d'identification sont activés pour le flux implicite. Pour en savoir plus, consultez [Activer le flux implicite](https://learn.microsoft.com/fr-fr/azure/active-directory-b2c/tutorial-register-applications#enable-id-token-implicit-grant).
- Pour la connexion, votre fournisseur d'identité doit fournir des informations d'authentification signées : les fournisseurs d'identité OIDC doivent fournir un jeton JWT, et les réponses du fournisseur d'identité SAML doivent être signées.
- Pour recevoir des informations importantes sur les modifications concernant votre organisation ou vos produits Google Cloud, vous devez fournir des contacts essentiels. Pour en savoir plus, consultez la Présentation de la fédération des identités des employés.
Rôles requis
Pour obtenir les autorisations nécessaires pour configurer la fédération des identités des employés, demandez à votre administrateur de vous attribuer le rôle IAM Administrateur de pools d'employés (roles/iam.workforcePoolAdmin
) sur l'organisation.
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.
Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.
Le rôle de base Propriétaire IAM (roles/owner
) inclut également les autorisations pour la fédération d'identité du personnel.
Les rôles de base ne doivent pas être attribués dans un environnement de production, mais ils peuvent être attribués dans un environnement de développement ou de test.
Créer un pool d'identités de personnel
Console
Pour créer le pool d'identités de personnel, procédez comme suit :
Dans la console Google Cloud, accédez à la page Pools d'identités de personnel :
Cliquez sur Créer un pool et procédez comme suit :
Dans le champ Nom, saisissez le nom à afficher du pool. L'ID du pool est automatiquement dérivé du nom au fur et à mesure de la saisie, et s'affiche sous le champ Nom. Vous pouvez modifier l'ID du pool en cliquant sur Modifier à côté de l'ID du pool.
Facultatif : Dans le champ Description, saisissez une description du pool.
La durée de la session est définie par défaut. Pour saisir une durée de session personnalisée, cliquez sur Modifier. La durée de la session détermine la durée pendant laquelle les jetons d'accès Google Cloud, les sessions de connexion à la console (fédération) et les sessions de connexion à gcloud CLI de ce pool de personnel sont valides. La durée doit être supérieure à 15 minutes (900 s) et inférieure à 12 heures (43 200 s). Si la durée de la session n'est pas définie, elle est définie par défaut sur une durée d'une heure (3 600 s).
Pour créer le pool à l'état "Activé", assurez-vous que le pool activé est activé.
Pour créer le pool d'identités de personnel, cliquez sur Suivant.
gcloud
Pour créer le pool d'identités de personnel, exécutez la commande suivante :
gcloud iam workforce-pools create WORKFORCE_POOL_ID \
--organization=ORGANIZATION_ID \
--display-name="DISPLAY_NAME" \
--description="DESCRIPTION" \
--session-duration=SESSION_DURATION \
--location=global
Remplacez les éléments suivants :
WORKFORCE_POOL_ID
: ID que vous choisissez pour représenter votre pool de personnel Google Cloud. Pour plus d'informations sur la mise en forme de l'ID, consultez la section Paramètres de requête dans la documentation de l'API.ORGANIZATION_ID
: ID d'organisation numérique de votre organisation Google Cloud.DISPLAY_NAME
: facultatif. Un nom à afficher pour votre pool d'identités d'employés.DESCRIPTION
: facultatif. Description du pool d'identités de personnelSESSION_DURATION
: facultatif. Durée de la session, qui détermine la durée pendant laquelle les jetons d'accès Google Cloud, les sessions de connexion à la console (fédération) et les sessions de connexion à gcloud CLI de ce pool de personnel sont valides. La durée doit être supérieure à 15 minutes (900 s) et inférieure à 12 heures (43 200 s). Si la durée de la session n'est pas définie, elle est définie par défaut sur une durée d'une heure (3 600 s).
Créer une application Microsoft Entra ID
Cette section décrit la procédure à suivre pour créer une application Microsoft Entra ID à l'aide du portail d'administration Microsoft Entra. Pour en savoir plus, consultez la section Qu'est-ce que l'authentification ?
Les pools d'identités de personnel sont compatibles avec la fédération avec les protocoles OIDC et SAML.
OIDC
Pour créer une inscription d'application Microsoft utilisant le protocole OIDC, procédez comme suit :
- Connectez-vous au portail administrateur Microsoft Entra.
- Accédez à Identité > Applications > Inscriptions d'applications.
Pour commencer à configurer l'inscription de l'application, procédez comme suit :
- Cliquez sur Nouvelle inscription.
- Entrez un nom pour l'application.
- Dans Types de comptes compatibles, sélectionnez une option.
Dans la section URI de redirection, dans la liste déroulante Sélectionner une plate-forme, sélectionnez Web. Dans le champ de texte, saisissez une URL de redirection. Vos utilisateurs sont redirigés vers cette URL après s'être connectés. Si vous configurez l'accès à la console (fédéré), utilisez le format d'URL suivant :
https://auth.cloud.google/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
Remplacez les éléments suivants :
WORKFORCE_POOL_ID
: ID du pool de nœuds de calcul que vous avez créé précédemment dans ce guide.WORKFORCE_PROVIDER_ID
: ID de fournisseur d'identité de personnel de votre choix, par exemple :azure-ad-oidc-provider
Pour plus d'informations sur la mise en forme de l'ID, consultez la section Paramètres de requête dans la documentation de l'API.
Pour créer l'inscription de l'application, cliquez sur Inscrire.
Facultatif. Pour configurer une revendication de groupe, procédez comme suit :
- Accédez à l'enregistrement de votre application Microsoft Entra ID.
- Cliquez sur Configuration du jeton.
- Cliquez sur Ajouter une revendication de groupe. Pour utiliser l'exemple de mappage d'attributs fourni plus loin dans ce guide, vous devez créer un attribut
department
personnalisé. - Sélectionnez les types de groupes à afficher. Pour en savoir plus, consultez la section Configurer les revendications facultatives des groupes.
SAML
Pour créer une application Microsoft qui utilise le protocole SAML, procédez comme suit :
- Connectez-vous au portail Microsoft Azure.
- Accédez à Azure Active Directory > Applications d'entreprise.
Pour commencer à configurer l'application d'entreprise, procédez comme suit :
- Cliquez sur Nouvelle application > Créer votre propre application.
- Entrez un nom pour l'application.
- Cliquez sur Créer.
- Accédez à Authentification unique > SAML.
Mettez à jour la configuration SAML de base comme suit :
Dans le champ Identifiant (ID d'entité), saisissez la valeur suivante :
https://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
Dans le champ URL de réponse (URL ACS - Assertion Consumer Service URL), saisissez une URL de redirection. Vos utilisateurs sont redirigés vers cette URL après s'être connectés. Si vous configurez l'accès à la console (fédéré), utilisez le format d'URL suivant :
https://auth.cloud.google/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
Remplacez les éléments suivants :
WORKFORCE_POOL_ID
: ID du pools d'identités de personnel que vous avez créé précédemment dans ce guide.WORKFORCE_PROVIDER_ID
: ID du fournisseur d'identités de personnel de votre choix (par exemple,azure-ad-oidc-provider
). Pour plus d'informations sur la mise en forme de l'ID, consultez la section Paramètres de requête dans la documentation de l'API.
Si vous souhaitez activer l'authentification initiée par le fournisseur d'identité, définissez le champ État du relais sur la valeur suivante :
https://console.cloud.google/
Pour enregistrer la configuration de l'application SAML, cliquez sur Enregistrer.
Pour configurer une revendication de groupe, procédez comme suit. Pour utiliser l'exemple de mappage d'attributs fourni plus loin dans ce guide, vous devez créer un attribut
department
personnalisé.- Accédez à votre application Microsoft Entra ID.
- Cliquez sur Single sign-on (Authentification unique).
- Dans la section Attributs et revendications, cliquez sur Modifier.
- Cliquez sur Ajouter une revendication de groupe.
- Sélectionnez le type de groupe à renvoyer. Pour en savoir plus, consultez Ajouter des revendications de groupe aux jetons pour les applications SAML à l'aide de la configuration SSO.
Créer le fournisseur de pools d'identités de personnel Microsoft Entra ID
Cette section explique comment créer un fournisseur de pools d'identités de personnel pour permettre aux utilisateurs de votre fournisseur d'identité d'accéder à Google Cloud. Vous pouvez configurer le fournisseur pour qu'il utilise le protocole OIDC ou SAML.
Créer un fournisseur de pools d'identités de personnel OIDC
Pour créer un fournisseur de pools d'identités de personnel pour votre intégration d'application Microsoft Entra ID, à l'aide du protocole OIDC, procédez comme suit:
Pour obtenir l'URI de l'émetteur pour votre application Microsoft Entra ID, procédez comme suit:
- Accédez à l'enregistrement de votre application Microsoft Entra ID.
- Cliquez sur Points de terminaison.
- Ouvrez le document de métadonnées OpenID Connect dans un nouvel onglet.
- Dans le fichier JSON, copiez la valeur de
issuer
.
Pour obtenir l'ID client de votre application Microsoft Entra ID, procédez comme suit:
- Accédez à l'enregistrement de votre application Microsoft Entra ID.
- Dans ID (client) d'application, copiez la valeur.
Pour créer un fournisseur de pools d'identités des employés OIDC pour la connexion basée sur le Web, procédez comme suit :
Console
Flux de code
Pour créer un fournisseur OIDC qui utilise un flux avec code d'autorisation pour la connexion basée sur le Web, procédez comme suit :
Pour obtenir le code secret du client Microsoft Entra ID, procédez comme suit:
Accédez à l'enregistrement de votre application Microsoft Entra ID.
Dans Certificats et codes secrets, cliquez sur l'onglet Codes secrets du client.
Pour ajouter un code secret du client, cliquez sur + Nouveau code secret du client.
Dans la boîte de dialogue Ajouter un code secret du client, saisissez les informations requises.
Pour créer le code secret du client, cliquez sur Ajouter.
Dans l'onglet Codes secrets du client, recherchez votre nouveau code secret.
Dans la colonne Valeur du nouveau code secret du client, cliquez sur content_copy Copier.
Pour créer un fournisseur OIDC utilisant le flux avec code d'autorisation dans la console Google Cloud, procédez comme suit :
Dans la console Google Cloud, accédez à la page Pools d'identités de personnel :
Dans le tableau Pools d'identités de personnel, sélectionnez le pool pour lequel vous souhaitez créer le fournisseur.
Dans le tableau Fournisseurs, cliquez sur Ajouter un fournisseur.
Dans Sélectionner un protocole, sélectionnez Open ID Connect (OIDC).
Dans Créer un fournisseur de pools, procédez comme suit :
- Dans Nom, saisissez un nom pour le fournisseur.
- Dans le champ Issuer (URL) (Émetteur (URL)), saisissez l'URI de l'émetteur. L'URI d'émetteur OIDC doit être dans un format d'URI valide et commencer par
https
. Exemple :https://example.com/oidc
. - Saisissez l'ID client, qui est l'ID client OIDC enregistré auprès de votre fournisseur d'identité OIDC. L'ID doit correspondre à la revendication
aud
du jeton JWT émis par votre fournisseur d'identité. - Pour créer un fournisseur activé, assurez-vous que l'option fournisseur activé est activée.
- Cliquez sur Continuer.
Dans Type de réponse, procédez comme suit : Le type de réponse n'est utilisé que pour un flux d'authentification unique basé sur le Web.
- Dans Type de réponse, sélectionnez Code.
- Dans Code secret du client, saisissez le code secret du client à partir de votre fournisseur d'identité.
Dans le champ Comportement des revendications d'assertion, sélectionnez l'une des options suivantes :
- Informations sur l'utilisateur et jeton d'ID
- Jeton d'ID uniquement
Cliquez sur Continuer.
Dans Configurer le fournisseur, vous pouvez configurer un mappage d'attributs et une condition d'attribut. Pour créer un mappage d'attributs, procédez comme suit : Vous pouvez indiquer le nom du champ du fournisseur d'identité ou une expression au format CEL qui renvoie une chaîne.
Obligatoire : dans OIDC 1, saisissez l'objet du fournisseur d'identité. Exemple :
assertion.sub
.Pour Microsoft Entra ID avec authentification OIDC, nous vous recommandons les mappages d'attributs suivants:
google.subject=assertion.sub, google.groups=assertion.groups, google.display_name=assertion.preferred_username
Cet exemple mappe les attributs IdP
subject
,groups
etpreferred_username
aux attributs Google Cloudgoogle.subject
,google.groups
etgoogle.display_name
, respectivement.Facultatif : pour ajouter des mappages d'attributs supplémentaires, procédez comme suit :
- Cliquez sur Ajouter un mappage.
- Dans Google n, où n est un nombre, saisissez l'une des clés compatibles avec Google Cloud.
- Dans le champ OIDC n correspondant, saisissez le nom du champ spécifique au fournisseur d'identité à mapper, au format CEL.
Pour créer une condition d'attribut, procédez comme suit :
- Cliquez sur Ajouter une condition :
- Dans Conditions d'attribut, saisissez une condition au format CEL. Par exemple, pour limiter l'attribut
ipaddr
à une certaine plage d'adresses IP, vous pouvez définir la conditionassertion.ipaddr.startsWith('98.11.12.')
.
Pour créer le fournisseur, cliquez sur Envoyer.
Flux implicite
Pour créer un fournisseur OIDC qui utilise un flux implicite pour la connexion basée sur le Web, procédez comme suit :
Dans la console Google Cloud, accédez à la page Pools d'identités de personnel :
Dans le tableau Pools d'identités de personnel, sélectionnez le pool pour lequel vous souhaitez créer le fournisseur.
Dans le tableau Fournisseurs, cliquez sur Ajouter un fournisseur.
Dans Sélectionner un protocole, sélectionnez Open ID Connect (OIDC).
Dans Créer un fournisseur de pools, procédez comme suit :
- Dans Nom, saisissez un nom pour le fournisseur.
- Dans le champ Issuer (URL) (Émetteur (URL)), saisissez l'URI de l'émetteur. L'URI d'émetteur OIDC doit être dans un format d'URI valide et commencer par
https
. Exemple :https://example.com/oidc
. - Saisissez l'ID client, qui est l'ID client OIDC enregistré auprès de votre fournisseur d'identité OIDC. L'ID doit correspondre à la revendication
aud
du jeton JWT émis par votre fournisseur d'identité. - Pour créer un fournisseur activé, assurez-vous que l'option fournisseur activé est activée.
- Cliquez sur Continuer.
Dans Type de réponse, procédez comme suit : Le type de réponse n'est utilisé que pour un flux d'authentification unique basé sur le Web.
- Dans Type de réponse, sélectionnez Jeton d'ID.
- Cliquez sur Continuer.
Dans Configurer le fournisseur, vous pouvez configurer un mappage d'attributs et une condition d'attribut. Pour créer un mappage d'attributs, procédez comme suit : Vous pouvez indiquer le nom du champ du fournisseur d'identité ou une expression au format CEL qui renvoie une chaîne.
Obligatoire : dans OIDC 1, saisissez l'objet du fournisseur d'identité. Exemple :
assertion.sub
.Pour Microsoft Entra ID avec authentification OIDC, nous vous recommandons les mappages d'attributs suivants:
google.subject=assertion.sub, google.groups=assertion.groups, google.display_name=assertion.preferred_username
Cet exemple mappe les attributs IdP
subject
,groups
etpreferred_username
aux attributs Google Cloudgoogle.subject
,google.groups
etgoogle.display_name
, respectivement.Facultatif : pour ajouter des mappages d'attributs supplémentaires, procédez comme suit :
- Cliquez sur Ajouter un mappage.
- Dans Google n, où n est un nombre, saisissez l'une des clés compatibles avec Google Cloud.
- Dans le champ OIDC n correspondant, saisissez le nom du champ spécifique au fournisseur d'identité à mapper, au format CEL.
Pour créer une condition d'attribut, procédez comme suit :
- Cliquez sur Ajouter une condition :
Dans Conditions d'attribut, saisissez une condition au format CEL. Par exemple, pour limiter l'attribut
ipaddr
à une certaine plage d'adresses IP, vous pouvez définir la conditionassertion.ipaddr.startsWith('98.11.12.')
.
Pour créer le fournisseur, cliquez sur Envoyer.
gcloud
Pour créer un fournisseur compatible avec le protocole OIDC, procédez comme suit :
Flux de code
Pour créer un fournisseur OIDC qui utilise un flux avec code d'autorisation pour la connexion basée sur le Web, procédez comme suit :
Dans votre application d'identité Microsoft Entra, pour obtenir le code secret de votre client, procédez comme suit:
Accédez à l'enregistrement de votre application Microsoft Entra ID.
Dans Certificats et codes secrets, cliquez sur l'onglet Codes secrets du client.
Pour ajouter un code secret du client, cliquez sur + Nouveau code secret du client.
Dans la boîte de dialogue Ajouter un code secret du client, saisissez les informations requises.
Pour créer le code secret du client, cliquez sur Ajouter.
Dans l'onglet Codes secrets du client, recherchez votre nouveau code secret.
Dans la colonne Valeur du nouveau code secret du client, cliquez sur content_copy Copier.
Dans la console Google Cloud, pour créer un fournisseur OIDC utilisant un flux de code, procédez comme suit :
gcloud iam workforce-pools providers create-oidc WORKFORCE_PROVIDER_ID \ --workforce-pool=WORKFORCE_POOL_ID \ --display-name="DISPLAY_NAME" \ --description="DESCRIPTION" \ --issuer-uri="ISSUER_URI" \ --client-id="OIDC_CLIENT_ID" \
--client-secret-value="OIDC_CLIENT_SECRET" \ --web-sso-response-type="code" \ --web-sso-assertion-claims-behavior="merge-user-info-over-id-token-claims" \ --web-sso-additional-scopes="WEB_SSO_ADDITIONAL_SCOPES" \ --attribute-mapping="ATTRIBUTE_MAPPING" \ --attribute-condition="ATTRIBUTE_CONDITION" \ --jwk-json-path="JWK_JSON_PATH" \ --location=globalRemplacez les éléments suivants :
WORKFORCE_PROVIDER_ID
: ID unique du fournisseur de pools d'identités des employés. Le préfixegcp-
est réservé et ne peut pas être utilisé dans un pool d'identités de personnel ni dans l'ID de fournisseur de pool d'identités de personnel.WORKFORCE_POOL_ID
: ID du pool d'identités des employés auquel connecter votre fournisseur d'identité.DISPLAY_NAME
: nom à afficher convivial et facultatif pour le fournisseur. Par exemple :idp-eu-employees
.DESCRIPTION
: description facultative du fournisseur de personnel. Par exemple :IdP for Partner Example Organization employees
.ISSUER_URI
: URI de l'émetteur OIDC, dans un format d'URI valide, commençant parhttps
. Exemple :https://example.com/oidc
. Remarque : Pour des raisons de sécurité,ISSUER_URI
doit utiliser le schéma HTTPS.OIDC_CLIENT_ID
: ID client OIDC enregistré auprès de votre fournisseur d'identité OIDC. L'ID doit correspondre à la revendicationaud
du JWT émis par votre fournisseur d'identité.OIDC_CLIENT_SECRET
: code secret du client OIDC.WEB_SSO_ADDITIONAL_SCOPES
: champs d'application supplémentaires facultatifs à envoyer au fournisseur d'identité OIDC pour la connexion basée sur le navigateur, via la console (fédération) ou via gcloud CLI.ATTRIBUTE_MAPPING
: mappage d'attributs. Pour Microsoft Entra ID avec authentification OIDC, nous vous recommandons les mappages d'attributs suivants:google.subject=assertion.sub, google.groups=assertion.groups, google.display_name=assertion.preferred_username
Cet exemple mappe les attributs IdP
subject
,groups
etpreferred_username
aux attributs Google Cloudgoogle.subject
,google.groups
etgoogle.display_name
, respectivement.ATTRIBUTE_CONDITION
: condition d'attribut. Par exemple, pour limiter l'attributipaddr
à une certaine plage d'adresses IP, vous pouvez définir la conditionassertion.ipaddr.startsWith('98.11.12.')
.JWK_JSON_PATH
: chemin d'accès facultatif aux JWK OIDC importées localement. Si ce paramètre n'est pas spécifié, Google Cloud utilise à la place le chemin/.well-known/openid-configuration
de votre IdP pour obtenir les JWK contenant les clés publiques. Pour en savoir plus sur les JWK OIDC importées localement, consultez la page Gérer les JWK OIDC.
locations/global/workforcePools/enterprise-example-organization-employees
.
Flux implicite
Pour créer un fournisseur OIDC qui utilise le flux implicite pour la connexion Web, procédez comme suit :
Pour activer le jeton d'ID dans votre application Microsoft Entra ID, procédez comme suit:
- Accédez à l'enregistrement de votre application Microsoft Entra ID.
- Dans Authentification, cochez la case Jeton d'ID.
- Cliquez sur Enregistrer.
Pour créer le fournisseur, exécutez la commande suivante :
gcloud iam workforce-pools providers create-oidc WORKFORCE_PROVIDER_ID \ --workforce-pool=WORKFORCE_POOL_ID \ --display-name="DISPLAY_NAME" \ --description="DESCRIPTION" \ --issuer-uri="ISSUER_URI" \ --client-id="OIDC_CLIENT_ID" \ --web-sso-response-type="id-token" \ --web-sso-assertion-claims-behavior="only-id-token-claims" \ --web-sso-additional-scopes="WEB_SSO_ADDITIONAL_SCOPES" \ --attribute-mapping="ATTRIBUTE_MAPPING" \ --attribute-condition="ATTRIBUTE_CONDITION" \ --jwk-json-path="JWK_JSON_PATH" \ --location=global
Remplacez les éléments suivants :
WORKFORCE_PROVIDER_ID
: ID unique du fournisseur de pools d'identités des employés. Le préfixegcp-
est réservé et ne peut pas être utilisé dans un pool d'identités de personnel ni dans l'ID de fournisseur de pool d'identités de personnel.WORKFORCE_POOL_ID
: ID du pool d'identités des employés auquel connecter votre fournisseur d'identité.DISPLAY_NAME
: nom à afficher convivial et facultatif pour le fournisseur. Par exemple :idp-eu-employees
.DESCRIPTION
: description facultative du fournisseur de personnel. Par exemple :IdP for Partner Example Organization employees
.ISSUER_URI
: URI de l'émetteur OIDC, dans un format d'URI valide, commençant parhttps
. Exemple :https://example.com/oidc
. Remarque : Pour des raisons de sécurité,ISSUER_URI
doit utiliser le schéma HTTPS.OIDC_CLIENT_ID
: ID client OIDC enregistré auprès de votre fournisseur d'identité OIDC. L'ID doit correspondre à la revendicationaud
du JWT émis par votre fournisseur d'identité.WEB_SSO_ADDITIONAL_SCOPES
: champs d'application supplémentaires facultatifs à envoyer au fournisseur d'identité OIDC pour la connexion basée sur le navigateur, via la console (fédération) ou via gcloud CLI.ATTRIBUTE_MAPPING
: mappage d'attributs. Pour Microsoft Entra ID avec authentification OIDC, nous vous recommandons les mappages d'attributs suivants:google.subject=assertion.sub, google.groups=assertion.groups, google.display_name=assertion.preferred_username
Cet exemple mappe les attributs IdP
subject
,groups
etpreferred_username
aux attributs Google Cloudgoogle.subject
,google.groups
etgoogle.display_name
, respectivement.ATTRIBUTE_CONDITION
: condition d'attribut. Par exemple, pour limiter l'attributipaddr
à une certaine plage d'adresses IP, vous pouvez définir la conditionassertion.ipaddr.startsWith('98.11.12.')
.JWK_JSON_PATH
: chemin d'accès facultatif aux JWK OIDC importées localement. Si ce paramètre n'est pas spécifié, Google Cloud utilise à la place le chemin/.well-known/openid-configuration
de votre IdP pour obtenir les JWK contenant les clés publiques. Pour en savoir plus sur les JWK OIDC importées localement, consultez la page Gérer les JWK OIDC.
locations/global/workforcePools/enterprise-example-organization-employees
.
Créer un fournisseur de pools d'identités de personnel SAML
Dans votre fournisseur d'identité SAML, enregistrez une nouvelle application pour la fédération d'identité de personnel Google Cloud.
Définissez la cible des assertions SAML. Il s'agit généralement du champ
SP Entity ID
de la configuration de votre fournisseur d'identité. Vous devez la définir sur l'URL suivante :https://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
Si vous envisagez de configurer l'accès des utilisateurs à la console, dans votre IdP SAML, définissez l'URL de redirection ou le champ d'URL ACS (Assertion Consumer Service) sur l'URL suivante :
https://auth.cloud.google/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
Pour en savoir plus sur la configuration de la connexion à la console, consultez la section Configurer l'accès utilisateur à la console.
Dans Google Cloud, créez un fournisseur de pools d'identités de personnel SAML en utilisant le document de métadonnées SAML de votre fournisseur d'identité. Vous pouvez télécharger le document XML des métadonnées SAML à partir de votre fournisseur d'identité. Ce document doit au moins inclure les éléments suivants:
- Un ID d'entité SAML pour votre fournisseur d'identité.
- L'URL d'authentification unique de votre fournisseur d'identité.
- Une ou plusieurs clés publiques de signature. Pour plus d'informations sur les clés de signature, consultez la section Exigences relatives aux clés plus loin dans le présent guide.
Console
Pour configurer le fournisseur SAML à l'aide de la console Google Cloud, procédez comme suit :
Dans la console Google Cloud, accédez à la page Pools d'identités de personnel :
Dans le tableau Pools d'identités de personnel, sélectionnez le pool pour lequel vous souhaitez créer le fournisseur.
Dans le tableau Fournisseurs, cliquez sur Ajouter un fournisseur.
Dans Sélectionner un protocole, sélectionnez SAML.
Dans Créer un fournisseur de pools, procédez comme suit :
Dans Nom, saisissez un nom pour le fournisseur.
Facultatif : Dans le champ Description, saisissez une description du fournisseur.
Dans Fichier de métadonnées IdP (XML), sélectionnez le fichier XML de métadonnées que vous avez généré précédemment dans ce guide.
Assurez-vous que l'option fournisseur activé est activée.
Cliquez sur Continuer.
Dans Configurer le fournisseur, procédez comme suit :
Dans Mappage des attributs, saisissez une expression CEL pour
google.subject
.Facultatif : Pour définir d'autres mappages, cliquez sur Ajouter un mappage et saisissez d'autres mappages. Par exemple :
Cet exemple mappe les attributs IdPgoogle.subject=assertion.subject, google.groups=assertion.attributes['https://example.com/aliases'], attribute.costcenter=assertion.attributes.costcenter[0]
assertion.subject
,assertion.attributes['https://example.com/aliases']
etassertion.attributes.costcenter[0]
sur les attributs Google Cloudgoogle.subject
,google.groups
etgoogle.costcenter
, respectivement.Facultatif : pour ajouter une condition d'attribut, cliquez sur Ajouter une condition, puis saisissez une expression CEL représentant une condition d'attribut. Par exemple, pour limiter l'attribut
ipaddr
à une certaine plage d'adresses IP, vous pouvez définir la conditionassertion.attributes.ipaddr.startsWith('98.11.12.')
. Cet exemple de condition garantit que seuls les utilisateurs dont l'adresse IP commence par98.11.12.
peuvent se connecter en utilisant ce fournisseur de personnel.Cliquez sur Continuer.
Pour créer le fournisseur, cliquez sur Envoyer.
gcloud
Pour enregistrer les métadonnées SAML de votre application Microsoft Entra ID, procédez comme suit:
- Accédez à votre application Microsoft Entra ID.
- Cliquez sur Single sign-on (Authentification unique).
- Dans la section Certificats SAML, téléchargez le XML de fédération de métadonnées.
- Enregistrez les métadonnées dans un fichier XML local.
Pour créer le fournisseur de pools d'identités de personnel SAML exécutez la commande suivante :
gcloud iam workforce-pools providers create-saml WORKFORCE_PROVIDER_ID \
--workforce-pool="WORKFORCE_POOL_ID" \
--display-name="DISPLAY_NAME" \
--description="DESCRIPTION" \
--idp-metadata-path="XML_METADATA_PATH" \
--attribute-mapping="ATTRIBUTE_MAPPING" \
--attribute-condition="ATTRIBUTE_CONDITION" \
--location=global
Remplacez les éléments suivants :
WORKFORCE_PROVIDER_ID
: ID du fournisseurWORKFORCE_POOL_ID
: ID du pool d'identités de personnelDISPLAY_NAME
: nom à afficherDESCRIPTION
: une descriptionXML_METADATA_PATH
: chemin d'accès au fichier de métadonnées au format XML avec les métadonnées de configuration du fournisseur d'identité SAMLATTRIBUTE_MAPPING
: mappage d'attributs. Exemple : Cet exemple mappe les attributs IdPgoogle.subject=assertion.subject, google.groups=assertion.attributes['https://example.com/aliases'], attribute.costcenter=assertion.attributes.costcenter[0]
assertion.subject
,assertion.attributes['https://example.com/aliases']
etassertion.attributes.costcenter[0]
sur les attributs Google Cloudgoogle.subject
,google.groups
etgoogle.costcenter
, respectivement.ATTRIBUTE_CONDITION
: condition d'attribut facultative. Par exemple, pour limiter l'attributipaddr
à une certaine plage d'adresses IP, vous pouvez définir la conditionassertion.attributes.ipaddr.startsWith('98.11.12.')
. Cet exemple de condition garantit que seuls les utilisateurs dont l'adresse IP commence par98.11.12.
peuvent se connecter en utilisant ce fournisseur de personnel.
Facultatif : accepter les assertions SAML chiffrées provenant de votre fournisseur d'identité
Pour permettre à votre fournisseur d'identité SAML 2.0 de produire des assertions SAML chiffrées pouvant être acceptées par la fédération des identités des employés, procédez comme suit :
- Dans la fédération des identités des employés, procédez comme suit :
- Créez une paire de clés asymétriques pour votre fournisseur de pools d'identités de personnel.
- Téléchargez un fichier de certificat contenant la clé publique.
- Configurez votre fournisseur d'identité SAML pour qu'il utilise la clé publique pour chiffrer les assertions SAML émises.
- Dans votre fournisseur d'identité, procédez comme suit :
- Activer le chiffrement des assertions, également appelé chiffrement de jeton.
- Importez la clé publique que vous avez créée dans la fédération des identités des employés.
- Vérifiez que votre fournisseur d'identité génère des assertions SAML chiffrées.
Créer des clés de chiffrement d'assertion SAML pour la fédération des identités des employés
Cette section vous guide dans la création d'une paire de clés asymétriques permettant à la fédération des identités des employés d'accepter les assertions SAML chiffrées.
Google Cloud utilise la clé privée pour déchiffrer les assertions SAML émises par votre fournisseur d'identité. Pour créer une paire de clés asymétriques à utiliser avec le chiffrement SAML, exécutez la commande suivante. Pour en savoir plus, consultez la page Algorithmes de chiffrement SAML compatibles.
gcloud iam workforce-pools providers keys create KEY_ID \ --workforce-pool WORKFORCE_POOL_ID \ --provider WORKFORCE_PROVIDER_ID \ --location global \ --use encryption \ --spec KEY_SPECIFICATION
Remplacez les éléments suivants :
KEY_ID
: nom de la clé de votre choixWORKFORCE_POOL_ID
: ID du poolWORKFORCE_PROVIDER_ID
: ID du fournisseur de pools d'identités des employés-
KEY_SPECIFICATION
: spécification de clé, qui peut êtrersa-2048
,rsa-3072
oursa-4096
.
Une fois la paire de clés créée, pour télécharger la clé publique dans un fichier de certificat, exécutez la commande suivante. Seule la fédération des identités des employés a accès à la clé privée.
gcloud iam workforce-pools providers keys describe KEY_ID \ --workforce-pool WORKFORCE_POOL_ID \ --provider WORKFORCE_PROVIDER_ID \ --location global \ --format "value(keyData.key)" \ > CERTIFICATE_PATH
Remplacez les éléments suivants :
KEY_ID
: nom de la cléWORKFORCE_POOL_ID
: ID du poolWORKFORCE_PROVIDER_ID
: ID du fournisseur de pools d'identités des employésCERTIFICATE_PATH
: chemin d'accès dans lequel écrire le certificat (par exemple,saml-certificate.cer
ousaml-certificate.pem
)
Configurer votre fournisseur d'identité compatible avec SAML 2.0 pour émettre des assertions SAML chiffrées
Pour configurer Microsoft Entra ID pour chiffrer les jetons SAML, consultez la page Configurer le chiffrement des jetons SAML Azure Active Directory.
Après avoir configuré votre fournisseur d'identité pour chiffrer les assertions SAML, nous vous recommandons de vérifier que les assertions générées sont bien chiffrées. Même si le chiffrement des assertions SAML est configuré, la fédération des identités des employés peut toujours traiter les assertions en texte brut.
Supprimer des clés de chiffrement de fédération des identités des employés
Pour supprimer les clés de chiffrement SAML, exécutez la commande suivante :gcloud iam workforce-pools providers keys delete KEY_ID \ --workforce-pool WORKFORCE_POOL_ID \ --provider WORKFORCE_PROVIDER_ID \ --location global
Remplacez les éléments suivants :
KEY_ID
: nom de la cléWORKFORCE_POOL_ID
: ID du poolWORKFORCE_PROVIDER_ID
: ID du fournisseur de pools d'identités des employés
Algorithmes de chiffrement SAML compatibles
La fédération des identités des employés est compatible avec les algorithmes de transport de clés suivants :
- http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p
- http://www.w3.org/2009/xmlenc11#rsa-oaep"
- http://www.w3.org/2001/04/xmlenc#rsa-1_5"
La fédération des identités des employés est compatible avec les algorithmes de chiffrement de bloc suivants :
Gérer l'accès aux ressources Google Cloud
Cette section fournit un exemple qui montre comment gérer l'accès aux ressources Google Cloud par les utilisateurs de la fédération d'identité de personnel.
Dans cet exemple, vous accordez un rôle IAM (Identity and Access Management) sur un exemple de projet. Les utilisateurs peuvent ensuite se connecter et utiliser ce projet pour accéder aux produits Google Cloud.
Vous pouvez gérer les rôles IAM pour des identités uniques, un groupe d'identités ou un pool entier. Pour en savoir plus, consultez la page Représenter les utilisateurs de pools d'identités de personnel dans les stratégies IAM.
Pour une identité unique
Pour accorder le rôle Administrateur de l'espace de stockage (roles/storage.admin
) à une seule identité pour le projet TEST_PROJECT_ID
, exécutez la commande suivante :
gcloud projects add-iam-policy-binding TEST_PROJECT_ID \
--role="roles/storage.admin" \
--member="principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/subject/SUBJECT_VALUE"
Remplacez les éléments suivants :
TEST_PROJECT_ID
: ID du projetWORKFORCE_POOL_ID
: ID du pool d'identités de personnelSUBJECT_VALUE
: identité de l'utilisateur
Utiliser l'attribut de service mappé
Pour accorder le rôle Administrateur de l'espace de stockage (roles/storage.admin
) à toutes les identités d'un service spécifique pour le projet TEST_PROJECT_ID
, exécutez la commande suivante :
gcloud projects add-iam-policy-binding TEST_PROJECT_ID \
--role="roles/storage.admin" \
--member="principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/attribute.department/DEPARTMENT_VALUE"
Remplacez les éléments suivants :
TEST_PROJECT_ID
: ID du projetWORKFORCE_POOL_ID
: ID du pool d'identités de personnelDEPARTMENT_VALUE
: valeurattribute.department
mappée
Utiliser des groupes mappés
Pour accorder le rôle Administrateur de l'espace de stockage (roles/storage.admin
) à toutes les identités du groupe GROUP_ID
pour le projet TEST_PROJECT_ID
, exécutez la commande suivante :
gcloud projects add-iam-policy-binding TEST_PROJECT_ID \
--role="roles/storage.admin" \
--member="principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID"
Remplacez les éléments suivants :
TEST_PROJECT_ID
: ID du projetWORKFORCE_POOL_ID
: ID du pool d'identités de personnelGROUP_ID
: groupe de la revendicationgoogle.groups
mappée
Se connecter et tester l'accès
Dans cette section, vous vous connectez en tant qu'utilisateur de pool d'identités de personnel et vérifiez que vous avez accès à un produit Google Cloud.
Connexion
Cette section explique comment se connecter en tant qu'utilisateur fédéré et accéder aux ressources Google Cloud.
Connexion à la console (fédéré)
Pour vous connecter à la console de fédération des identités des employés Google Cloud, également appelée console (fédérée), procédez comme suit :
-
Accédez à la page de connexion de la console (fédéré).
-
Saisissez le nom du fournisseur, en respectant le format suivant :
locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
- Saisissez les identifiants utilisateur dans Microsoft Entra ID, si vous y êtes invité.
Connexion à gcloud CLI depuis un navigateur
Pour vous connecter à gcloud CLI à l'aide d'un flux de connexion basé sur un navigateur, procédez comme suit :
Créer un fichier de configuration
Pour créer le fichier de configuration de connexion, exécutez la commande suivante. Vous pouvez éventuellement définir par défaut l'activation du fichier pour gcloud CLI à l'aide de l'option --activate
.
gcloud iam workforce-pools create-login-config \ locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID \ --output-file=LOGIN_CONFIG_FILE
Remplacez les éléments suivants :
-
WORKFORCE_POOL_ID
: ID du pool d'identités de personnel -
WORKFORCE_PROVIDER_ID
: ID du fournisseur de pools d'identités des employés LOGIN_CONFIG_FILE
: chemin d'accès au fichier de configuration de connexion que vous spécifiez, par exemplelogin.json
Le fichier contient les points de terminaison utilisés par gcloud CLI pour activer le flux d'authentification via le navigateur et définir l'audience sur le fournisseur d'identité configuré dans le fournisseur de pool d'identités de personnel. Votre fichier ne contient aucune information confidentielle.
La sortie ressemble à ceci :
{ "type": "external_account_authorized_user_login_config", "audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID", "auth_url": "https://auth.cloud.google/authorize", "token_url": "https://sts.googleapis.com/v1/oauthtoken", "token_info_url": "https://sts.googleapis.com/v1/introspect", }
Se connecter à l'aide d'une authentification basée sur le navigateur
Pour vous authentifier à l'aide de l'authentification de connexion basée sur le navigateur, vous pouvez utiliser l'une des méthodes suivantes :
-
Si vous avez utilisé l'option
--activate
lors de la création du fichier de configuration ou si vous avez activé le fichier de configuration avec la commandegcloud config set auth/login_config_file
, gcloud CLI va utiliser automatiquement votre fichier de configuration :gcloud auth login
-
Pour vous connecter en spécifiant l'emplacement du fichier de configuration, exécutez la commande suivante :
gcloud auth login --login-config=LOGIN_CONFIG_FILE
-
Pour utiliser une variable d'environnement afin de spécifier l'emplacement du fichier de configuration, définissez
CLOUDSDK_AUTH_LOGIN_CONFIG_FILE
sur le chemin d'accès de la configuration.
Désactiver la connexion via le navigateur
Pour arrêter d'utiliser le fichier de configuration de connexion, procédez comme suit :
-
Si vous avez utilisé l'option
--activate
lors de la création du fichier de configuration ou si vous avez activé le fichier de configuration avec la commandegcloud config set auth/login_config_file
, vous devez exécuter la commande suivante pour le désactiver :gcloud config unset auth/login_config_file
-
Si elle est définie, effacez la variable d'environnement
CLOUDSDK_AUTH_LOGIN_CONFIG_FILE
.
Connexion à gcloud CLI sans interface graphique
Pour vous connecter à Microsoft Entra ID avec la gcloud CLI, procédez comme suit:
OIDC
Suivez les étapes de l'article Envoyer la demande de connexion. Connectez l'utilisateur à votre application avec Microsoft Entra ID à l'aide d'OIDC.
Copiez le jeton d'ID à partir du paramètre
id_token
de l'URL de redirection et enregistrez-le dans un fichier placé dans un emplacement sécurisé sur votre machine locale. Lors d'une étape ultérieure, vous définirez PATH_TO_OIDC_ID_TOKEN sur le chemin d'accès à ce fichier.Générez un fichier de configuration semblable à l'exemple plus loin dans cette étape en exécutant la commande suivante:
gcloud iam workforce-pools create-cred-config \ locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID \ --subject-token-type=urn:ietf:params:oauth:token-type:id_token \ --credential-source-file=PATH_TO_OIDC_ID_TOKEN \ --workforce-pool-user-project=WORKFORCE_POOL_USER_PROJECT \ --output-file=config.json
Remplacez les éléments suivants :
WORKFORCE_POOL_ID
: ID du pool d'identités de personnelWORKFORCE_PROVIDER_ID
: ID du fournisseur de pools d'identités des employésPATH_TO_OIDC_ID_TOKEN
: chemin d'accès à l'emplacement du fichier dans lequel le jeton de fournisseur d'identité est stocké.WORKFORCE_POOL_USER_PROJECT
: numéro ou ID du projet utilisé pour les quotas et la facturation. Le compte principal doit disposer de l'autorisationserviceusage.services.use
sur ce projet.
Une fois l'exécution de la commande terminée, le fichier de configuration suivant est créé par Microsoft Entra ID:
{ "type": "external_account", "audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID", "subject_token_type": "urn:ietf:params:oauth:token-type:id_token", "token_url": "https://sts.googleapis.com/v1/token", "workforce_pool_user_project": "WORKFORCE_POOL_USER_PROJECT", "credential_source": { "file": "PATH_TO_OIDC_CREDENTIALS" } }
Ouvrez gcloud CLI et exécutez la commande suivante :
gcloud auth login --cred-file=PATH_TO_OIDC_CREDENTIALS
Remplacez PATH_TO_OIDC_CREDENTIALS par le chemin d'accès au fichier de sortie d'une étape précédente.
gcloud CLI publie vos identifiants de manière transparente sur le point de terminaison Security Token Service. Dans le point de terminaison, ils sont échangés contre des jetons d'accès Google Cloud temporaires.
Vous pouvez désormais exécuter des commandes gcloud CLI sur Google Cloud.
SAML
Connectez un utilisateur à votre application Microsoft Entra ID et obtenez la réponse SAML.
Enregistrez la réponse SAML renvoyée par Microsoft Entra ID dans un emplacement sécurisé sur votre ordinateur local, puis stockez le chemin d'accès comme suit:
SAML_ASSERTION_PATH=SAML_ASSERTION_PATH
Pour générer un fichier de configuration comme l'exemple présenté plus loin dans cette étape, exécutez la commande suivante:
gcloud iam workforce-pools create-cred-config \ locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID \ --subject-token-type=urn:ietf:params:oauth:token-type:saml2 \ --credential-source-file=SAML_ASSERTION_PATH \ --workforce-pool-user-project=PROJECT_ID \ --output-file=config.json
Remplacez les éléments suivants :
WORKFORCE_PROVIDER_ID
: ID du fournisseur de pools des identités des employés que vous avez créé précédemment dans ce guideWORKFORCE_POOL_ID
: ID du pool des identités des employés que vous avez créé précédemment dans ce guideSAML_ASSERTION_PATH
: chemin d'accès du fichier d'assertion SAMLPROJECT_ID
: ID du projet
Le fichier de configuration généré se présente comme suit :
{ "type": "external_account", "audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID", "subject_token_type": "urn:ietf:params:oauth:token-type:saml2", "token_url": "https://sts.googleapis.com/v1/token", "credential_source": { "file": "SAML_ASSERTION_PATH" }, "workforce_pool_user_project": "PROJECT_ID" }
Pour vous connecter à
gcloud
en utilisant l'échange de jetons, exécutez la commande suivante :gcloud auth login --cred-file=config.json
gcloud
échange ensuite de manière transparente vos identifiants Microsoft Entra ID contre des jetons d'accès Google Cloud temporaires, ce qui vous permet d'effectuer d'autres appelsgcloud
vers Google Cloud.Vous obtenez un résultat semblable à celui-ci :
Authenticated with external account user credentials for: [principal://iam.googleapis.com/locations/global/workforcePools/
WORKFORCE_POOL_ID
/subject/USER_ID
].Pour répertorier les comptes avec identifiants et votre compte actif, exécutez la commande suivante:
gcloud auth list
Tester l'accès
Vous avez désormais accès aux services Google Cloud compatibles avec la fédération d'identité de personnel et auxquels on vous a accordé l'accès. Plus tôt dans ce guide, vous avez accordé le rôle Administrateur de l'espace de stockage à toutes les identités d'un service spécifique pour le projet TEST_PROJECT_ID
. Vous pouvez désormais tester l'accès en répertoriant les buckets Cloud Storage.
Console (fédéré)
Vous pouvez désormais exécuter des commandes gcloud CLI sur Google Cloud.
- Accédez à la page Cloud Storage.
- Vérifiez que vous pouvez voir la liste des buckets existants pour le
TEST_PROJECT_ID
.
gcloud CLI
Pour répertorier les buckets et les objets Cloud Storage du projet auquel vous avez accès, exécutez la commande suivante :
gcloud storage ls --project="TEST_PROJECT_ID"
Le compte principal doit disposer de l'autorisation serviceusage.services.use
sur le projet spécifié.
Supprimer des comptes utilisateur
La fédération d'identité de personnel crée des métadonnées et des ressources utilisateur pour les identités des utilisateurs fédérées. Si, par exemple, vous choisissez de supprimer des utilisateurs dans votre IdP, vous devez également supprimer explicitement ces ressources dans Google Cloud. Pour ce faire, consultez Supprimer des utilisateurs de la fédération d'identité des employés et leurs données.
Il est possible que des ressources continuent d'être associées à un utilisateur supprimé. En effet, la suppression de métadonnées et de ressources utilisateur nécessite une opération de longue durée. Une fois que vous avez lancé la suppression de l'identité d'un utilisateur, les processus qu'il a lancés avant la suppression peuvent continuer à s'exécuter jusqu'à ce qu'ils soient terminés ou annulés.
Étape suivante
- Supprimer les utilisateurs et leurs données de la fédération des identités des employés
- Découvrez les produits Google Cloud compatibles avec la fédération d'identité de personnel.
- Configurer l'accès utilisateur à la console (fédéré)