A multi-department enterprise needs to grant a third-party auditing firm temporary, read-only access to specific AWS Billing reports and Amazon CloudTrail logs in their production AWS account. The auditing firm has its own AWS account. Which of the following approaches is the most secure and aligns with AWS Identity and Access Management (IAM) best practices to accomplish this?
- Create an IAM role in the enterprise account that trusts the auditing firm's AWS account, requiring an external ID, and attach a policy that grants read-only access to the billing and CloudTrail resources.Answer
- BGenerate access keys for the enterprise account's root user and configure a strict IP-based policy to restrict the auditing firm's access to the enterprise's office network.
- CCreate a dedicated IAM user in the enterprise account, assign permanent access keys to the auditing firm, and enable Multi-Factor Authentication (MFA) for the API access.
- DOpen an AWS Support ticket requesting AWS to manage the secure transfer of billing data and CloudTrail logs to the auditing firm's account under the AWS Shared Responsibility Model.
Answer
Create an IAM role in the enterprise account that trusts the auditing firm's AWS account, requiring an external ID, and attach a policy that grants read-only access to the billing and CloudTrail resources.
The correct option correctly identifies using a cross-account IAM role with an external ID. An IAM role is designed for delegating secure access without needing to share long-term AWS credentials. The trust policy permits the third party's AWS account to assume the role, and the external ID prevents the confused deputy security issue.
Step-by-Step Solution
Key Concept
Delegating access to AWS resources using IAM roles for cross-account third-party entities