A DevOps engineer is configuring Customer-Managed Encryption Keys (CMEK) in Google Cloud KMS for a Cloud Storage bucket that stores database backups. Corporate security policy mandates strict separation of duties: the Cloud Storage service agent must only be able to perform encryption and decryption operations with the key, while the security operations team must manage key lifecycle and IAM access policies without having permission to encrypt or decrypt data. Which TWO actions should be performed to satisfy these requirements?
- Grant the Cloud Storage Service Agent the Cloud KMS CryptoKey Encrypter/Decrypter role (roles/cloudkms.cryptoKeyEncrypterDecrypter) on the specific CryptoKey.Answer
- Grant the security operations team the Cloud KMS Admin role (roles/cloudkms.admin) on the CryptoKey or Key Ring.Answer
- CGrant the security operations team the Owner primitive role (roles/owner) on the project hosting the Cloud KMS key ring.
- DAssign the Cloud Storage Service Agent permissions at the organization level and define a folder-level deny policy for unapproved key rings.
- EDelete the Cloud KMS Key Ring immediately after binding the CryptoKey to Cloud Storage to clean up administrative resources.
Answer
To enforce separation of duties, grant the Cloud Storage Service Agent the Cloud KMS CryptoKey Encrypter/Decrypter role (roles/cloudkms.cryptoKeyEncrypterDecrypter) on the specific CryptoKey, and grant the security operations team the Cloud KMS Admin role (roles/cloudkms.admin) on the CryptoKey or Key Ring.
Enforcing separation of duties in Cloud KMS requires granting functional roles to separate identities: `roles/cloudkms.cryptoKeyEncrypterDecrypter` provides data access permissions specifically to the Cloud Storage service agent, while `roles/cloudkms.admin` provides administrative key management permissions to the security operations team without allowing them to decrypt stored data.
Step-by-Step Solution
Key Concept
Separation of Duties in Cloud KMS IAM Roles
Estimated Time:1m 30s