An enterprise is migrating its legacy inventory system to a multi-account AWS environment. A legacy application running on-premises must write daily inventory reports directly to an Amazon S3 bucket located in a centralized AWS account. The company's security policy strictly prohibits the storage of long-term AWS security credentials on-premises. Which solution meets these requirements with the least operational overhead?
- ACreate an AWS Systems Manager Parameter Store parameter of type String containing static AWS credentials, and configure the on-premises application to retrieve them using the AWS CLI at startup.
- BCreate a dedicated IAM user in the AWS account, generate access keys, and configure the on-premises application to use these credentials stored in a local configuration file.
- Implement AWS IAM Roles Anywhere. Configure a trust anchor with the on-premises Certificate Authority (CA), define an IAM role with permissions to write to the S3 bucket, and exchange X.509 certificates for temporary AWS credentials.Answer
- DGenerate an access key for the AWS account root user, and configure the on-premises application to use these credentials to ensure the application has administrative rights to write to any bucket.
Answer
Implement AWS IAM Roles Anywhere by establishing a trust anchor with the on-premises Certificate Authority (CA), defining an IAM role, and exchanging X.509 certificates for temporary AWS credentials.
The solution that configures AWS IAM Roles Anywhere is correct because it uses X.509 digital certificates from an on-premises Certificate Authority to authenticate and retrieve temporary, short-lived credentials. This avoids the security risk of storing long-term credentials on physical on-premises servers.
Step-by-Step Solution
Key Concept
Exchanging X.509 certificates for short-lived credentials via AWS IAM Roles Anywhere