Ce document et le document Types de jetons couvrent les différents jetons utilisés par Trusted Cloud 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 Trusted Cloud by S3NSà l'aide des bibliothèques clientes Cloud, de la console Trusted Cloud 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 Trusted Cloud by S3NS, ils n'interagissent pas directement avec les APITrusted Cloud 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, Trusted Cloud by S3NS ne peut pas demander directement à l'utilisateur des informations d'identité pour vérifier s'il est autorisé à utiliser une API. Cette identité est 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 Trusted Cloud 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 en se connectant à son compte Google est un principal utilisateur. Le compte principal possède un identifiant de compte principal semblable à ce qui suit :
user:alex@example.com
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 à partir de BigQuery ou de 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 Trusted Cloud by S3NS avec laquelle le client interagit.
Pour accéder aux API Trusted Cloud 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
Serveurs d'autorisation
Trusted Cloud by S3NS partage des fonctionnalités d'authentification et d'autorisation spécifiques avec d'autres services Google. Les fonctionnalités partagées incluent Se connecter avec Google, ainsi que les services OpenID Connect et OAuth 2.0 fournis par Google Identity.
D'autres services liés à l'authentification, tels que la fédération d'identité de charge de travail et la fédération d'identité de personnel, sont spécifiques à Trusted Cloud by S3NS et ne peuvent pas être utilisés pour d'autres services Google.
En raison de cette séparation, Trusted Cloud by S3NS utilise deux serveurs d'autorisation. L'une est partagée avec d'autres services Google, et l'autre est spécifique à Trusted Cloud by S3NS. Le tableau suivant décrit les différents serveurs et leurs propriétés.
Serveur d'autorisation | Type d'authentification | API d'authentification | Comptes principaux |
---|---|---|---|
Serveur d'autorisation Google |
|
|
|
Trusted Cloud by S3NS Serveur d'autorisation Identity and Access Management (IAM) |
|
Les serveurs d'autorisation sont des services mondiaux et sont accessibles depuis n'importe quelle régionTrusted Cloud by S3NS . Toutefois, toutes les régions ne contiennent pas de déploiements des deux serveurs d'autorisation :
Le serveur d'autorisation Google est disponible dans certaines régions.
Le serveur d'autorisation IAM Trusted Cloud by S3NS est disponible dans toutes les régions.
Pour optimiser la fiabilité, utilisez le serveur d'autorisation IAM Trusted Cloud by S3NS chaque fois que possible.
Étapes suivantes
En savoir plus sur les types de jetons