Ven*_*ius 4 google-app-engine google-cloud-platform google-cloud-kms
这篇GCP文章建议使用两个独立的项目:一个用于密钥管理,另一个用于加密/解密.
这似乎是一个适用于用户角色的设置,但不适用于服务角色,因为服务角色绑定到它所属的项目.我错过了什么吗?
实际上是否有一种方法可以创建一个角色(在项目1中,比如项目1),创建KMS密钥,然后有一个服务角色(在项目2中),它可以在运行时访问所述密钥以进行解密?
小智 8
这是可能的!您可以在不同项目中添加具有主体(成员)和资源的IAM策略.
要授予svcacct@project2.iam.gserviceaccount.com对特定密钥的解密访问权限project1,您可以例如:
$ KMS_KEY_RESOURCE_NAME=projects/project1/locations/${location}/keyRings/${keyring_name}/cryptoKeys/${crypto_key_name}
$ gcloud kms keys add-iam-policy-binding \
--location ${location} ${KMS_KEY_RESOURCE_NAME} \
--member serviceAccount:svcacct@project2.iam.gserviceaccount.com \
--role roles/cloudkms.cryptoKeyDecrypter
Run Code Online (Sandbox Code Playgroud)
您也可以svcacct@project2.iam.gserviceaccount.com直接粘贴到"权限"下的"添加成员"文本框中,以便在http://console.cloud.google.com/iam-admin/kms?project=project1下选择KeyRing或Key.
| 归档时间: |
|
| 查看次数: |
782 次 |
| 最近记录: |