1)~/.aws/credentials
ファイルの資格情報が有効であることを確認し、2)資格情報がどのユーザーに属しているかを示すことができるaws
ユーティリティに渡すことができるコマンド/サブコマンドはありますか?ユーザーがIAMまたは特定のサービスへのアクセス許可を持っていることを想定していない汎用的なものを探しています。
この使用例は、資格情報が正しいことを確認するための展開時の健全性チェックです。理想的には、戻り値をチェックし、無効な資格情報がある場合にデプロイを中止する何らかの方法があるでしょう。
GetCallerIdentity を使用します。aws sts get-caller-identity
他のAPI/CLI呼び出しとは異なり、IAMアクセス許可に関係なく常に機能します。
次の形式で出力が得られます。
{
"Account": "123456789012",
"UserId": "AR#####:#####",
"Arn": "arn:aws:sts::123456789012:assumed-role/role-name/role-session-name"
}
正確 ARN形式 は、資格情報のタイプによって異なりますが、多くの場合、(人間の)ユーザーの名前が含まれます。
標準の AWS CLIエラーコード を使用します。成功した場合は0、資格情報がない場合は255を返します。
ユーザーにiam
権限があれば、aws iam get-user
はあなたが誰であるか(現在のIAMユーザー)の詳細を表示します。
--dry-run
のようなaws ec2 run-instances
フラグをサポートするCLI呼び出しがいくつかあり、操作を実行するために必要なconfig/credがあるかどうかを示します。
コマンドを実際に実行せずに、コマンドに必要な権限があるかどうかを確認する--auth-dry-run
もあります。必要な権限がある場合、コマンドはDryRunOperationを返します。それ以外の場合は、UnauthorizedOperationを返します。 [From AWSドキュメント-共通オプション ]
Management ConsoleからIAMアクセスキーをリストできます。これをクロスチェックして、誰がどのキーを割り当てられているかを確認できます。
どのユーザー/ロールがどの特権を持っているかを理解する最良の方法は、 IAM Policy Simulator を利用することです。