A global media streaming provider has organized its cloud environment using AWS Organizations. The structure contains a root OU, a Production OU, and a Sandbox OU. The engineering team has the following governance requirements:
- Developers in Sandbox accounts require full administrative permissions to experiment but must be prevented from disabling AWS Security Hub or deleting its resources.
- Member accounts in the Production OU must only deploy resources in the us-east-1 and eu-west-1 regions.
- An emergency response team requires the ability to bypass the regional restrictions in the Production OU during active incidents to deploy resources globally, but this bypass must be restricted to a specific emergency IAM role (EmergencyAdminRole) that is only assumable via multi-factor authentication (MFA).
Which governance strategy should a solutions architect recommend to satisfy these requirements with the least operational overhead?
- Attach a Service Control Policy (SCP) to the Sandbox OU that denies securityhub:* actions. Attach an SCP to the Production OU that denies all actions except for global services and operations in us-east-1 and eu-west-1, with a Condition block that excludes the EmergencyAdminRole role and requires aws:MultiFactorAuthPresent to be true. Create the administrative and emergency roles locally in each member account with appropriate IAM policies.Answer
- BAttach an SCP to the Sandbox OU that grants administrator privileges to developers while denying securityhub:* actions. Attach an SCP to the Production OU that grants full access in us-east-1 and eu-west-1, and grants access to other regions only if the principal is the EmergencyAdminRole and aws:MultiFactorAuthPresent is true, eliminating the need to manage individual IAM policies in the member accounts.
- CAttach a permissions boundary to all developer roles in the Sandbox OU that permits all actions except securityhub:*. For the Production OU, create a custom AWS KMS customer managed key to encrypt all IAM policies, and use a cross-account IAM trust policy to allow the EmergencyAdminRole from the management account to assume roles in production accounts without MFA, since the trust policy inherits cross-account trust automatically.
- DAttach an SCP to the Sandbox OU that denies securityhub:* actions. For the Production OU, configure an AWS KMS key policy on an AWS-managed key (aws/kms) that denies encryption/decryption in other regions except for the EmergencyAdminRole. Use a Service Control Policy to restrict regions for all accounts, but disable the SCP dynamically using an AWS Lambda function triggered by AWS CloudTrail when the EmergencyAdminRole is assumed with MFA.