まくろぐ

AWS IAM の設定をコマンドライン (CLI) で行う

更新:
作成:

AWS CLI(aws コマンド)を使うと、様々な IAM 系の操作をコマンドラインから実行できるようになります。 ただし、IAM の制御を行えるのは、AdministratorAccess ポリシーなどが割り当てられ、IAM 操作の権限が付いているユーザーに限られます。

ユーザー関連

ユーザーの一覧を表示する(すべての情報)
# すべての情報
$ aws iam list-users
Users:
- Arn: arn:aws:iam::123456789012:user/Admin
  CreateDate: '2014-10-16T16:03:09+00:00'
  PasswordLastUsed: '2016-06-03T18:37:29+00:00'
  Path: /
  UserId: AIDA1111111111EXAMPLE
  UserName: Admin
- Arn: arn:aws:iam::123456789012:user/backup/backup-user
  CreateDate: '2019-09-17T19:30:40+00:00'
  Path: /backup/
  UserId: AIDA2222222222EXAMPLE
  UserName: arq-45EFD6D1-CE56-459B-B39F-F9C1F78FBE19
- Arn: arn:aws:iam::123456789012:user/cli-user
  CreateDate: '2019-09-17T19:30:40+00:00'
  Path: /
  UserId: AIDA3333333333EXAMPLE
  UserName: cli-user
{
    "Users": [
        {
            "Path": "/",
            "UserName": "Admin",
            "UserId": "AIDA1111111111EXAMPLE",
            "Arn": "arn:aws:iam::123456789012:user/Admin",
            "CreateDate": "2014-10-16T16:03:09+00:00",
            "PasswordLastUsed": "2016-06-03T18:37:29+00:00"
        },
        {
            "Path": "/backup/",
            "UserName": "backup-user",
            "UserId": "AIDA2222222222EXAMPLE",
            "Arn": "arn:aws:iam::123456789012:user/backup/backup-user",
            "CreateDate": "2019-09-17T19:30:40+00:00"
        },
        {
            "Path": "/",
            "UserName": "cli-user",
            "UserId": "AIDA3333333333EXAMPLE",
            "Arn": "arn:aws:iam::123456789012:user/cli-user",
            "CreateDate": "2019-09-17T19:11:39+00:00"
        }
    ]
}
ユーザーの一覧を表示する(ユーザー名だけ)
$ aws iam list-users --query='Users[].UserName'
指定したユーザーの情報を表示する
$ aws iam get-user --user-name=ユーザー名

グループ関連

グループの一覧を表示する
# すべての情報
$ aws iam list-groups

# グループ名だけを一覧表示
$ aws iam list-groups --query='Groups[].GroupName'
指定したグループの情報と、所属するユーザーの一覧を表示する
$ aws iam get-group --group-name=グループ名
ユーザーが所属するグループを表示する
# すべての情報
$ aws iam list-groups-for-user --user-name=ユーザー名

# ARN のみを一覧表示
$ aws iam list-groups-for-user --user-name=ユーザー名 --query 'Groups[].Arn'
$ aws iam list-groups-for-user --user-name susan --output text --query "Groups[].GroupName"

HRDepartment    Developers      SpreadsheetUsers  LocalAdmins
$ aws iam list-groups-for-user --user-name susan --output text --query "Groups[].[GroupName]"

HRDepartment
Developers
SpreadsheetUsers
LocalAdmins

アクセスキー関連

アクセスキーの一覧を表示する
# CLI 使用中のユーザーのアクセスキーを表示
$ aws iam list-access-keys

# 指定したユーザーのアクセスキーを表示
$ aws iam list-access-keys --user-name=ユーザー名
アクセスキーを作成する
# CLI 使用中のユーザーのアクセスキーを作成
$ aws iam create-access-key

# 指定したユーザーのアクセスキーを作成
$ aws iam create-access-key --user-name=ユーザー名
アクセスキーを削除する
# 指定した ID のアクセスキーを削除
$ aws iam delete-access-key --access-key-id=アクセスキーID

# 指定したユーザーのすべてのアクセスキーを削除
$ aws iam delete-access-key --user-name=ユーザー名

ポリシー関連

ポリシーの一覧を表示する
# すべて表示(大量)
$ aws iam list-policies

# ARN のみを一覧表示
$ aws iam list-policies --query='Policies[].Arn'

# 現在何らかのユーザー、グループ、ロールにアタッチされているポリシー
$ aws iam list-policies --only-attached
ユーザーに割り当てられたポリシーの一覧を表示する
$ aws iam list-attached-user-policies --user-name=ユーザー名
グループに割り当てられたポリシーの一覧を表示する
$ aws iam list-attached-group-policies --group-name=グループ名
ユーザーにポリシーを割り当てる
$ aws iam attach-user-policy --user-name=ユーザー名 --policy-arn=ポリシーARN

関連記事

まくろぐ
サイトマップまくへのメッセージ