使用云存储时,对Cloud KMS密钥的权限被拒绝

幻灯片放映

我正在使用cloud storage带有kms密钥的文件上传。这是我的代码:

await storage.bucket(config.bucket).upload(file, {
  kmsKeyName: `projects/${process.env.PROJECT_ID}/locations/global/keyRings/test/cryptoKeys/nodejs-gcp`,
  destination: 'mmczblsq.kms.encrypted.doc'
});

我有一个cloud-storage-admin.json获得cloud storage admin许可服务帐户storage使用此服务帐户初始化

const storage: Storage = new Storage({
  projectId: process.env.PROJECT_ID,
  keyFilename: path.resolve(__dirname, '../.gcp/cloud-storage-admin.json')
});

而且,我使用gcloud kms keys add-iam-policy-binding添加roles/cloudkms.cryptoKeyEncrypterDecryptercloud-storage-admin.json服务帐户。

当我尝试使用kms密钥上传文件时,仍然出现此权限错误:

对Cloud KMS密钥的权限被拒绝。请确保您的Cloud Storage服务帐户已被授权使用此密钥。

更新

☁  nodejs-gcp [master] ⚡  gcloud kms keys get-iam-policy nodejs-gcp --keyring=test --location=global
bindings:
- members:
  - serviceAccount:cloud-storage-admin@<PROJECT_ID>.iam.gserviceaccount.com
  - serviceAccount:[email protected]
  role: roles/cloudkms.cryptoKeyEncrypterDecrypter
etag: BwWJ2Pdc5YM=
version: 1
塞斯瓦尔戈

使用时kmsKeyName,Google Cloud Storage是调用KMS的实体,而不是您的服务帐户。这有点令人困惑:

  1. 您的服务帐户有权调用Cloud Storage API
  2. 然后,云存储服务帐户会在传输过程中调用KMS API

您将需要获得Cloud Storage服务帐户并授予该服务帐户调用Cloud KMS的能力:

  • 选项1:打开API资源管理器,授权并执行
  • 选项2:安装gcloud,对gcloud进行身份验证,安装oauth2l,然后运行以下curl命令替换[PROJECT_ID]为您的项目ID:

    curl -X GET -H "$(oauth2l header cloud-platform)" \
      "https://www.googleapis.com/storage/v1/projects/[PROJECT_ID]/serviceAccount"
    
  • 选项3:相信我,它的格式service-[PROJECT_NUMBER]@gs-project-accounts.iam.gserviceaccount.com可以[PROJECT_NUMBER]gcloud projects listWeb界面获取信息。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用SSH克隆存储库时出现“权限被拒绝”错误?

来自分类Dev

未能使用错误消息“权限被拒绝(公共密钥)”来加密远程主机

来自分类Dev

安装Yo时权限被拒绝

来自分类Dev

调用onMessageReceived时的权限拒绝

来自分类Dev

使用JSch拒绝权限

来自分类Dev

使用GitHub部署密钥进行Git远程拉取-权限被拒绝

来自分类Dev

使用Java编写文件时权限被拒绝

来自分类Dev

Google Cloud SCP权限被拒绝

来自分类Dev

权限被拒绝复制时出错?

来自分类Dev

ECS容器无法使用AWS KMS密钥,因为访问被拒绝

来自分类Dev

使用“ --set-sql-instance”参数部署到云时,拒绝云构建权限

来自分类Dev

拒绝Cloud Function使用KMS密钥解密的权限

来自分类Dev

正在显示“权限被拒绝(密码)”。在SSH.NET中进行多因素身份验证(密钥和密码)时

来自分类Dev

使用烧瓶时“权限被拒绝”

来自分类Dev

下载Drupal时权限被拒绝

来自分类Dev

使用rubyzip时权限被拒绝

来自分类Dev

SSH使用外部存储中的密钥-权限?

来自分类Dev

写入文件时拒绝权限

来自分类Dev

杀死进程时“权限被拒绝”

来自分类Dev

使用csshX时如何修复“权限被拒绝”

来自分类Dev

设置chmod时拒绝权限

来自分类Dev

使用“ man”拒绝权限

来自分类Dev

“授予或拒绝此应用程序使用此密钥的权限”消息

来自分类Dev

写入RandomAccessFile时权限被拒绝

来自分类Dev

权限被拒绝复制时出错?

来自分类Dev

Google Cloud SCP权限被拒绝

来自分类Dev

加载密钥时,opendkim权限被拒绝

来自分类Dev

使用命名存储桶创建存储触发器时权限被拒绝

来自分类Dev

克隆项目时权限被拒绝

Related 相关文章

热门标签

归档