令牌概览

本文档和令牌类型文档介绍了 Cloud de Confiance by S3NS 用于身份验证和授权的多种令牌。这些示例旨在帮助想要了解基于令牌的身份验证如何运作或想要在不使用 Cloud 客户端库的情况下实现身份验证的人员。

在使用 Cloud 客户端库、 Cloud de Confiance 控制台或 Google Cloud CLI 与 Cloud de Confiance by S3NSAPI 互动时,您无需了解此信息,因为系统会自动为您处理选择正确类型的令牌以及获取和刷新这些令牌的过程。

用户身份验证

当人类用户与 Cloud de Confiance by S3NS互动时,他们不会直接与Cloud de Confiance by S3NS API 互动。而是使用客户端代表其执行操作。他们使用的客户端可能是 Web 应用、桌面应用,也可能是 Google Cloud CLI 或 curl 等实用程序。

由于客户端发出请求,而不是用户发出请求,因此 Cloud de Confiance by S3NS 无法直接向用户请求身份信息,以检查用户是否有权使用 API。相反,此身份会通过客户端以令牌的形式传递给 API,并包含在每个 API 请求中。

用户身份验证令牌会编码以下信息:

  • 用户的身份。

  • 客户端的身份。

  • 保证客户端有权代表用户执行操作。

对用户进行身份验证并向客户端授权涉及以下各方:

  • 用户。

  • 代表用户执行操作的客户端。

  • 授权服务器,Google API 依赖该服务器对客户端进行身份验证。

  • 客户端与之互动的 Cloud de Confiance by S3NS API。

客户端无法自行发放令牌。相反,它们必须与授权服务器配合使用,才能执行以下操作:

  1. 对用户进行身份验证。

  2. 对客户端进行身份验证。

  3. 授权客户端代表用户执行操作。

  4. 向客户端发放令牌。

用户通过客户端进行身份验证的关系图

使用员工身份联合和外部身份提供方进行身份验证的用户是员工身份池主账号。该主账号的主账号标识符类似于以下内容:

principal://iam.googleapis.com/locations/global/workforcePools/POOL_ID/subject/raha@altostrat.com

工作负载身份验证

某些客户端需要代表自己与 Google API 进行互动。例如,某个预定作业可能需要从 BigQuery 或 Cloud Storage 读取数据,而无需任何人为用户参与。

以无人值守方式自行运行的客户端称为工作负载。与用户身份验证不同,工作负载身份验证将用户身份验证和客户端授权合并为一个步骤。因此,工作负载身份验证令牌仅对客户端的身份进行编码。

工作负载身份验证和授权涉及以下各方:

  • 工作负载,既充当客户端,又充当用户,且代表其自身。

  • 授权服务器,Google API 依赖该服务器对客户端进行身份验证。

  • 客户端与之互动的 Cloud de Confiance by S3NS API。

如需访问 Cloud de Confiance by S3NS API,客户端必须与授权服务器配合使用,以执行以下操作:

  1. 对客户端进行身份验证。

  2. 授权客户端。

  3. 向客户端发放令牌。

工作负载通过客户端进行身份验证的关系图

经过身份验证的工作负载也称为主账号,但工作负载使用的主账号标识符与用户不同。

使用服务账号进行身份验证的工作负载是服务账号主账号。该主账号的主账号标识符类似于以下内容:

serviceAccount:my-service-account@my-project.s3ns.iam.gserviceaccount.com

使用工作负载身份联合进行身份验证的工作负载是工作负载身份池主账号。该主账号的主账号标识符类似于以下内容:

principal://iam.googleapis.com/projects/PROJECT_NAME/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT_ATTRIBUTE_VALUE

后续步骤

了解令牌类型