使用Cloud KMS加密数据是否足以阻止我的组织的员工访问加密数据?有哪些最佳做法可以避免不必要的曝光?
答案 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