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>