An enterprise has a multi-account AWS environment managed under AWS Organizations. Developers access resources in the member accounts by federating through AWS IAM Identity Center. A security audit of the existing setup reveals that developers can log in from any internet-facing location and perform actions. Additionally, some developers have accidentally disabled Amazon GuardDuty and Amazon Security Hub in their respective sandbox accounts.
The security team wants to implement a solution that:
1. Restricts all developer API operations to only be allowed when originating from the corporate office public IP range .
2. Ensures that AWS services can still perform actions on behalf of the developers (such as AWS CloudFormation deploying resources or Auto Scaling launching instances).
3. Prevents any IAM user or role in the member accounts from disabling GuardDuty or Security Hub.
Which solution meets these requirements with the least operational overhead?
- Attach a Service Control Policy (SCP) to the organization's root. In the SCP, implement a Deny rule for all actions with a condition that denies access if the source IP is not in and the request is not made by an AWS service on behalf of the user. In the same SCP, include a Deny rule for actions matching guardduty:Delete*, guardduty:Disassociate*, guardduty:Update*, securityhub:Delete*, and securityhub:Disable*.Answer
- BAttach a Service Control Policy (SCP) to the organization's root that denies all actions if the source IP is not in . In the same SCP, deny all actions matching guardduty:Delete*, guardduty:Disassociate*, guardduty:Update*, securityhub:Delete*, and securityhub:Disable*.
- CDefine an IAM permission boundary in each member account that denies all actions if the source IP is not in , and associate it with all IAM roles. Configure a local IAM policy in each account to deny access to GuardDuty and Security Hub modification APIs. Use AWS CloudFormation StackSets to deploy these policies to all accounts.
- DUpdate the trust policies of the IAM roles provisioned by IAM Identity Center in each member account to include a condition that restricts the sts:AssumeRole action to requests originating from . Deploy an SCP that denies GuardDuty and Security Hub modification actions across the organization.