An enterprise is designing a secure centralized log collection system. Application servers running on Amazon EC2 instances in a Production account () must write transaction logs directly to an Amazon S3 bucket located in a central Security account (). The solutions architect must enforce the following security and compliance controls:
- Data Encryption: All log objects uploaded to the S3 bucket must be encrypted at rest using an AWS KMS key that supports automatic annual rotation.
- Access Control: The EC2 instance IAM role in the Production account must have permission to write objects to the S3 bucket and encrypt them, but must be prevented from reading, downloading, or decrypting any objects stored in the bucket.
- Data Loss Prevention: No users or roles within the AWS Organization, including administrators, are allowed to delete objects in the S3 bucket, with the sole exception of a central `SecurityAuditRole` in the Security account.
Which combination of configuration steps will satisfy these compliance requirements?
- AConfigure the S3 bucket in the Security account to use the default AWS-managed KMS key (`aws/s3`) for encryption. In the S3 bucket policy in the Security account, allow `s3:PutObject` from the Production EC2 role. Attach an SCP to the Organization root that denies `s3:DeleteObject*` with a condition block specifying `"ArnNotEquals": {"aws:PrincipalArn": "arn:aws:iam::444455556666:role/SecurityAuditRole"}`.
- BCreate a Customer Managed Key (CMK) in the Security account with automatic key rotation enabled. Attach an SCP to the OUs containing the Production and Security accounts that allows `s3:PutObject` and `kms:GenerateDataKey` actions from the Production EC2 role to the Security account S3 bucket and CMK. Deny `s3:DeleteObject*` in the SCP with a condition block specifying `"ArnNotEquals": {"aws:PrincipalArn": "arn:aws:iam::444455556666:role/SecurityAuditRole"}`.
- Create a Customer Managed Key (CMK) in the Security account with automatic key rotation enabled. In the CMK key policy, grant the Production EC2 role permissions for `kms:GenerateDataKey`. In the S3 bucket policy in the Security account, allow `s3:PutObject` from the Production EC2 role. Attach an SCP to the Organization root that denies `s3:DeleteObject*` with a condition block specifying `"ArnNotEquals": {"aws:PrincipalArn": "arn:aws:iam::444455556666:role/SecurityAuditRole"}`.Answer
- DCreate a Customer Managed Key (CMK) in the Security account with automatic key rotation enabled. In the CMK key policy, grant the Production EC2 role permissions for `kms:GenerateDataKey`. Configure the S3 bucket policy in the Security account using a wildcard principal (`"Principal": "*"`) with an `"aws:PrincipalOrgID"` condition to allow write access, and omit the specific Production EC2 role ARN. Attach an SCP to the Organization root that denies `s3:DeleteObject*` with a condition block specifying `"ArnNotEquals": {"aws:PrincipalArn": "arn:aws:iam::444455556666:role/SecurityAuditRole"}`.