AWS CLIでよく使うコマンドなどを逆引きでまとめました。この記事は随時更新予定です。
逆引きコマンドチートシート
認証情報やアカウント切り替えなどの基礎コマンド
登録しているAWSプロファイルリストの一覧
1
2
3
4
| $ aws configure list-profiles
default
hogehoge
higehige
|
コマンド毎でのプロファイルの切り替え
1
2
3
4
5
6
| $ aws sts get-caller-identify --profile hogehoge
{
"UserId": "UserIDForHogehoge",
"Account": "AcountHogehoge"
"Arn": "arn:aws:iam::AcountHogehoge:user/hogehoge"
}
|
IAMユーザーやロール、それに紐づくクレデンシャルを知りたいとき
1
2
3
4
5
6
7
8
9
10
11
12
| $ aws sts get-caller-identify
{
"UserId": "UserID",
"Account": "Acount"
"Arn": "arn:aws:iam::AcountHogehoge:user/username"
}
$ # key{UserId, Account, Arn}を指定することで情報の一部を取得可能
$ aws sts get-caller-identify --query Arn
"arn:aws:iam::AcountHogehoge:user/username"
$ # アウトプットのスタイルも指定可能
$ aws sts get-caller-identity --query Arn --output text
arn:aws:iam::AcountHogehoge:user/username
|
作成したポリシーファイルが間違っていないかの確認方法
下記のように、policy-template.json
を作成する。
1
2
3
4
5
6
7
8
9
10
11
12
| {
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::AcountHogehoge:user/hogehoge"
},
"Action": "sts:AssumeRole"
}
]
}
|
下記のCLIコマンドで確認することで、間違っている箇所があればエラーがでる。指示にしたがって修正する。
1
| $ aws accessanalyzer validate-policy --policy-document file://policy-template.json --policy-type IDENTITY_POLICY
|
aws iam
の後によく使うコマンド
まずは公式ドキュメントを参考にしましょう。
IAMロールを作るとき
下記のように、policy-template.json
を作成する。
1
2
3
4
5
6
7
8
9
10
11
12
| {
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::AcountHogehoge:user/hogehoge"
},
"Action": "sts:AssumeRole"
}
]
}
|
上記のコマンドでIAMロールを作成する。jsonファイルにエラーがあるとコマンドを実行することができない。エラーの出力がわかりにくいため、エラーが出る場合は作成したポリシーファイルが間違っていないかの確認方法で確認する方が良い。
1
| $ aws iam create-role --role-name HOGEHOGERole --assume-role-policy-document file://policy-template.json
|
現在作成しているIAMロールの確認
以下のコマンドで出力することが出来ます。
上記のコマンドでは出力が冗長になり過ぎるので、以下のオプションで適切にフィルタリングするとよい。
1
| $ aws iam list-roles --query 'Roles[*].RoleName'
|
grep するのもおススメ
1
| $ aws iam list-roles --query 'Roles[*].RoleName' | grep AWS
|
IAMロールを削除する
1
| $ aws iam delete-roles --role-name RoleName
|
もちろん、上記の方法でクエリも使用できます。公式のドキュメントでは最近のroleの使用状況も確認しております。適切な手順で間違えないように削除しましょう。