gpt4 book ai didi

google-cloud-platform - terraform GCE 服务帐户节

转载 作者:行者123 更新时间:2023-12-05 06:29:41 26 4
gpt4 key购买 nike

我正在 GCP 上创建一个实例,但在使用服务帐户节时遇到了一些问题。当我这样做时:

service_account {
email = "terraformdeploy-dev@projectxxx.org.com.iam.gserviceaccount.com"
scopes = []
}

实例确实使用该服务帐户进行配置,但所有 Cloud API 访问范围 在 UI 中显示 disabled

如果我这样做:

service_account {
email = "terraformdeploy-dev@projectxxx.org.com.iam.gserviceaccount.com"
scopes = ["cloud-platform"]
}

实例提供对所有 API 的完全访问权限,但奇怪的是,上述服务帐户无法访问所有这些 API。我对如何在此处使用服务帐户节感到困惑,因为文档不是很清楚。

我可以只分配服务帐号还是需要指定服务帐号及其范围?

最佳答案

GCE 提​​供了两种方法来限制一个实例可以提供的 API 访问,而您正在学习这两种方法。一个是 GCE 实例有一个范围,它将来自该机器的任何 API 请求限制为那些服务。例如,如果您的 GCE 实例不允许 GCS 写入操作,则无论与该实例关联的服务帐户如何,您都无法执行 GCS 写入操作。

您可以通过 SSH 登录,使用项目所有者帐户进行身份验证,然后尝试写入 GCS,但它会失败。这样做是为了提供额外的安全层,如果您知道“此实例组中的实例将只需要 GCS 读取和 StackDriver API 访问权限”,这将非常有用。

现在,与实例关联的服务帐户仅在客户端库或 gcloud 命令在“应用程序默认”位置查找凭据时使用。因此,如果您的应用程序包含一个服务帐户 json key 并从中读取,则关联的 key 并不重要。

因此,您指定的服务帐户使所有应用程序默认使用该帐户凭据执行 API 请求。

另外请记住 much more refined scopes than just 'cloud-platform'.

关于google-cloud-platform - terraform GCE 服务帐户节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53291019/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com