Ce document explique comment utiliser la fédération d'identité de charge de travail avec les bibliothèques d'authentification Cloud de Confiance , appelées bibliothèques d'authentification, pour authentifier les charges de travail à partir de fournisseurs d'identité tiers tels qu'AWS, Microsoft Azure et les fournisseurs compatibles avec OpenID Connect (OIDC) ou SAML 2.0.
La fédération d'identité de charge de travail permet aux applications exécutées en dehors de Cloud de Confianced'accéder aux ressources Cloud de Confiance sans utiliser de clés de compte de service. Les bibliothèques d'authentification Google permettent cet échange d'identifiants externes contre des jetons d'accès Cloud de Confiance à courte durée de vie.
Pour l'authentification, vous pouvez obtenir des identifiants externes à l'aide des méthodes suivantes :
- Mécanisme standard pour les configurations courantes.
- Fournisseurs d'identifiants personnalisés pour les workflows complexes qui nécessitent d'écrire votre propre code.
Avant de commencer
Activez les API requises.
Rôles requis pour activer les API
Pour activer les API, vous avez besoin du rôle IAM Administrateur Service Usage (
roles/serviceusage.serviceUsageAdmin), qui contient l'autorisationserviceusage.services.enable. Découvrez comment attribuer des rôles.Configurez la fédération d'identité de charge de travail avec votre fournisseur d'identité.
S'authentifier à l'aide du mécanisme d'identifiants standard
Pour les fournisseurs d'identité tiers couramment compatibles, vous pouvez utiliser les fonctionnalités intégrées de la bibliothèque d'authentificationCloud de Confiance pour authentifier vos charges de travail en générant un fichier de configuration des identifiants. Ce fichier fournit les informations nécessaires aux bibliothèques d'authentification pour fédérer les identités des fournisseurs externes.
Le fichier de configuration des identifiants, généralement chargé à l'aide de la variable d'environnement GOOGLE_APPLICATION_CREDENTIALS, peut indiquer aux bibliothèques d'authentification d'obtenir le jeton de sujet tiers à l'aide de l'une des méthodes suivantes :
- Basé sur un fichier : la bibliothèque lit le jeton d'objet à partir d'un fichier local. Un processus distinct doit s'assurer que ce fichier contient un jeton valide et non expiré.
- Basé sur une URL : la bibliothèque récupère le jeton d'objet en envoyant une requête à un point de terminaison d'URL local spécifié.
- Basé sur un exécutable : la bibliothèque exécute une commande exécutable configurée. La sortie standard de l'exécutable doit contenir le jeton de sujet.
Générez le fichier de configuration des identifiants pour votre fournisseur spécifique :
- AWS
- Azure
Fournisseur d'identité OIDC ou SAML
Cette page contient des instructions pour les opérations suivantes :
Utilisez le fichier de configuration des identifiants pour vous authentifier.
Pour permettre aux bibliothèques clientes Cloud de Confiance by S3NS de localiser et d'utiliser automatiquement votre fichier de configuration d'identifiants, définissez la variable d'environnement
GOOGLE_APPLICATION_CREDENTIALSsur le chemin d'accès au fichier JSON généré.Exportez la variable d'environnement dans votre shell :
bash export GOOGLE_APPLICATION_CREDENTIALS=/path/to/your/config.jsonUne fois la variable d'environnement définie, les bibliothèques clientes gèrent le flux d'authentification.
L'exemple de code suivant montre comment effectuer un appel authentifié à une API Cloud de Confiance by S3NS :
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour IAM, consultez la page Bibliothèques clientes IAM. Pour en savoir plus, consultez la documentation de référence de l'API Cloud IAM Node.js.
Pour vous authentifier auprès d'IAM, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour IAM, consultez la page Bibliothèques clientes IAM. Pour en savoir plus, consultez la documentation de référence de l'API Cloud IAM Python.
Pour vous authentifier auprès d'IAM, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour IAM, consultez la page Bibliothèques clientes IAM. Pour en savoir plus, consultez la documentation de référence de l'API Cloud IAM Java.
Pour vous authentifier auprès d'IAM, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
Go
Pour savoir comment installer et utiliser la bibliothèque cliente pour IAM, consultez la page Bibliothèques clientes IAM. Pour en savoir plus, consultez la documentation de référence de l'API Cloud IAM Go.
Pour vous authentifier auprès d'IAM, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
S'authentifier à l'aide de fournisseurs d'identifiants personnalisés
Si votre environnement ne prend pas en charge les fonctionnalités intégrées de la bibliothèque d'authentification Google ou si vous souhaitez implémenter une logique personnalisée pour fournir des identifiants à la bibliothèque d'authentification Google, utilisez des fournisseurs d'identifiants personnalisés pour authentifier vos charges de travail.
Accéder aux ressources d'AWS
Lorsque vous initialisez le client d'authentification, fournissez une implémentation personnalisée d'un fournisseur d'identifiants. L'instance cliente s'en remet au fournisseur pour récupérer les identifiants de sécurité AWS à échanger contre un jeton d'accès Cloud de Confiance . Le fournisseur doit renvoyer des identifiants valides et non expirés lorsque le client l'appelle.
Le client d'authentification ne met pas en cache les identifiants de sécurité ni la région AWS renvoyés. Vous devez donc implémenter la mise en cache dans le fournisseur pour éviter les requêtes redondantes pour les mêmes ressources.
Les exemples de code suivants montrent comment configurer l'accès aux ressources Cloud de Confiancedepuis AWS avec un fournisseur d'identifiants personnalisé.
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour IAM, consultez la page Bibliothèques clientes IAM. Pour en savoir plus, consultez la documentation de référence de l'API Cloud IAM Node.js.
Pour vous authentifier auprès d'IAM, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour IAM, consultez la page Bibliothèques clientes IAM. Pour en savoir plus, consultez la documentation de référence de l'API Cloud IAM Python.
Pour vous authentifier auprès d'IAM, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour IAM, consultez la page Bibliothèques clientes IAM. Pour en savoir plus, consultez la documentation de référence de l'API Cloud IAM Java.
Pour vous authentifier auprès d'IAM, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
Accéder aux ressources depuis OIDC et SAML
Lorsque vous initialisez le client d'authentification, fournissez un fournisseur de jetons personnalisé pour fournir un jeton d'objet qui est échangé contre un jeton d'accès Cloud de Confiance . Le fournisseur doit renvoyer un jeton de sujet valide et non expiré lorsque le client l'appelle.
Le client d'authentification ne met pas en cache le jeton renvoyé. Vous devez donc implémenter la mise en cache dans le fournisseur pour éviter les requêtes redondantes pour le même jeton de sujet.
Les exemples de code suivants montrent comment configurer l'accès aux ressources Cloud de Confianceà partir de fournisseurs compatibles avec OpenID Connect (OIDC) ou SAML 2.0 avec un fournisseur d'identifiants personnalisé.
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour IAM, consultez la page Bibliothèques clientes IAM. Pour en savoir plus, consultez la documentation de référence de l'API Cloud IAM Node.js.
Pour vous authentifier auprès d'IAM, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour IAM, consultez la page Bibliothèques clientes IAM. Pour en savoir plus, consultez la documentation de référence de l'API Cloud IAM Python.
Pour vous authentifier auprès d'IAM, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour IAM, consultez la page Bibliothèques clientes IAM. Pour en savoir plus, consultez la documentation de référence de l'API Cloud IAM Java.
Pour vous authentifier auprès d'IAM, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
Étapes suivantes
- En savoir plus sur la fédération d'identité de charge de travail.