尝试使用启动磁盘加密密钥时出现 Cloud KMS 错误
Cloud KMS error when attempting to use boot disk encryption key
我正在使用 Terraform 在 GCP 项目中构建集群。我在同一个 GCP 项目中手动创建了一个服务帐户,并且我在 terraform GKE 模块中指定了这个相同的服务帐户,如下所示
module "gke" {
...
service_account = "tf-service-account@<project>.iam.gserviceaccount.com"
...
}
基本上这应该使用该服务帐户创建集群。我还向服务帐户添加了 Cloud KMS CrytpoKey Decrypter、Encrypter 和 Encrypter/Descypter,如下图所示。
同一服务帐户已被授予对 KMS 密钥的权限。如下所示
我已通过将其添加到我的节点池配置来指定要使用的正确加密密钥
boot_disk_kms_key = "projects/<PROJECT>/locations/europe-west2/keyRings/<KEY RING NAME>"
错误
我 运行 通过 GCP 云进行 terraform shell,当我收到以下错误时
Error: Error waiting for creating GKE NodePool:
│ (1) deploy error: Not all instances running in IGM after 33.708999334s. Expected 2, running 0, transitioning 2. Current errors: [KMS_PERMISSION_DENIED]: Instance '<INSTANCE>' creation failed: Cloud KMS error when using key <KEY PATH>: Permission 'cloudkms.cryptoKeyVersions.useToEncrypt' denied on resource '<KEY PATH>' (or it may not exist).; [KMS_PERMISSION_DENIED]: Instance '<INSTANCE>' creation failed: Cloud KMS error when using key <KEY PATH>: Permission 'cloudkms.cryptoKeyVersions.useToEncrypt' denied on resource '<KEY PATH>' (or it may not exist)
您需要向 GCE 服务帐户(而非您的工作负载服务帐户)授予权限。 GCE 服务帐户采用以下格式:
service-[PROJECT_NUMBER]@compute-system.iam.gserviceaccount.com
注意这是 PROJECT_NUMBER
,而不是 PROJECT_ID
。
我正在使用 Terraform 在 GCP 项目中构建集群。我在同一个 GCP 项目中手动创建了一个服务帐户,并且我在 terraform GKE 模块中指定了这个相同的服务帐户,如下所示
module "gke" {
...
service_account = "tf-service-account@<project>.iam.gserviceaccount.com"
...
}
基本上这应该使用该服务帐户创建集群。我还向服务帐户添加了 Cloud KMS CrytpoKey Decrypter、Encrypter 和 Encrypter/Descypter,如下图所示。
同一服务帐户已被授予对 KMS 密钥的权限。如下所示
我已通过将其添加到我的节点池配置来指定要使用的正确加密密钥
boot_disk_kms_key = "projects/<PROJECT>/locations/europe-west2/keyRings/<KEY RING NAME>"
错误
我 运行 通过 GCP 云进行 terraform shell,当我收到以下错误时
Error: Error waiting for creating GKE NodePool:
│ (1) deploy error: Not all instances running in IGM after 33.708999334s. Expected 2, running 0, transitioning 2. Current errors: [KMS_PERMISSION_DENIED]: Instance '<INSTANCE>' creation failed: Cloud KMS error when using key <KEY PATH>: Permission 'cloudkms.cryptoKeyVersions.useToEncrypt' denied on resource '<KEY PATH>' (or it may not exist).; [KMS_PERMISSION_DENIED]: Instance '<INSTANCE>' creation failed: Cloud KMS error when using key <KEY PATH>: Permission 'cloudkms.cryptoKeyVersions.useToEncrypt' denied on resource '<KEY PATH>' (or it may not exist)
您需要向 GCE 服务帐户(而非您的工作负载服务帐户)授予权限。 GCE 服务帐户采用以下格式:
service-[PROJECT_NUMBER]@compute-system.iam.gserviceaccount.com
注意这是 PROJECT_NUMBER
,而不是 PROJECT_ID
。