Define a PermissionBoundaries policy and a DeveloperBoundary attached to the CreateAndManageUsers role

Answer Correct answer: C, E — define PermissionBoundaries as the delegation ceiling and attach DeveloperBoundary to the CreateAndManageUsers role.

A company uses an organization in AWS Organizations to manage multiple AWS accounts in a hierarchical structure. An SCP that is associated with the organization root allows IAM users to be created. A DevOps team must be able to create IAM users with any level of permissions. Developers must also be able to create IAM users. However, developers must not be able to grant new IAM users excessive permissions. The developers have the CreateAndManageUsers role in each account. The DevOps team must be able to prevent other users from creating IAM users. Which combination of steps will meet these requirements? (Choose two.)

  1. Create an SCP in the organization to deny users the ability to create and modify IAM users. Attach the SCP to the root of the organization. Attach the CreateAndManageUsers role to developers.
  2. Create an SCP in the organization to grant users that have the DeveloperBoundary policy attached the ability to create new IAM users and to modify IAM users. Configure the SCP to require users to attach the PermissionBoundaries policy to any new IAM user. Attach the SCP to the root of the organization.
  3. Create an IAM permissions policy named PermissionBoundaries within each account. Configure the PermissionBoundaries policy to specify the maximum permissions that a developer can grant to a new IAM user. Correct Answer
  4. Create an IAM permissions policy named PermissionBoundaries within each account. Configure PermissionsBoundaries to allow users who have the PermissionBoundaries policy to create new IAM users.
  5. Create an IAM permissions policy named DeveloperBoundary within each account. Configure the DeveloperBoundary policy to allow developers to create IAM users and to assign policies to IAM users of only if the developer includes the PermissionBoundaries policy as the permissions boundary. Attach the DeveloperBoundary policy to the CreateAndManageUsers role within each account. Correct Answer

Community Votes

CE
100%

100% of anonymous learners picked answer CE. Votes are pick records left by other test-takers — they are not the verified answer.

Community Insight

The requirement separates what developers may do from what they may grant, and only a permissions boundary distinguishes the two. PermissionBoundaries defines the ceiling that a developer is allowed to delegate, which is exactly what a permissions boundary is designed for and what AWS recommends for restricting delegated administrators (C). DeveloperBoundary then grants the developers the ability to create users and attach policies conditionally on that boundary being applied, and attaching it to the CreateAndManageUsers role means the developers actually inherit it (E). Because both the boundary on the delegated user and the boundary on the role are enforced by IAM and cannot be overridden, the excessive-permission path is closed without any SCP, which is what keeps the DevOps team's own unrestricted ability intact.

Both the DevOps team and the developers must be able to create IAM users, but developers must not be able to grant those users excessive permissions, and other users must be prevented from creating IAM users. A permissions policy named PermissionBoundaries is created in each account defining the maximum permissions a developer may grant to a new IAM user, which caps what any user created by a developer can receive. A second policy named DeveloperBoundary is attached to the CreateAndManageUsers role, permitting the developers to create IAM users and assign policies to them only when the PermissionBoundaries policy is included as the permissions boundary of the new user. Because a boundary cannot be exceeded, a developer cannot grant more than the defined maximum even if they try.

Creating an SCP that denies the ability to create and modify IAM users and attaching the CreateAndManageUsers role to developers (A) — Impromptu's objection is decisive, that this prevents everyone from creating IAM users, so both the DevOps team and the developers would be unable to create users at all, which contradicts the requirement that both groups be able to create them. Creating a policy that grants users with the DeveloperBoundary policy the ability to create and modify IAM users and requiring the PermissionBoundaries policy (B) — an SCP cannot grant permissions and cannot require a permissions boundary to be attached, so this conflates an authorization guardrail with a delegation-limits mechanism; it also would prevent the DevOps team from creating users with any level of permissions. Configuring PermissionBoundaries to allow users who have it to create IAM users (D) — that inverts the purpose of the policy: it would let anyone holding the boundary policy create users rather than capping what a developer may grant, so it does not limit excessive permissions.

Community Discussion (4 comments)

