确保 Google 个服务帐户
Ensure Google service accounts
在 Terraform 中,我启用了这样的服务:
resource "google_project_service" "apigateway" {
service = "apigateway.googleapis.com"
}
之后,我确保仅在创建资源后引用 apigateway (service-123@gcp-sa-apigateway.iam.gserviceaccount.com
) 的服务帐户。
现在确实有时会出现在使用sa的邮箱时,出现服务账号不存在的错误:
Error 400: Service account service-123@gcp-sa-apigateway.iam.gserviceaccount.com does not exist.
我在 API 资源管理器中再次检查 API 已启用!
apigateway 又会发生这种情况,就像其他人一样(例如 cloudfunctions)。
所以我想知道如何确保创建服务帐户?
我天真地认为创建 google_project_service
s 应该可以解决问题,但似乎并非在所有情况下都是如此。 Google 服务帐户的文档似乎非常稀疏:(
正如 John Hanley 所说,您可以使用 depends_on 创建此 dependency in terraform。
正如您在以下评论中看到的那样,将创建服务帐户,但将分配密钥,直到第一句完成。
resource "google_service_account" "service_account" {
account_id = "terraform-test"
display_name = "Service Account"
}
resource "google_service_account_key" "mykey" {
service_account_id = google_service_account.service_account.id
public_key_type = "TYPE_X509_PEM_FILE"
depends_on = [google_service_account.service_account]
}
此外,如果服务帐户已在 GCP 平台上创建,则仅执行关键语句。
请务必注意,您用于此配置的帐户需要具有 create an account 所需的 IAM 权限。
发现了关于 google_project_service_identity
。
因此,由于我在 cloudfunctions 中看到了这个问题,您可以创建一个 google_project_service_identity.cloudfunctions
并希望得到详细的错误消息。
遗憾的是,这并不适用于所有人,例如apigateway.
对于 apigateway
具体而言,Google 支持人员确认未记录的行为是在创建第一个资源时延迟创建 SA。
在 Terraform 中,我启用了这样的服务:
resource "google_project_service" "apigateway" {
service = "apigateway.googleapis.com"
}
之后,我确保仅在创建资源后引用 apigateway (service-123@gcp-sa-apigateway.iam.gserviceaccount.com
) 的服务帐户。
现在确实有时会出现在使用sa的邮箱时,出现服务账号不存在的错误:
Error 400: Service account service-123@gcp-sa-apigateway.iam.gserviceaccount.com does not exist.
我在 API 资源管理器中再次检查 API 已启用!
apigateway 又会发生这种情况,就像其他人一样(例如 cloudfunctions)。 所以我想知道如何确保创建服务帐户?
我天真地认为创建 google_project_service
s 应该可以解决问题,但似乎并非在所有情况下都是如此。 Google 服务帐户的文档似乎非常稀疏:(
正如 John Hanley 所说,您可以使用 depends_on 创建此 dependency in terraform。
正如您在以下评论中看到的那样,将创建服务帐户,但将分配密钥,直到第一句完成。
resource "google_service_account" "service_account" {
account_id = "terraform-test"
display_name = "Service Account"
}
resource "google_service_account_key" "mykey" {
service_account_id = google_service_account.service_account.id
public_key_type = "TYPE_X509_PEM_FILE"
depends_on = [google_service_account.service_account]
}
此外,如果服务帐户已在 GCP 平台上创建,则仅执行关键语句。
请务必注意,您用于此配置的帐户需要具有 create an account 所需的 IAM 权限。
发现了关于 google_project_service_identity
。
因此,由于我在 cloudfunctions 中看到了这个问题,您可以创建一个 google_project_service_identity.cloudfunctions
并希望得到详细的错误消息。
遗憾的是,这并不适用于所有人,例如apigateway.
对于 apigateway
具体而言,Google 支持人员确认未记录的行为是在创建第一个资源时延迟创建 SA。