MBH*_*nix 14 authentication google-authentication google-cloud-platform gcloud
gcloud auth print-access-token当我们使用和时,访问令牌和身份令牌有什么区别gcloud auth print-identity-token?
在什么情况下我们可以在 Google Cloud 上下文中使用其中一种而不使用另一种。
为什么我们有print-access-tokenfor gcloud auth,而gcloud auth application-default我们print-identity-token只有forgcloud auth
Pri*_*dra 17
定义 and 在 Google 上下文中:
访问令牌(并不总是 JWT)用于通知 API,令牌的持有者已被授权访问 API 并执行一组预定的操作(由授予的范围指定)。
访问令牌绝不能用于身份验证。访问令牌无法判断用户是否已通过身份验证。
在 Google 上下文中,OAuth 2.0 访问令牌对于验证从服务帐户到 Google Cloud API 的访问非常有用。
ID 令牌用于基于令牌的身份验证。这些令牌经过签名 JSON Web 令牌 JWT,用于断言身份,并且不一定携带针对资源的任何隐式授权。这些令牌只会声明调用者是谁,以及令牌发送到的任何服务都可以通过验证 JWT 提供的签名有效负载来验证令牌的完整性。用户成功进行身份验证后,应用程序会收到 ID 令牌,然后使用 ID 令牌并从中提取用户信息,然后可以使用该信息来个性化用户体验。
考虑以下示例用例
要获得对项目的提升权限,服务管理员可以通过创建属于该服务帐号的 OAuth 2.0 访问令牌来模拟服务帐号来调用 Google Cloud API。该令牌的生命周期很短,因此提升的权限是暂时的。使用短期令牌可以帮助您在身份和资源上实现最小特权原则。当生产环境中出现紧急情况并且服务管理员需要短期提升授权以进行调试时,它也很有用。
通过创建属于服务帐号的 OIDC ID 令牌,在 Google Cloud 上运行的服务可以向部署在第三方云提供商上的其他服务(例如数据管道作业)验证自身身份。如果目标服务配置了OIDC,则认证成功。
接下来是 gcloud CLI 命令:
- gcloud auth 应用程序默认打印访问令牌
- gcloud auth 打印访问令牌
- gcloud auth 打印身份令牌
打印指定帐户的身份令牌。如果未指定,将使用当前活动帐户。
Google 服务帐户和用户都可以获得 id_tokens,但有一个重要的区别:用户登录 oauth 流发出静态绑定到网络的 id_tokens 或与流关联的 oauth2 client_id。也就是说,如果用户登录涉及 oauth2 的 Web 应用程序,则提供商向浏览器颁发的 id_token 将具有绑定到 oauth2 client_id 的 aud: 字段。另一方面,服务帐户可以参与一个流程,在该流程中,它可以从 google 接收带有先前指定的 aud: 字段的 id_token。
您可以使用 gcloud 命令打印服务帐户、模拟服务帐户和计算引擎实例的 IdentityToken。
| 归档时间: |
|
| 查看次数: |
12157 次 |
| 最近记录: |