当执行“gcloud auth login”时,凭据将存储在本地系统上。
有没有办法在 GCP 中为组织设置一项政策,以确保所有凭证都有时间限制,以便用户需要定期重新进行身份验证?
我主要担心的是这些凭证文件可能会落入坏人之手,例如,如果开发人员的笔记本电脑被盗,或者室友可能会访问开发人员的笔记本电脑。限制这些令牌的有效期将在一定程度上限制损失。
我知道用户可以执行“gcloud auth revoke”,或者转到https://myaccount.google.com/permissions并在那里撤销 Google Cloud SDK 权限,但两者都是手动过程。
答案1
目前 Google Cloud Platform 似乎无法实现此功能。我建议通过以下方式提交功能请求本指南。可以通过 G Suite 实现,并且根据此文章。
但是,解决这个问题的一种方法是撤销 Google Cloud SDK 对该帐户的访问权限,如本指南中所述,这样用户就可以更改其 Google 帐户的登录密码,以防笔记本电脑被盗文档。
"sign-in & security" > "Manage Apps" > "Google Cloud SDK"
因此,令牌将不再起作用,并且令牌刷新将失败并引发类似以下错误:
ERROR: (gcloud.compute.instances.list) There was a problem refreshing your current auth tokens: invalid_grant: Token has been expired or revoked.
Please run:
$ gcloud auth login
即使(合法)用户在另一台机器上对 SDK 进行身份验证,情况仍然会如此(对于入侵者而言)gcloud auth login
,该机器会自动将 Google Cloud SDK 重新添加到帐户,但使用不同的 Oauth 凭据。