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"
}
]
}