

# Using IAM in the AWS CLI
<a name="cli-services-iam"></a>


| 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 コマンドの例について説明します。

コマンドを実行する前に、デフォルトの認証情報を設定します。詳細については、「[Configuring settings for the AWS CLI](cli-chap-configure.md)」を参照してください。

IAM サービスの詳細については、[AWS Identity and Access Management ユーザーガイド](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html)を参照してください。

**Topics**
+ [IAM ユーザーおよびグループの作成](#cli-services-iam-new-user-group)
+ [ユーザーへの IAM 管理ポリシーのアタッチ](#cli-services-iam-policy)
+ [IAM ユーザーの初期パスワードの設定](#cli-services-iam-set-pw)
+ [IAM ユーザーのアクセスキーの作成](#cli-services-iam-create-creds)

## IAM ユーザーおよびグループの作成
<a name="cli-services-iam-new-user-group"></a>

**グループを作成してそのグループに新しいユーザーを追加するには**

1. グループを作成するには、[https://docs.aws.amazon.com/cli/latest/reference/iam/create-group.html](https://docs.aws.amazon.com/cli/latest/reference/iam/create-group.html) コマンドを使用します。

   ```
   $ 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": "/"
       }
   }
   ```

1. ユーザーを作成するには、[https://docs.aws.amazon.com/cli/latest/reference/iam/create-user.html](https://docs.aws.amazon.com/cli/latest/reference/iam/create-user.html) コマンドを使用します。

   ```
   $ 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"
       }
   }
   ```

1. ユーザーをグループに追加するには、[https://docs.aws.amazon.com/cli/latest/reference/iam/add-user-to-group.html](https://docs.aws.amazon.com/cli/latest/reference/iam/add-user-to-group.html) コマンドを使用します。

   ```
   $ aws iam add-user-to-group --user-name MyUser --group-name MyIamGroup
   ```

1. `MyIamGroup` グループが `MyUser` を含んでいることを確認するには、[https://docs.aws.amazon.com/cli/latest/reference/iam/get-group.html](https://docs.aws.amazon.com/cli/latest/reference/iam/get-group.html) コマンドを使用します。

   ```
   $ 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 管理ポリシーのアタッチ
<a name="cli-services-iam-policy"></a>

この例のポリシーは、ユーザーに「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
   ```

1. ポリシーをアタッチするには、[https://docs.aws.amazon.com/cli/latest/reference/iam/attach-user-policy.html](https://docs.aws.amazon.com/cli/latest/reference/iam/attach-user-policy.html) コマンドを使用し、ポリシー ARN を保持している環境変数を参照します。

   ```
   $ aws iam attach-user-policy --user-name MyUser --policy-arn $POLICYARN
   ```

1. ポリシーがユーザーにアタッチされたことを確認するには、[https://docs.aws.amazon.com/cli/latest/reference/iam/list-attached-user-policies.html](https://docs.aws.amazon.com/cli/latest/reference/iam/list-attached-user-policies.html) コマンドを実行します。

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

詳細については、「[アクセス管理リソース](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-additional-resources.html)」を参照してください。このトピックでは、アクセス権限とポリシーの概要へのリンクと、Amazon S3、Amazon EC2、およびその他のサービスにアクセスするためのポリシーの例へのリンクを示しています。

## IAM ユーザーの初期パスワードの設定
<a name="cli-services-iam-set-pw"></a>

次のコマンドは、`[create-login-profile](https://docs.aws.amazon.com/cli/latest/reference/iam/create-login-profile.html)` を使用して指定されたユーザーの初期パスワードを設定します。初回サインイン時、ユーザーは自分だけが知っているパスワードに変更するように求められます。

```
$ 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 ユーザーのアクセスキーの作成
<a name="cli-services-iam-create-creds"></a>

[https://docs.aws.amazon.com/cli/latest/reference/iam/create-access-key.html](https://docs.aws.amazon.com/cli/latest/reference/iam/create-access-key.html) コマンドを使用して、ユーザーのアクセスキーを作成することができます。アクセスキーは、アクセスキー 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"
    }
}
```

[https://docs.aws.amazon.com/cli/latest/reference/iam/delete-access-key.html](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-access-key.html) コマンドを使用して、ユーザーのアクセスキーを削除します。アクセスキー ID を使用して、削除するアクセスキーを指定します。

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