📝

AWSでクロスアカウントを作成するハンズオン

2023/07/15に公開

記事の目的

この記事では、AWS(Amazon Web Services)のクロスアカウント機能を用いた設定方法を学びます。
具体的には、2つのAWSアカウント(以下、アカウントAとB)を作成し、アカウントAのIAM(Identity and Access Management)ロールに、アカウントBのIAMユーザーが切り替えられることを確認します。

IAMロールのクロスアカウントアクセスとは?

クロスアカウントアクセスとは、あるAWSアカウント(ここではアカウントA)のIAMロールの権限を、別のAWSアカウント(ここではアカウントB)のIAMユーザーが利用し、アカウントAのリソースを操作するための仕組みです。
この仕組みにより、アカウント間でのリソースの共有や操作が可能になります。

結論:クロスアカウントアクセスのメリット

クロスアカウントアクセスの主なメリットは、ログイン状態の切り替えの手間が減ることです。
具体的には、アカウントBにログインした状態からログアウトしてアカウントAにアクセスするといった操作が不要になります。
これにより、複数のAWSアカウントを管理する際の効率が向上します。

作業内容

  • アカウントを2つ作成する
  • アカウントAに「読み取り専用のみ」のポリシー権限がアタッチされたIAMロールを持つIAMユーザーを作成する
  • カウントBのAWSアカウントのIDを記述する
  • ロールを切り替えるためのリンクをコピーする
  • ロールの切り替えを選択
  • アカウントAのIAMロールに、アカウントBのIAMユーザーがスイッチできることを確認する

AWSアカウントを2つ作成する

最初のステップとして、2つのAWSアカウントを作成します。それぞれをアカウントAとアカウントBと呼びます。

2つのAWSアカウント

アカウントAに「読み取り専用のみ」のポリシー権限がアタッチされたIAMロールを作成する

アカウントAで新しいIAMロールを作成し、「読み取り専用」のポリシー権限をそのロールにアタッチします。

ReadOnlyRole

アカウントBのAWSアカウントのIDを記述する

アカウントBのAWSアカウントIDを記述します。これにより、アカウントBからアカウントAのIAMロールにアクセスできるようになります。
下記「信頼されたエンティティ」とは、アカウントAのIAMロールにアクセスする権限を持つエンティティ(例:アカウントB)のことを指します。

信頼されたエンティティ

ロールを切り替えるためのリンクをコピーする

作成したIAMロールのページを開き、「ロールを切り替えるためのリンク」のアイコンをクリックしてリンクをコピーします。

リンクをコピーする

ロールの切り替えを選択

コピーしたリンクを新しいブラウザタブで開きます(ここでは、chromeのシークレットモードを推奨)。
開いたページで「ロールの切り替え」を選択します。
シークレットモードを推奨する理由は、ブラウジングデータが保存されず、セキュリティの観点から安全であるためです。

リンク押下後のロールの切り替え

アカウントAのIAMロールに、アカウントBのIAMユーザーがスイッチできることを確認する

アカウントAのブラウザでAWSコンソールが変更されていることを確認します。これにより、アカウントBのIAMユーザーがアカウントAのIAMロールに切り替えられることが確認できます。

クロスアカウント設定後のAWSコンソールの画面

まとめ

今回の記事を通じて、AWSのクロスアカウントアクセスの設定方法を学び、それがどのようにアカウント間のリソース共有を可能にするのか理解しました。
クロスアカウントアクセスを利用すれば、複数のAWSアカウントを効率的に管理することができます。

参考記事

GitHubで編集を提案

Discussion