Javascript 使用GCloud KMS作为依赖项访问私有repo生成加密密钥时出错
我正试图将加密的ssh密钥添加到google KMS中,使用它作为对google App Engine(Node.JS项目)的依赖来访问私有存储库 我已成功生成Cloud KMS密钥环和加密密钥,但在加密密钥时遇到错误 (gcloud.kms.encrypt)权限\u被拒绝:权限 资源的“cloudkms.cryptoKeyVersions.useToEncrypt”被拒绝 “项目/测试/位置/全局/密钥环/我的密钥环/加密密钥/密钥”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
需要一些帮助来设置此功能,以便我可以在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。正确,您没有加密权限。您的项目所有者需要向服务帐户添加正确的权限。