/var/www/yatta47.log

/var/www/yatta47.log

やったのログ置場です。スクラップみたいな短編が多いかと。

AWS Vaultを活用した複数アカウント管理の手順

AWS環境で複数アカウントを管理する際、SwitchRoleを活用すると便利です。

よくある運用として、アカウントを発行されて、それをベースに環境にSwitchロールして使う使われ方は結構多いのではないかと思います。

その際にはaws-vaultを使ってました。今も使っており、前職でも使っていました。

今日はAWS Vaultを使ってSwitchRoleを簡単かつ安全に設定する方法をメモっておきます。

AWS Vaultとは?

AWS Vaultは、AWS CLIの資格情報を安全に管理するためのツールです。ローカルストレージに保存される資格情報を暗号化し、セッションベースでアクセスすることでセキュリティを向上させます。

SwitchRoleの設定方法

まずはaws configureにて初期設定をしておきます。

まずはいつも通りawscliをインストールして、アクセスキー、シークレットキーを設定しておきます。そうすると、~/.aws/configに以下が追加されます。

[profile default]
region = ap-northeast-1
output = json

やったことないですが、直接aws-vaultにて設定することも可能みたいです。

aws-vault add base-profile

Access Key ID と Secret Access Key を入力します。

  1. SwitchRole用プロファイルの設定

次に、スイッチ先のロールを指定したプロファイルを設定します。

[profile switch-role-profile] source_profile = default role_arn = arn:aws:iam::123456789012:role/YourRoleName region = ap-northeast-1

ここでは、source_profileにはアクセスキーを設定したプロファイル名を指定します。role_arnにはスイッチ先のロールのARNを入力してください。

  1. SwitchRoleプロファイルの使用 設定が完了したら、AWS Vaultを使って実行してみます。
aws-vault exec switch-role-profile -- aws sts get-caller-identity

このコマンドで、スイッチ先のロールを使用してAWSリソースにアクセスできます。

よくある問題と対処法

1. ロールにアクセスできない

原因: ベースプロファイルのIAMユーザーに適切な権限がない、またはスイッチ先ロールの信頼関係ポリシーに問題がある。 対策: ベースプロファイルのIAMユーザーにsts:AssumeRoleの権限を付与し、スイッチ先ロールの信頼関係ポリシーで元のプロファイルを許可してください。

2. 毎回パスフレーズを聞かれる

キーリングを指定した際には、毎回パスフレーズが聞かれるようになってしまいます。それを避ける場合にはバックエンドをファイルベースにすると聞かれなくなるそうです。

登録の際に--backend=fileをつけて実施します。

ファイルバックエンドの設定: コマンドラインで指定する場合:

aws-vault add switch-role-profile 

もしくは環境変数で以下を設定後にaddすれば大丈夫です。

export AWS_VAULT_BACKEND=file

3. セッション有効期限を延長したい

AWS Vaultのデフォルトセッション時間は1時間です。これを延長するには、duration_secondsを設定します。

[profile switch-role-profile]
source_profile = base-profile
role_arn = arn:aws:iam::123456789012:role/YourRoleName
region = us-east-1
duration_seconds = 3600

便利なコマンド集

プロファイル一覧を確認:

aws-vault list

一時的な認証情報を確認:

aws-vault exec switch-role-profile -- env | grep AWS

まとめ

何かと使うことが多いaws-vault。

環境が変わると再設定しなおさないといけなくなって、そのやり方がわからなくなったので、メモとして残しておくことにしました。

もっと便利な使い方があるっぽいので、これからもちょくちょくメモっておこうと思います。