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



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

Cloud KMS中的资源是谷歌云平台资源,可以使用IAM管理其访问,并使用云审计日志进行访问审计。您应该设置权限,将加密密钥的使用限制为只有那些应该有访问权限的个人。

你可以应用职责分离的原则——管理加密密钥的人不应该是访问这些密钥所保护的内容(如机密)的同一个人。实际上,你应该给一个人密钥管理权限,比如密钥轮换等(IAM角色:云KMS管理员);以及其他人的密钥使用权限,如加密/解密以访问数据(IAM角色:Cloud KMS CryptoKey Encrypter/Decryptor)。

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

为了让用户能够使用角色Cloud KMS Admin管理密钥,请使用gcloud run:

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

要使服务帐户能够使用角色为Cloud KMS CryptoKey Encrypter/Decryptor的密钥进行加密和解密,请使用gcloud run:

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

最新更新