2.14 Ensure IAM users receive permissions only through groups

Information

IAM users are granted access to services, functions, and data through IAM policies. There are four ways to define policies for a user: 1) Edit the user policy directly, also known as an inline or user policy; 2) attach a policy directly to a user; 3) add the user to an IAM group that has an attached policy; 4) add the user to an IAM group that has an inline policy.

Only the third implementation is recommended.

Assigning IAM policies solely through groups unifies permissions management into a single, flexible layer that is consistent with organizational functional roles. By unifying permissions management, the likelihood of excessive permissions is reduced.

Solution

From Console:

Perform the following to create an IAM group and assign a policy to it:

- Sign in to the AWS Management Console and open the IAM console at https://console.aws.amazon.com/iam/.
- In the navigation pane, click Groups and then click Create New Group.
- In the Group Name box, type the name of the group and then click Next Step.
- In the list of policies, select the check box for each policy that you want to apply to all members of the group. Then click Next Step.
- Click Create Group.

Perform the following to add a user to a given group:

- Sign in to the AWS Management Console and open the IAM console at https://console.aws.amazon.com/iam/.
- In the navigation pane, click Groups.
- Select the group to add a user to.
- Click Add Users To Group.
- Select the users to be added to the group.
- Click Add Users.

Perform the following to remove a direct association between a user and policy:

- Sign in to the AWS Management Console and open the IAM console at https://console.aws.amazon.com/iam/.
- In the left navigation pane, click on Users.
- For each user:
- Select the user
- Click on the Permissions tab
- Expand Permissions policies
- Click X for each policy; then click Detach or Remove (depending on policy type)

From Command Line:

- Create the IAM user group:

aws iam create-group --group-name <new_IAM_group_name>
- Attach the policy to the IAM user group:

aws iam attach-group-policy --group-name <new_IAM_group_name> --policy-arn <IAM_policy_ARN>
- Perform the following to add a user to a given group:

aws iam add-user-to-group --user-name <IAM_user_name> --group-name <new_IAM_group_name>
- Perform the following to remove a direct association between a user and policy:

aws iam detach-user-policy --user-name <IAM_user_name> --policy-arn <IAM_policy_ARN>
- Delete an inline policy from an IAM user:

aws iam delete-user-policy --user-name <IAM_user_name> --policy-name <IAM_policy_name>

See Also

https://workbench.cisecurity.org/benchmarks/21960

Item Details

Category: ACCESS CONTROL, AUDIT AND ACCOUNTABILITY

References: 800-53|AC-2, 800-53|AC-3, 800-53|AC-6, 800-53|AC-6(1), 800-53|AC-6(7), 800-53|AU-9(4), CCE|CCE-78912-3, CSCv7|16.1, STIG-ID|CCE-78912-3

Plugin: amazon_aws

Control ID: eae2d5a3740c63a8b3f975b1c000eb17788f3156b305a1ea3364dc00426b5199