AWS CLI での IAM の使用 - AWS Command Line Interface

AWS CLI での IAM の使用

AWS Identity and Access Management のご紹介

AWS Command Line Interface (AWS CLI) を使用して AWS Identity and Access Management (IAM) の機能にアクセスできます。IAM 用の AWS CLI コマンドを一覧表示するには、次のコマンドを使用します。

aws iam help

このトピックでは、IAM の一般的なタスクを実行する AWS CLI コマンドの例について説明します。

コマンドを実行する前に、デフォルトの認証情報を設定します。詳細については、「AWS CLI の設定を構成する」を参照してください。

IAM サービスの詳細については、AWS Identity and Access Management ユーザーガイドを参照してください。

IAM ユーザーおよびグループの作成

グループを作成してそのグループに新しいユーザーを追加するには
  1. グループを作成するには、create-group コマンドを使用します。

    $ aws iam create-group --group-name MyIamGroup { "Group": { "GroupName": "MyIamGroup", "CreateDate": "2018-12-14T03:03:52.834Z", "GroupId": "AGPAJNUJ2W4IJVEXAMPLE", "Arn": "arn:aws:iam::123456789012:group/MyIamGroup", "Path": "/" } }
  2. ユーザーを作成するには、create-user コマンドを使用します。

    $ aws iam create-user --user-name MyUser { "User": { "UserName": "MyUser", "Path": "/", "CreateDate": "2018-12-14T03:13:02.581Z", "UserId": "AIDAJY2PE5XUZ4EXAMPLE", "Arn": "arn:aws:iam::123456789012:user/MyUser" } }
  3. ユーザーをグループに追加するには、add-user-to-group コマンドを使用します。

    $ aws iam add-user-to-group --user-name MyUser --group-name MyIamGroup
  4. MyIamGroup グループが MyUser を含んでいることを確認するには、get-group コマンドを使用します。

    $ aws iam get-group --group-name MyIamGroup { "Group": { "GroupName": "MyIamGroup", "CreateDate": "2018-12-14T03:03:52Z", "GroupId": "AGPAJNUJ2W4IJVEXAMPLE", "Arn": "arn:aws:iam::123456789012:group/MyIamGroup", "Path": "/" }, "Users": [ { "UserName": "MyUser", "Path": "/", "CreateDate": "2018-12-14T03:13:02Z", "UserId": "AIDAJY2PE5XUZ4EXAMPLE", "Arn": "arn:aws:iam::123456789012:user/MyUser" } ], "IsTruncated": "false" }

ユーザーへの IAM 管理ポリシーのアタッチ

この例のポリシーは、ユーザーに「Power User Access」を付与します。

IAM 管理ポリシーをユーザーにアタッチするには
  1. アタッチするポリシーの Amazon リソースネーム (ARN) を決定します。次のコマンドでは、list-policies を使用して、PowerUserAccess という名前のポリシーの ARN を検索します。次に、その ARN を環境変数に格納します。

    $ export POLICYARN=$(aws iam list-policies --query 'Policies[?PolicyName==`PowerUserAccess`].{ARN:Arn}' --output text) ~ $ echo $POLICYARN arn:aws:iam::aws:policy/PowerUserAccess
  2. ポリシーをアタッチするには、attach-user-policy コマンドを使用し、ポリシー ARN を保持している環境変数を参照します。

    $ aws iam attach-user-policy --user-name MyUser --policy-arn $POLICYARN
  3. ポリシーがユーザーにアタッチされたことを確認するには、list-attached-user-policies コマンドを実行します。

    $ aws iam list-attached-user-policies --user-name MyUser { "AttachedPolicies": [ { "PolicyName": "PowerUserAccess", "PolicyArn": "arn:aws:iam::aws:policy/PowerUserAccess" } ] }

詳細については、「アクセス管理リソース」を参照してください。このトピックでは、アクセス権限とポリシーの概要へのリンクと、Amazon S3、Amazon EC2、およびその他のサービスにアクセスするためのポリシーの例へのリンクを示しています。

IAM ユーザーの初期パスワードの設定

次のコマンドは、create-login-profile を使用して指定されたユーザーの初期パスワードを設定します。初回サインイン時、ユーザーは自分だけが知っているパスワードに変更するように求められます。

$ aws iam create-login-profile --user-name MyUser --password My!User1Login8P@ssword --password-reset-required { "LoginProfile": { "UserName": "MyUser", "CreateDate": "2018-12-14T17:27:18Z", "PasswordResetRequired": true } }

update-login-profile コマンドを使用して、ユーザーのパスワードを変更することができます。

$ aws iam update-login-profile --user-name MyUser --password My!User1ADifferentP@ssword

IAM ユーザーのアクセスキーの作成

create-access-key コマンドを使用して、ユーザーのアクセスキーを作成することができます。アクセスキーは、アクセスキー ID とシークレットキーで構成される一連のセキュリティ認証情報です。

ユーザーが作成できるアクセスキーは一度に 2 つのみです。3 番目のセットを作成しようとすると、コマンドは LimitExceeded エラーを返します。

$ aws iam create-access-key --user-name MyUser { "AccessKey": { "UserName": "MyUser", "AccessKeyId": "AKIAIOSFODNN7EXAMPLE", "Status": "Active", "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "CreateDate": "2018-12-14T17:34:16Z" } }

delete-access-key コマンドを使用して、ユーザーのアクセスキーを削除します。アクセスキー ID を使用して、削除するアクセスキーを指定します。

$ aws iam delete-access-key --user-name MyUser --access-key-id AKIAIOSFODNN7EXAMPLE