Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用GCloud KMS作为依赖项访问私有repo生成加密密钥时出错_Javascript_Node.js_Google App Engine_Google Cloud Platform_Gcloud - Fatal编程技术网

Javascript 使用GCloud KMS作为依赖项访问私有repo生成加密密钥时出错

Javascript 使用GCloud KMS作为依赖项访问私有repo生成加密密钥时出错,javascript,node.js,google-app-engine,google-cloud-platform,gcloud,Javascript,Node.js,Google App Engine,Google Cloud Platform,Gcloud,我正试图将加密的ssh密钥添加到google KMS中,使用它作为对google App Engine(Node.JS项目)的依赖来访问私有存储库 我已成功生成Cloud KMS密钥环和加密密钥,但在加密密钥时遇到错误 (gcloud.kms.encrypt)权限\u被拒绝:权限 资源的“cloudkms.cryptoKeyVersions.useToEncrypt”被拒绝 “项目/测试/位置/全局/密钥环/我的密钥环/加密密钥/密钥” 需要一些帮助来设置此功能,以便我可以在GAE上使用此ssh

我正试图将加密的ssh密钥添加到google KMS中,使用它作为对google App Engine(Node.JS项目)的依赖来访问私有存储库

我已成功生成Cloud KMS密钥环和加密密钥,但在加密密钥时遇到错误

(gcloud.kms.encrypt)权限\u被拒绝:权限 资源的“cloudkms.cryptoKeyVersions.useToEncrypt”被拒绝 “项目/测试/位置/全局/密钥环/我的密钥环/加密密钥/密钥”


需要一些帮助来设置此功能,以便我可以在GAE上使用此ssh密钥。

您没有IAM权限用于加密功能

建议:不要在SSH真正的密钥上练习。将它们复制到不同的目录中。然后学习如何在副本上使用IAM和KMS

需要一些帮助来设置它,以便我可以在GAE上使用此ssh密钥

我不确定您试图通过KMS加密SSH密钥来实现什么,以便在GAE上使用

允许用户或服务帐户使用密钥加密或解密 使用特定密钥时,它们必须具有 cloudkms.cryptoKeyEncrypterDecrypter,cloudkms.cryptoKeyEncrypter, cloudkms.cryptoKeyDecrypter或所有者角色,如中的图表所示 权限和角色

授予服务帐户权限的命令示例:

gcloud kms keys add-iam-policy-binding \
  golden-egg --location global --keyring golden-goose \
  --member serviceAccount:my-service-account@my-project.iam.gserviceaccount.com \
  --role roles/cloudkms.cryptoKeyEncrypterDecrypter
gcloud kms keys add-iam-policy-binding \
  golden-egg --location global --keyring golden-goose \
  --member user:sillygoose@gmail.com \
  --role roles/cloudkms.cryptoKeyEncrypterDecrypter
授予用户权限的类似命令:

gcloud kms keys add-iam-policy-binding \
  golden-egg --location global --keyring golden-goose \
  --member serviceAccount:my-service-account@my-project.iam.gserviceaccount.com \
  --role roles/cloudkms.cryptoKeyEncrypterDecrypter
gcloud kms keys add-iam-policy-binding \
  golden-egg --location global --keyring golden-goose \
  --member user:sillygoose@gmail.com \
  --role roles/cloudkms.cryptoKeyEncrypterDecrypter


在CloudBuild上启用设置

云构建->设置->云KMS-云KMS加密密钥解密程序->已启用


这对我很有效

请不要使用截图显示您的问题。这会阻止其他人搜索类似的问题,也会阻止他们找到您的问题。@JohnHanley抱歉,我添加了我面对问题的那一行。我的回答解释了问题所在以及如何更正。您好,非常感谢您的回复。实际上,我试图允许访问私有git存储库,它是我的package.json文件中的一个依赖项。为此,我需要使用云KMS。如果这是一个权限问题,那么我会要求我的组织允许访问服务帐户中的云KMS。正确,您没有加密权限。您的项目所有者需要向服务帐户添加正确的权限。