IAMの管理画面は、「すべてのサービス」-> 「セキュリティ、ID、およびコンプライアンス」のIAMから開けます。
IAMの追加
左メニューの「アクセス管理」から「ユーザー」を選択します。 ユーザー画面右上に「ユーザーを追加」ボタンをクリック。
ユーザー詳細の設定
ユーザー名を入力します。 次に「AWSアクセスの種類を選択」で、「AWS認証情報タイプの選択」を選択します。 terraform用では、「アクセスキー-プログラムによるアクセス」を選択します。
「次のステップ:アクセス権限」から次に進みます。
アクセス許可の設定
terraform用では、「既存のポリシーを直接アタッチ」を選択します。 すると、既存ポリシーの一覧が表示されますので、目的のポリシーにチェックを付けます。 terraform用に使用する場合、[AdministratorAccess]を選択します。
「次のステップ:タグ」から次に進みます。
タグの追加
必要に応じて設定してください。 terraformのテスト用なら、タグは追加しなくても問題ありません。
「次のステップ:確認」から次に進みます。
確認
追加するユーザー情報が表示されますので、確認して問題がなければ、 右下の「ユーザーの作成」からユーザーを作成します。
IAM情報の設定
AWS CLIで接続できるように、作成したIAMの情報を環境変数に設定します。
例 .bashrcで以下を設定。
export AWS_ACCESS_KEY_ID=ABCDEFGHIJKLMNOPQRST export AWS_SECRET_ACCESS_KEY=1234567890abcdefghijklmnopqrstuvwxyzABCD export AWS_DEFAULT_REGION=us-west-2
接続テスト
以下のコマンドを実行します。 自分のアカウントIDを取得できたら、正常に設定できています。
aws sts get-caller-identity --query Account --output text
例 アカウントIDが 123456789012 の場合
]$ aws sts get-caller-identity --query Account --output text 123456789012
例 ec2の一覧表示
]$ aws ec2 describe-instances { "Reservations": [ { "Groups": [], "Instances": [ ・・・ ・・・ "OwnerId": "123456789012", "ReservationId": "r-1234567890abcdefg" } ] }
例 ec2のインスタンスID、インスタンスタイプ、アビリティゾーン一覧
aws ec2 describe-instances --query "Reservations[].Instances[].[InstanceId, InstanceType, Placement.AvailabilityZone]" [ [ "i-0123456789abcdf00", "t2.micro", "us-west-2b" ] ]
ユーザー一覧 (list-users)
ユーザー一覧を取得するコマンドは以下になります。
aws iam list-users
実行結果は以下のようになります。
{ "Users": [ { "Path": "/", "UserName": "toyota", "UserId": "ABCDEFGHI123456789JK", "Arn": "arn:aws:iam::000000000000:user/toyota", "CreateDate": "2023-04-16T12:20:22+00:00" }, { "Path": "/", "UserName": "honda", "UserId": "ZXY1234ABCDEF56789GH", "Arn": "arn:aws:iam::000000000000:user/honda", "CreateDate": "2022-07-18T05:26:37+00:00" "PasswordLastUsed": "2023-01-09T13:49:33+00:00" } ] }
グループ一覧 (list-users)
グループ一覧を取得するコマンドは以下になります。
aws iam list-groups
実行結果は以下のようになります。
{ "Groups": [ { "Path": "/", "GroupName": "abc-admin", "GroupId": "ABCDEFGHIJ1234567890", "Arn": "arn:aws:iam::000000000000:group/abc-admin" "CreateDate": "2022-07-18T05:31:53+00:00" } ] }