You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Cloud KMS密钥创建Cloud Storage存储桶时的权限问题

GCP Cloud Storage使用CMEK创建存储桶权限问题解决

错误信息

The service-XXXXX345XXXX@gs-project-accounts.iam.gserviceaccount.com service account does not have the 'cloudkms.cryptoKeyEncrypterDecrypter' role.Verify that the service account has permission to encrypt/decrypt with the selected key.

You need permissions for this action.
Required permission(s):

projects/test/locations/europe-west2/keyRings/integrations-test-data/cryptoKeys/integrations-test-data
All of cloudkms.cryptoKeys.getIamPolicy and cloudkms.cryptoKeys.setIamPolicy

问题1:该服务账号归属何处?

这个服务账号是Cloud Storage的项目级服务账号,归属你当前正在创建存储桶的GCP项目。账号格式为service-[项目编号]@gs-project-accounts.iam.gserviceaccount.com,是GCP自动为Cloud Storage服务生成的,用于代表Storage服务执行与CMEK相关的加密、解密操作。

问题2:如何为该服务账号添加权限以解决此问题?

前提说明

错误中提到的cloudkms.cryptoKeys.getIamPolicy和cloudkms.cryptoKeys.setIamPolicy权限,是你当前登录控制台的操作账号需要具备的权限,确保你拥有KMS密钥的IAM编辑权限(比如roles/cloudkms.admin或roles/owner角色),否则无法完成后续权限添加操作。

方法1:通过Cloud控制台操作

  • 打开Cloud KMS控制台,定位到错误信息中指定的密钥:projects/test/locations/europe-west2/keyRings/integrations-test-data/cryptoKeys/integrations-test-data
  • 进入该密钥的「权限」标签页
  • 点击「添加权限」,在「新成员」输入框中填入目标服务账号:service-XXXXX345XXXX@gs-project-accounts.iam.gserviceaccount.com
  • 在「角色」下拉列表中搜索并选择Cloud KMS CryptoKey Encrypter/Decrypter(对应权限cloudkms.cryptoKeyEncrypterDecrypter)
  • 点击「保存」完成权限配置

方法2:通过gcloud命令行操作

执行以下命令为服务账号添加对应角色(替换命令中的占位符为实际值):

gcloud kms keys add-iam-policy-binding integrations-test-data \
  --location europe-west2 \
  --keyring integrations-test-data \
  --member serviceAccount:service-XXXXX345XXXX@gs-project-accounts.iam.gserviceaccount.com \
  --role roles/cloudkms.cryptoKeyEncrypterDecrypter

内容的提问来源于stack exchange,提问作者SRJ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 18:13:11