👨💻
AWS CLIでIAMロールを使用してアクセスしてみた
AWS CLIでIAMロール使用してs3のバケット一覧取得する。
目次
1.既存のIAMユーザーでs3にアクセス。
2.IAMユーザーを作成。
3.IAMユーザーでCLIでs3にアクセス。
4.IAMロール作成。
5.IAMロールでCLIでs3にアクセス。
前提
CLIのインストールが別途必要。
1.既存のIAMユーザーでs3にアクセス。
- 登録済みのIAMユーザーでs3にアクセスできることを確認します。
- アクセスキーは設定済み
- s3アクセス権限も設定済み
2.IAMユーザーを作成。
- IAMユーザーを作成していく。
- https://us-east-1.console.aws.amazon.com/iamv2/home#/users にアクセスし、下記キャプチャの『ユーザーを追加』を押す。
- ユーザー名を記載し、『アクセスキー - プログラムによるアクセス』にチェックを入れ、右下の『次のステップ:アクセス権限』を押す。
- IAMグループもIAMポリシーも追加せずに、『次のステップ:タグ』を押す。
- タグの追加もせずに『次のステップ:確認』を押す。
- アクセキーが設定されていることを確認し、『ユーザーの作成』を押す。
- アクセスキーID、シークレットアクセスキーをメモるか、.csvダウンロードを押す。
- アクセスキーの取り扱いに要注意。
下記を参照に作成したIAMユーザーのmfaを有効化しておく。
IAMユーザーの作成は完了。
3.IAMユーザーでCLIでs3にアクセス。
- CLIでアクセスキーの登録する。
aws configure --profile ユーザー名
- s3にアクセスする。
- IAMに権限を付与してないので、access dinedされる。
aws s3 ls --profile zenn-user
4.IAMロール作成。
- IAMロールを作成していく。
- https://us-east-1.console.aws.amazon.com/iamv2/home#/roles にアクセスし、『ロールを作成』を押す。
- 設定画面で下記図のように選択していく。
- IAMポリシーのフィルターで『AmazonS3ReadOnlyAccess』を検索しチェックを入れ、『次へ』を押す。
- 設定内容に問題ないことを確認し、『ロールを作成』を押す。
- 作成したロールにアクセスし、信頼関係の信頼ポリシーを変更する。
- 現在先ほど作成したIAMユーザーに限定できてないので、変更して限定していく。
変更前
"Principal": {
"AWS": "arn:aws:iam::381610018730:root"
変更後
"Principal": {
"AWS": "arn:aws:iam::381610018730:user/zenn-user"
IAMロール作成完了
5.IAMロールでCLIでs3にアクセス。
- configの設定内容を変更していく。
- 下記コマンドで現在の設定を確認する。
cat ~/.aws/config
- 下記コマンドで設定を変更する。
vi ~/.aws/config
- 下記情報を追加する。
mfa_serial = IAMユーザーのmfaのarnを指定
role_arn = 作成したIAMロールのarnを指定
source_profile = cliでアクセスキーを設定した時に指定したユーザー名を指定。
- s3にアクセスする。
- 途中mfaの情報を聞かれるので、mfaの番号を打てばバケットの一覧が確認できる。
aws s3 ls --profile ユーザー名
Discussion