はじめに
今回は、AWSのマルチアカウント運用時に、「各AWSアカウントのプロファイルを指定」 するだけで、簡単にコマンドでAWSリソースを操作できるようにするための設定方法をまとめてみました。
詳細については、公式ドキュメントをご参照ください。
複数アカウントの運用手順に関しては、ぜひこちらの記事をご参照ください。
さっそく設定してみた
ターミナルで以下のコマンドを実行します。
aws configure sso
すると、対話形式で以下の情報の入力を求められるので、適宜入力していきます。
- session name:一時認証セッションを識別する名前
→今回はsampleにしました - start URL:AWS IAM Identity Center のログイン入口URL
→※Identity Centerにアクセスして取得します(後述) - region:Identity Centerが存在するリージョン
→今回はap-northeast-1(東京リージョン)を指定しました - registration scopes:どの範囲の情報にアクセスするか
→こちらは基本的にデフォルト(sso:account:access)を使用するため、何も入力せずにそのままEnterを押します
※start URLの取得方法
Identity Centerを有効にしたAWSアカウントでコンソールにアクセスし、
IAM Identity Center > ダッシュボード から取得します(~/startで終わるURL)
すると、ブラウザが開くので、画面の指示に従いアクセスを許可します。
複数アカウントを運用している場合、以下のように一覧が表示されるため、アクセス権限を付与したいAWSアカウントを選択します。
今回はAWSアカウントproject-a-stgを選択しました。
次に、選択したAWSアカウントプロファイルでのアクセスに関する設定を入力していきます。
①アクセス権限(IAMロール)
→今回は事前に許可している唯一の権限(PowerUserAccess)が自動で選択されています
②リージョンの指定をおこなわずにCLIコマンドを実行した場合の操作対象のデフォルトリージョンを入力します
→今回はap-northeast-1(東京リージョン)を指定しました
③AWS CLIの実行結果をどの形式で表示するかの設定です
→データ加工のしやすさなどから、json(デフォルト)が推奨されているため、何も入力せずにそのままEnterを押します
④プロファイル名を指定します
→コマンドを実行する際にわかりやすいよう、AWSアカウント名をそのまま設定するのがおすすめです(今回はproject-a-stgにしました)
完了すると、~/.aws/configに以下のような認証設定が作成されます。
[profile project-a-stg]
sso_session = sample
sso_account_id = ***
sso_role_name = PowerUserAccess
region = ap-northeast-1
[sso-session sample]
sso_start_url = https://***.awsapps.com/start
sso_region = ap-northeast-1
sso_registration_scopes = sso:account:access
AWS CLIでコマンドを実行してみた
AWSアカウントproject-a-stgに存在する、VPCの一覧を取得するコマンドを実行してみます。
無事に取得できました!
実際にAWSコンソールにアクセスして、VpcIdが一致していることも確認できました。







