💭

【AWS Organizations・IAM Identity Center】個人アカウントでマルチアカウント作成をしてSSO設定をしてみた

に公開

はじめに

今回個人アカウントで、アカウントを分けて管理したい場面がありました。
そこで、AWS Organizationsを使用して、マルチアカウント管理を設定してみました。
また、毎回各アカウントに別々でログインするのは煩雑なので、IAM Identity Centerを使用してSSOも設定しました。

マルチアカウントにするメリット

トラブルや攻撃の広がりを防げる

1つのアカウントでトラブルが起きても、ほかのアカウントには影響が出にくい。
たとえば、本番環境と開発環境を分けておけば、開発中のミスで本番が止まることを防げる。

使用料の管理がしやすい

アカウントごとに「どこにいくら使ったか」がすぐわかる。
プロジェクトや部署ごとに分けておけば、請求書をまとめるのも楽になる。

ルールを一括で適用できる

管理者が作ったルール(使えるサービスや操作の制限)を、全部のアカウントにまとめて適用できる。
AWS Control Towerを使えば、アカウント作成時に自動でセキュリティ設定を入れられる。

運用しやすくなる

「開発用」「テスト用」「本番用」など用途ごとに分けられるから、作業ミスが減る。

AWS Organizationsの実装

組織の管理アカウント、組織の作成

管理アカウントでAWS Organizasionsの設定をしていきます。
AWS Organizationsを開き組織を作成を押下します。
AWS Organizationsが有効になったことを確認しましょう。

AWSアカウントを追加を押下しましょう。ここでAWS Organizationsへ参加するアカウントを作成したり、既存アカウントを招待したりできます。

下記の画像は、新規でアカウントを作成した状態です。
この状態は、まだメンバーアカウント(新規作成したアカウント)はOUではなく、ルートに紐づいている状態です。

組織単位(OU)の作成・移動

OUとはAWSアカウントアカウントをグループ化することを実現するための要素です。
OUとAWSアカウントにはサービスコントロールポリシー(SCP)を設定することができ、それぞれ実行できるサービスやアクションを制限できます。
SCPを特定のOUにアタッチした場合、そのOUと子OUにあるAWSアカウントにポリシーが継承されます。
AWSアカウント自体にアタッチした場合アタッチされたAWSアカウントにのみ影響を与えます。また、RootにアタッチすればすべてのOUとAWSアカウントに継承されます。

RootのチェックボックスをONにし、アクションタブを展開し、「新規作成」を押下します。
任意の組織単位名を入力し、作成します。

OUを作成したら、メンバーアカウントを移動します。
メンバーアカウントをチェックした状態でアクションから移動を押下して、OUに移動させます。

これで AWS Organizationsの設定は完了です。

IAM Identity Center(SSO)の設定

ユーザーとは、AWSにサインインして作業する人のアカウント情報のことです。
名前やメールアドレス、パスワードなどを持ち、個々の利用者を識別します。

グループとは、複数のユーザーをまとめるための入れ物で、グループごとに権限を設定すると、そのグループに所属する全てのユーザーが同じ権限を持ちます。
これにより、一人ひとりに個別のアクセス権を設定する手間が省け、管理が効率化されます。

https://dev.classmethod.jp/articles/introduction-2024-aws-iam-identity-center/

ユーザーの作成

管理アカウントで、IAM Identity Centerのサービス画面に移動します。
リージョンを確認して、「有効にする」を押下します。
続いて、「ユーザーを追加」を押下します。

メールアドレスはメンバーアカウントと同様にエイリアスを使っています。
グループの作成は次のステップで行うので、何もせず「次へ」を押下します。

登録したメールアドレスにメールが来るので、「Accept invitation」を押下します。
MFAの設定を行ってください。
下記の画面がでればOKです。

https://zenn.dev/murakami_koki/articles/79ac2456564b36

グループの作成

続いて、「グループを作成」を押下します。
グループ名を入力し、グループに追加したいユーザーを選択し、「グループを作成」します。

許可セットの作成

許可セットとは、ユーザーやグループがAWSアカウントで何ができるかをまとめた権限のひな型のことです。
今回は事前定義された許可セットの、「AdministratorAccess」を作成します。

許可セットの割り当て

作成した許可セットを割り当てていきましょう。
今回は、組織内の全アカウントを集約したいので、すべてのアカウントにチェックを入れました。

グループにチェックを入れ 、「次へ」を押下。
今回は既にグループにユーザーを所属させているので、ユーザーにチェックは必要ありません。

アクセスポータルにログイン

左メニューの設定からAWSアクセスポータルのURLを押下します。
ログイン画面が出ればOKです。先ほど作成したユーザー名パスワードMFAでログインします。
ログイン画面が出ない場合、シークレットモードやCookie削除などを試してみてください。

下記のような画面になれば成功です。許可セットのリンクを押下することで、アクセスできます。

おわりに

今回は個人アカウントでのマルチアカウント管理を実装しました。
Gmailのエイリアス機能は今回初めて知ったので勉強になりました。
AWS認定試験でもよく問われる実装だと思うので、実際に手を動かして学んでいきましょう。

GitHubで編集を提案

Discussion