Ky_24 👍 4 Selected: CE
1. IAM user creation: • Both the DevOps team and developers should be able to create IAM users. 2. Permissions control: • Developers should be restricted from granting excessive permissions to the IAM users they create. 3. Prevention of unauthorized IAM user creation: • Only the designated roles (DevOps and developers) should create IAM users. To achieve this, AWS Permissions Boundaries provide an effective way to enforce limits on the permissions that developers can assign
ArunRav 👍 3 Selected: CE
SCP in A denies the access to everyone but it doesnt explain the details about PermissionBoundaries policy used in C option. When you combine the C option with E option ie Creation of PermissionBoundaries policy to create the boundary and Creation of Developer boundary policy which allow developers to have access with boundaries mentioned in PermissionBoundaries make sense. Hence CE
Impromptu 👍 4 Selected: CE
A would prevent anyone to create IAM users, so both DevOps teams and Developers cannot create IAM users. B would prevent DevOps team to create IAM users "with any level of permissions". C would create the permission boundary that defines the maximum permissions of a user created by the Developers. D does not work like that. The permission boundary would be used for preventing too many permissions on a user created by the Developers, and not for giving them user creation rights as well. E would give the Developers the permissions to create users, but would force them to also attach the permission boundary (created in C) to the new user, limiting their permissions correctly (even if the Developer would give that user too many permissions)
uncledana 👍 1 Selected: AE
Option A provides the control at the organizational level to deny IAM user creation by non-DevOps users. • Option E ensures that developers can create users with limited permissions by enforcing Permission Boundaries, ensuring they cannot assign excessive permissions. This combination effectively meets the requirements with the least operational overhead.

Comments & Corrections

No comments yet — spotted an error or have a note? Share it below.

Log in to comment, report an error, or add a note about this question.

Submitted for moderation before publishing. Keep it helpful and respectful.

Expert Analysis

Why the Answer Is Correct

The requirement has three parts: the DevOps team must create IAM users with any level of permissions, the developers must also be able to create IAM users, and developers must not be able to grant new users excessive permissions. The mechanism that separates the ability to act from the ability to delegate is the IAM permissions boundary, because a boundary caps the maximum permissions a principal can hold and is evaluated alongside identity-based policies so that the effective permissions are always within it. An IAM policy named PermissionBoundaries is therefore created within each account, configured to specify the maximum permissions a developer can grant to a new IAM user (C). This is precisely the use AWS recommends for restricting delegated administrators such as developers, since the boundary limits what any user created by a developer may receive no matter what policies the developer attaches. A second policy named DeveloperBoundary is then created, configured to allow developers to create IAM users and to assign policies to those users only if the developer includes the PermissionBoundaries policy as the permissions boundary, and it is attached to the CreateAndManageUsers role so the developers actually inherit it (E). Because both boundaries are enforced by IAM and cannot be overridden by any allow, a developer cannot exceed the defined maximum, while the DevOps team, who are not bound by the boundary, retains unrestricted ability. Ky_24 and Impromptu both reasoned this way, and ArunRav noted that combining C with E enforces the boundary on delegated users. C and E are the correct combination.

Why the Other Options Are Wrong

A creates an SCP in the organization denying users the ability to create and modify IAM users, attaches it to the organization root, and attaches the CreateAndManageUsers role to developers. As Impromptu pointed out, an SCP denying the creation and modification of IAM users applies to every principal beneath it, so both the DevOps team and the developers would be prevented from creating IAM users at all, contradicting the explicit requirement that both groups must be able to create them. uncledana favored A on the theory that it provides control at the organizational level for non-DevOps users, but it cannot distinguish between the two groups and so blocks the DevOps team as well. B creates an SCP that grants users with the DeveloperBoundary policy the ability to create and modify IAM users and configures it to require the PermissionBoundaries policy on any new IAM user. This conflates two different mechanisms: an SCP is an authorization guardrail that can only subtract permissions and cannot grant them, and it has no ability to require that a permissions boundary be attached to a newly created user. Impromptu noted it would also prevent the DevOps team from creating users with any level of permissions. D configures the PermissionBoundaries policy to allow users who have that policy to create new IAM users. This inverts the policy's purpose: rather than capping what a developer may grant, it would grant creation rights to anyone holding the policy, so it does not limit excessive permissions and leaves the arbitrary-permission path open. C and E are correct.

Community Comment Notes

Community voted C,E (92). Ky_24 identified the two requirements precisely, that both the DevOps team and developers should be able to create IAM users, and that developers should be restricted from granting excessive permissions to those users. ArunRav explained the combination, that the SCP in A denies access to everyone without addressing the PermissionBoundaries policy, whereas combining C and E applies the boundary to what a developer-created user can receive. Impromptu gave a succinct elimination of every alternative, that A would prevent anyone including the DevOps team from creating users, that B would prevent the DevOps team from creating users with any level of permissions, and that C would create the boundary correctly. uncledana favored A and E, preferring the organizational-level SCP, which reflects a real design option but does not satisfy the requirement that the DevOps team retain unrestricted user creation. No alternative received majority support.

Official Reference

Related Analysis

Practice All DOP-C02 Questions

Access 85 questions with complete answers and detailed explanations.

View Full DOP-C02 Practice Test →

← Back to DOP-C02 Study Guide