Ce guide explique comment configurer la fédération d'identité de personnel avec un fournisseur d'identité compatible avec OIDC ou SAML 2.0.
Pour obtenir des instructions spécifiques à un fournisseur d'identité, consultez les articles suivants :
- Configurer la fédération d'identité de personnel basée sur Microsoft Entra ID
- Configurer la fédération d'identité de personnel basée sur Okta
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
-
Enable the Identity and Access Management (IAM) and Resource Manager APIs.
- 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 d'administrateur de pool d'identités des 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 (roles/owner
) inclut également les autorisations permettant de configurer 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.
Configurer la fédération des identités des employés
Pour configurer la fédération d'identité de personnel, vous devez créer un pool d'identités de personnel et un fournisseur de pool d'identités de personnel.
Créer un pool d'identités de personnel
Pour créer le pool, exécutez la commande suivante :
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 un fournisseur de pools d'identités de personnel
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 de personnel OIDC
Pour créer un fournisseur de pools d'identités de personnel à l'aide du protocole OIDC, procédez comme suit :
Dans votre fournisseur d'identité OIDC, enregistrez une nouvelle application pour la fédération d'identité de personnel Google Cloud. Notez l'ID client et l'URI d'émetteur fournis par le fournisseur d'identité. Vous les utiliserez dans ce document.
Si vous envisagez de configurer l'accès des utilisateurs à la console, ajoutez l'URL de redirection suivante à votre fournisseur d'identité OIDC :
https://auth.cloud.google/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
Pour savoir comment configurer la connexion à la console (fédération), consultez la section Configurer l'accès utilisateur à la console (fédération).
Dans Google Cloud, pour créer le fournisseur, procédez comme suit :
Console
Flux de code
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
.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,
assertion.role == 'gcp-users'
. Cet exemple de condition garantit que seuls les utilisateurs disposant du rôlegcp-users
peuvent se connecter via ce fournisseur.
Pour créer le fournisseur, cliquez sur Envoyer.
Flux implicite
Pour créer un fournisseur OIDC utilisant un flux implicite 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 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
.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,
assertion.role == 'gcp-users'
. Cet exemple de condition garantit que seuls les utilisateurs disposant du rôlegcp-users
peuvent se connecter via ce fournisseur.
Pour créer le fournisseur, cliquez sur Envoyer.
gcloud
Flux de code
Pour créer un fournisseur OIDC qui utilise un flux avec code d'autorisation pour la connexion Web, 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" \
--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. Voici un exemple de mappage d'attributs: Cet exemple mappe les attributs de fournisseur d'identitégoogle.subject=assertion.sub, google.groups=assertion.group1, attribute.costcenter=assertion.costcenter
subject
,group1
etcostcenter
dans l'assertion OIDC avec les attributsgoogle.subject
,google.groups
etattribute.costcenter
, respectivement.ATTRIBUTE_CONDITION
: une condition d'attribut. Par exempleassertion.role == 'gcp-users'
. Cet exemple de condition garantit que seuls les utilisateurs disposant du rôlegcp-users
peuvent se connecter via ce fournisseur.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, 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. Voici un exemple de mappage d'attributs: Cet exemple mappe les attributs de fournisseur d'identitégoogle.subject=assertion.sub, google.groups=assertion.group1, attribute.costcenter=assertion.costcenter
subject
,group1
etcostcenter
dans l'assertion OIDC avec les attributsgoogle.subject
,google.groups
etattribute.costcenter
, respectivement.ATTRIBUTE_CONDITION
: une condition d'attribut. Par exempleassertion.role == 'gcp-users'
. Cet exemple de condition garantit que seuls les utilisateurs disposant du rôlegcp-users
peuvent se connecter via ce fournisseur.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
.Le préfixe
gcp-
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.Pour la fédération OIDC, vous pouvez utiliser
assertion.NAME
: une chaîne égale à la valeur de la revendication portant le même nom dans la charge utile du jeton d'ID.
Créer un fournisseur de pools 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 configurer le fournisseur SAML en utilisant gcloud CLI, procédez comme suit :
gcloud iam workforce-pools providers create-saml WORKFORCE_PROVIDER_ID \
--workforce-pool=WORKFORCE_POOL_ID \
--display-name="DISPLAY_NAME" \
--description="DESCRIPTION" \
--idp-metadata-path=METADATA_FILE_PATH \
--attribute-mapping="ATTRIBUTE_MAPPING" \
--attribute-condition="ATTRIBUTE_CONDITION" \
--location=global
Remplacez les éléments suivants :
WORKFORCE_PROVIDER_ID
: ID du fournisseur de pools d'identités des employésWORKFORCE_POOL_ID
: ID du pool d'identités des employésDISPLAY_NAME
est le nom à afficher du fournisseur. Par exemple :idp-eu-employees
.DESCRIPTION
: description du fournisseur de pool d'identités de personnel. Par exemple :IdP for Partner Example Organization EU employees
.METADATA_FILE_PATH
: chemin d'accès au fichier de métadonnées SAML.ATTRIBUTE_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. 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.
Vous devrez peut-être patienter quelques minutes avant que le fournisseur ne commence à accepter les requêtes.
Pour la fédération SAML, vous pouvez utiliser les mots clés suivants dans les mappages et conditions d'attributs :
assertion.subject
: chaîne égale à l'attributNameID
de l'assertion SAML.assertion.attributes.NAME
: liste de chaînes égale aux valeurs des attributs portant le même nom dans l'assertion SAML.
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
Configurez votre fournisseur d'identité SAML pour utiliser le certificat public téléchargé à la dernière étape afin de chiffrer les assertions SAML qu'il émet. Consultez l'équipe de votre fournisseur d'identité pour obtenir des instructions spécifiques.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 :
- http://www.w3.org/2001/04/xmlenc#aes128-cbc
- http://www.w3.org/2001/04/xmlenc#aes192-cbc
- http://www.w3.org/2001/04/xmlenc#aes256-cbc
- http://www.w3.org/2009/xmlenc11#aes128-gcm
- http://www.w3.org/2009/xmlenc11#aes256-gcm
Exigences concernant les clés de signature SAML X.509
Les spécifications de clé suivantes s'appliquent aux clés de signature SAML X.509 :
Une clé publique RSA encapsulée dans un certificat X.509 v3.
Exigences de validité des certificats :
notBefore
: horodatage pour les 7 prochains joursnotAfter
: horodatage pour les 20 prochaines années
Algorithmes recommandés :
- RSAwithSHA256 (tailles de clés compatibles (bits) : 2048, 3072, 4096)
- ECDSAwithSHA256
Un fournisseur de pools d'identités de personnel ne peut être configuré qu'avec un maximum de trois clés de signature. Lorsque plusieurs clés existent, Google Cloud les parcourt et tente d'utiliser chaque clé non expirée pour répondre à une requête d'échange de jetons.
Pour des raisons de sécurité, nous vous recommandons vivement de ne pas réutiliser la même paire de clés avec d'autres services.
Gestion des clés
Pour mettre à jour les clés de signature de votre fournisseur d'identité, procédez comme suit :
Créez une paire de clés asymétriques et configurez le fournisseur d'identité SAML avec la paire de clés. Vous devez d'abord la marquer comme inactive, puis l'activer ultérieurement.
Téléchargez un document XML de métadonnées SAML à partir de votre fournisseur d'identité.
Mettez à jour la ressource du fournisseur de pool d'identités de personnel à l'aide du document de métadonnées SAML. Lorsque plusieurs clés existent, Google Cloud les parcourt et tente d'utiliser chaque clé non expirée pour répondre à une requête d'échange de jetons.
Pour mettre à jour le fournisseur de pools d'identité de personnel avec les métadonnées SAML, exécutez la commande suivante.
gcloud iam workforce-pools providers update-saml WORKFORCE_PROVIDER_ID \ --workforce-pool=WORKFORCE_POOL_ID \ --idp-metadata-path=SAML_METADATA_FILE_PATH \ --location=global
Remplacez les éléments suivants :
WORKFORCE_PROVIDER_ID
: ID du fournisseur de pools d'identités des employésWORKFORCE_POOL_ID
: ID du pool d'identités de personnelSAML_METADATA_FILE_PATH
: chemin d'accès au fichier de métadonnées SAML
Attendez la fin de l'opération renvoyée à l'étape précédente (l'opération doit être marquée comme terminée), puis activez la nouvelle clé de signature dans votre fournisseur d'identité SAML. L'ancienne clé de signature est marquée comme inactive. Les assertions émises par votre fournisseur d'identité sont signées à l'aide de la nouvelle clé.
Bien que facultatives, les étapes suivantes sont des bonnes pratiques que nous vous recommandons de suivre :
- Supprimez l'ancienne clé de signature (désormais inactive) de votre fournisseur d'identité.
- Téléchargez le document XML des métadonnées SAML à partir de votre fournisseur d'identité.
Mettez à jour la ressource du fournisseur de pool d'identités de personnel à l'aide du document de métadonnées SAML. Google Cloud refuse les assertions signées avec la clé de signature arrivée à expiration. Pour mettre à jour le document, exécutez la commande suivante :
gcloud iam workforce-pools providers update-saml WORKFORCE_PROVIDER_ID \ --workforce-pool=WORKFORCE_POOL_ID \ --idp-metadata-path=SAML_METADATA_FILE_PATH \ --location=global
Remplacez les éléments suivants :
WORKFORCE_PROVIDER_ID
: ID du fournisseur de pools d'identités des employésWORKFORCE_POOL_ID
: ID du pool d'identités de personnelSAML_METADATA_FILE_PATH
: chemin d'accès aux métadonnées SAML
Contrainte de suppression de clé
Google Cloud refuse les assertions signées à l'aide d'une clé supprimée.
Représenter les utilisateurs de pools de personnel dans les stratégies IAM
Le tableau suivant présente les identifiants principaux utilisables pour attribuer des rôles à un seul utilisateur, à un groupe d'utilisateurs, à des utilisateurs porteurs d'une revendication spécifique ou à tous les utilisateurs d'un pool de personnel.
Identités | Format d'identifiant |
---|---|
Identité unique d'un pool d'identités de personnel |
principal://iam.googleapis.com/locations/global/workforcePools/POOL_ID/subject/SUBJECT_ATTRIBUTE_VALUE
|
Toutes les identités de personnel d'un groupe |
principalSet://iam.googleapis.com/locations/global/workforcePools/POOL_ID/group/GROUP_ID
|
Toutes les identités de personnel 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 de personnel |
principalSet://iam.googleapis.com/locations/global/workforcePools/POOL_ID/*
|
Attribuer des rôles IAM aux comptes principaux
Vous pouvez attribuer des rôles aux comptes principaux, par exemple à des identités uniques, des groupes d'identités ou un pool entier.
Pour attribuer un rôle sur un projet à un compte principal, exécutez la commande suivante :
gcloud projects add-iam-policy-binding PROJECT_ID \
--role="ROLE" \
--member="PRINCIPAL"
Remplacez les éléments suivants :
PROJECT_ID
: ID du projetROLE
: rôle à définirPRINCIPAL
: compte principal. Consultez la section Identifiants de compte principal pour la fédération des identités des employés.
Dans l'exemple suivant, la commande accorde le rôle d'administrateur Storage (roles/storage.admin
) à toutes les identités du groupe GROUP_ID
:
gcloud projects add-iam-policy-binding my-project \
--role="roles/storage.admin" \
--member="principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID"
Pour en savoir plus sur le format de compte principal, consultez la section Identifiants principaux de la fédération des identités des employés.
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
- Obtenir des identifiants éphémères pour la fédération des identités des employés
- Gérer les fournisseurs de pools d'identités de personnel
- 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é)