如何防止内部人员访问使用Cloud KMS加密的数据或机密?

时间:2017-01-11 18:07:57

标签: google-cloud-kms

使用Cloud KMS加密数据是否足以阻止我的组织的员工访问加密数据?有哪些最佳做法可以避免不必要的曝光?

1 个答案:

答案 0 :(得分:1)

Cloud KMS中的资源是Google Cloud Platform资源,可以使用IAM管理访问权限,并使用Cloud Audit Logging审核访问权限。您应该设置权限,将加密密钥的使用仅限于应该具有访问权限的个人。

您可以应用职责分离原则 - 管理加密密钥的个人不应该是访问这些密钥保护的个人,例如秘密。实际上,您应该授予一个人密钥管理权限,例如密钥轮换等。(IAM角色:Cloud KMS Admin);和另一个人密钥使用权,比如加密/解密访问数据(IAM角色:Cloud KMS CryptoKey Encrypter / Decrypter)。

关于在Cloud KMS中分离职责的进一步讨论:https://cloud.google.com/kms/docs/separation-of-duties

使用gcloud run为用户提供使用角色Cloud KMS Admin管理密钥的功能:

gcloud beta kms cryptokeys add-iam-policy-binding \
    CRYPTOKEY_NAME --location LOCATION --keyring KEYRING_NAME \
    --member user:MY-USER@gmail.com \
    --role roles/cloudkms.admin

使用gcloud run:

为服务帐户提供使用具有角色Cloud KMS CryptoKey Encrypter / Decrypter的密钥加密和解密的功能
gcloud beta kms cryptokeys add-iam-policy-binding \
    CRYPTOKEY_NAME --location LOCATION --keyring KEYRING_NAME \
    --member serviceAccount:MY-SERVICE_ACCOUNT@MY-PROJECT.iam.gserviceaccount.com \
    --role roles/cloudkms.cryptoKeyEncrypterDecrypter