Ce document et le document Types de jetons couvrent les différents jetons utilisés par Cloud de Confiance by S3NS pour l'authentification et l'autorisation. Elles s'adressent aux personnes qui souhaitent en savoir plus sur l'authentification basée sur les jetons ou qui souhaitent implémenter l'authentification sans utiliser les bibliothèques clientes Cloud.
Vous n'avez pas besoin de connaître ces informations lorsque vous interagissez avec les API Cloud de Confiance by S3NSà l'aide des bibliothèques clientes Cloud, de la console Cloud de Confiance ou de Google Cloud CLI. Le processus de sélection du bon type de jeton, ainsi que l'obtention et l'actualisation de ces jetons sont gérés automatiquement pour vous.
Authentification des utilisateurs
Lorsque des utilisateurs humains interagissent avec Cloud de Confiance by S3NS, ils n'interagissent pas directement avec les APICloud de Confiance by S3NS . Ils utilisent plutôt un client pour agir en leur nom.
Le client qu'ils utilisent peut être une application Web, une application de bureau ou un utilitaire comme Google Cloud CLI ou curl.
Étant donné que c'est le client qui envoie les requêtes et non l'utilisateur, Cloud de Confiance by S3NS ne peut pas demander directement à l'utilisateur des informations sur son identité pour vérifier s'il est autorisé à utiliser une API. Cette identité est plutôt transmise à l'API par le client sous la forme d'un jeton, qui est inclus dans chaque requête API.
Un jeton d'authentification utilisateur encode les informations suivantes :
Identité de l'utilisateur.
Identité du client.
Assurance que le client est autorisé à agir au nom de l'utilisateur.
L'authentification de l'utilisateur et l'autorisation du client impliquent les parties suivantes :
Un utilisateur.
Client qui agit pour le compte de l'utilisateur.
Un serveur d'autorisation sur lequel les API Google s'appuient pour authentifier le client.
API Cloud de Confiance by S3NS avec laquelle le client interagit.
Les clients ne peuvent pas émettre de jetons eux-mêmes. À la place, ils doivent collaborer avec un serveur d'autorisation pour effectuer les opérations suivantes :
Authentifiez l'utilisateur.
Authentifiez le client.
Autorisez le client à agir au nom de l'utilisateur.
Émettez un jeton pour le client.
Un utilisateur qui s'authentifie à l'aide de la fédération d'identité de personnel et d'un fournisseur d'identité externe est un compte principal de pool d'identité de personnel. Le compte principal possède un identifiant semblable à celui-ci :
principal://iam.googleapis.com/locations/global/workforcePools/POOL_ID/subject/raha@altostrat.com
Authentification des charges de travail
Certains clients doivent interagir avec les API Google en leur propre nom. Par exemple, une tâche planifiée peut avoir besoin de lire des données depuis BigQuery ou Cloud Storage sans qu'aucun utilisateur humain ne soit impliqué.
Les clients qui agissent de manière autonome et pour leur propre compte sont appelés charges de travail. Contrairement à l'authentification des utilisateurs, l'authentification des charges de travail combine l'authentification de l'utilisateur et l'autorisation du client en une seule étape. Par conséquent, un jeton d'authentification de charge de travail n'encode que l'identité du client.
L'authentification et l'autorisation des charges de travail impliquent les parties suivantes :
Une charge de travail agissant à la fois en tant que client et utilisateur, et pour son propre compte.
Un serveur d'autorisation sur lequel les API Google s'appuient pour authentifier le client.
API Cloud de Confiance by S3NS avec laquelle le client interagit.
Pour accéder aux API Cloud de Confiance by S3NS , les clients doivent utiliser un serveur d'autorisation pour effectuer les opérations suivantes :
Authentifiez le client.
Autorisez le client.
Émettez un jeton pour le client.
Une charge de travail authentifiée est également appelée "principal", mais les charges de travail utilisent des identifiants principaux différents de ceux des utilisateurs.
Une charge de travail qui s'authentifie à l'aide d'un compte de service est un compte de service principal. Le compte principal possède un identifiant semblable à celui-ci :
serviceAccount:my-service-account@my-project.s3ns.iam.gserviceaccount.com
Une charge de travail qui s'authentifie à l'aide de la fédération d'identité de charge de travail est un principal de pool d'identités de charge de travail. Le compte principal possède un identifiant de compte principal semblable à ce qui suit :
principal://iam.googleapis.com/projects/PROJECT_NAME/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT_ATTRIBUTE_VALUE
Étapes suivantes
En savoir plus sur les types de jetons