🧑🤝🧑
AWS CLIで複数のIAMユーザーのアクセスキーを設定したい
備忘録です。
S3にファイルをPUTできない事態に陥り、調べたところアクセスキーを別のIAMユーザーのもので更新してしまったことが原因でした(マヌケ...)。
複数のIAMユーザーを設置できればいいのになぁと思い調べたら、やはり方法がありました。
1.デフォルトのIAMユーザー設定(1人目)
- デフォルトで設定したいユーザーのアクセスキーIDとシークレットアクセスキーを用意します。これらはIAMユーザー作成時にCSVで落とすことができます。
- AWS CLIがインストールされているコンソール(筆者はUbuntu)で以下のコマンドを実行します。
aws configure
以下の内容の入力が求められるので、用意したIDとキーを入力します。
AWS Access Key ID [None]: 用意したアクセスキーID(1人目)
AWS Secret Access Key [None]: 用意したシークレットアクセスキー(1人目)
Default region name [None]: ap-northeast-1
Default output format [None]: json
以上でデフォルトの設定が完了です。
2.別のIAMユーザー設定(2人目)
1人目と流れは同じですが、設定のコマンドは以下になります。
aws configure --profile プロファイル名
例)aws configure --profile iamwatson
これを実行すると、先程と同じく4項目の入力が求められます。
AWS Access Key ID [None]: 用意したアクセスキーID(2人目)
AWS Secret Access Key [None]: 用意したシークレットアクセスキー(2人目)
Default region name [None]: ap-northeast-1
Default output format [None]: json
以上で2人目の設定が完了です。
3.設定を確認
以下のコマンドで設定を確認できます。
cat ~/.aws/credentials
以下のように、2つのIAMユーザーが設定できていることが確認できます。
[default]
aws_access_key_id = xxxxxxxxxxxxxxxxxxxx
aws_secret_access_key = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
[iamwatson]
aws_access_key_id = yyyyyyyyyyyyyyyyyyyy
aws_secret_access_key = YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
4.プロファイルを指定してコマンドを実行
例えば iamwatson でS3のバケットの一覧を出力したい場合は、以下のようにプロファイル指定してコマンドを実行します。
aws s3 ls --profile iamwatson
こうして、指定したアカウントのS3バケット一覧が表示されます。
--profile iamwatson
なしでコマンド実行した場合は、デフォルトでの実行となります。
Discussion