AWS クロスアカウントアクセスを設定してみた

■概要

AWS アカウント A で作成した S3 バケットを、AWS アカウント B の IAM ユーザーでもアクセスできるようにする。

■イメージ図

■手順メモ

・(AWS アカウント A)S3 バケットの作成
AWS アカウント B のユーザーにアクセスさせる S3 バケットを作成する。

・(AWS アカウント A)IAM Role の作成
AWS アカウント B のユーザーに割り当てる用の IAM Role を作成する。
「別の AWS アカウント」を選択し、アカウント ID に AWS アカウント B の ID を指定する。
S3 バケットにアクセスするので、「AmazonS3ReadOnlyAccess」をアタッチする。

・(AWS アカウント B)クロスアカウントアクセス用ユーザーの作成
AWS アカウント B に IAM ユーザーを作成する。

作成した IAM ユーザーには sts:AssumeRole のみを許可し、上記で作成した AWS アカウント A の IAM Role を引き受けられるポリシーを設定する。

・(AWS アカウント B)UserB でログイン
作成した AWS アカウント B の IAM ユーザーでログインする。
sts:AssumeRole しか許可していないため、EC2 や S3 などのアクセスすることができない。

・(AWS アカウント B)スイッチロール
スイッチロールを選択する。
切り替え先に AWS アカウント A の ID と IAM Role を指定する。

・(AWS アカウント B)スイッチロール後確認
AWS アカウント A 配下の S3 バケットが参照できたこと確認する。


いいなと思ったら応援しよう!