IAM Roles for Least Privilege Access Control
Short answer
B Define IAM roles that have fine-grained permissions based on the principle of least privilege and assign them to each developer.
Question
Key Takeaways
The core concept tested is Identity and Access Management (IAM) best practices, specifically the trap of confusing user-based credential management with role-based temporary security credentials.
This question evaluates the correct method for granting secure, fine-grained access to AWS resources using IAM roles and the principle of least privilege. It establishes why sharing credentials or using static keys is insecure compared to temporary role-based access.
Common mistake: Candidates often choose Option C because it mentions 'programmatic access,' but they fail to recognize that managing static access keys for multiple developers creates significant security risks and operational overhead compared to roles.
Expert Analysis
Why the Answer Is Correct
Option B is the only solution that aligns with AWS security best practices by utilizing IAM roles. Roles provide temporary security credentials automatically, eliminating the need to distribute long-term secrets. By assigning a unique role to each developer with permissions scoped to the principle of least privilege, the company ensures that developers only have access to the specific resources they require, minimizing the blast radius of any potential compromise.
Why the Other Options Are Wrong
Option A is critically insecure as sharing IAM user credentials violates fundamental security principles and makes audit trails impossible. Option C, while technically possible, requires managing static access keys which are prone to leakage and do not offer the automatic rotation benefits of roles. Option D is incorrect because AWS Cognito is designed for external end-users (web/mobile app users), not internal employees accessing AWS infrastructure.
Community Comment Notes
The community consensus strongly supports B, noting that roles allow for automatic credential rotation. As LeonSauveterre noted, "A - Sharing IAM user credentials is a security risk... B - IAM roles allow for temporary credentials." Some learners like KennethYY initially questioned if roles could be assigned to users, but clarified that roles are assumed rather than directly attached, making B still the correct conceptual answer over the others.
Official Reference
https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html
This link opens the official vendor documentation in a new tab.
Exam Strategy
Always look for 'least privilege' and 'temporary credentials' in security questions. If you see options involving sharing passwords or static keys, they are almost always wrong. Roles are the preferred mechanism for granting access between AWS services or to trusted entities.
Frequently Asked Questions
Can IAM roles be assigned directly to IAM users?
Why is AWS Cognito not suitable for internal developers?
Community Votes
100% of anonymous learners picked answer B. Votes are pick records left by other test-takers — they are not the verified answer.
Discussion 8 contributions
Compiled from public community threads and reader submissions, lightly edited for clarity. Handles and vote tallies are shown as recorded, and comments reflect the views of individual contributors.
From public community threads 8
-
Cpso 👍 2 Answered Bgood practice should B. but map role to Identity center federated to corporate IDP.
-
Bwhizzy 👍 2 Answered BB is the right answer. IAM Role
-
LeonSauveterre 👍 1 Answered BA - Sharing IAM user credentials is a security risk and violates AWS best practices. B - IAM roles allow for temporary credentials that can be automatically rotated, and that improves security. C - Would work but managing static keys for multiple developers introduces significant operational overhead. D - AWS Cognito is primarily designed for managing end-user authentication (for web or mobile apps or such), not for managing access to AWS resources for developers.
-
KennethYY 👍 1 Answered DA is wrong, common sense not security B is wrong, role cannot assign to user/group D is wrong, is designed for authentication and access control for web or mobile app users, not for internal developers accessing AWS resources. so remain C.
-
EllenLiu 👍 1 Answered BAWS Cognito is designed for authentication and access control for web or mobile app users, not for internal developers accessing AWS resources.
Show 3 more comments
-
muhammadahmer36 👍 1Create an AWS Cognito user pool. Grant developers access to AWS resources by using the user pool.
-
aragon_saa 👍 3 Answered BAnswer is B
-
EllenLiu 👍 1Sorry, go with B.
Reader comments & corrections
No reader corrections yet — spotted an error or have a note? Share it below.
Related Analysis
Practice All SAA-C03 Questions
Access 120 questions with complete answers and detailed explanations.
View Full SAA-C03 Practice Test →