Organizations & IAM Identity Center - toge510/aws GitHub Wiki
Organizations
アカウント管理サービス。AWS Organizations の概要
機能
- AWS アカウント を一元管理(アカウントの作成、削除、招待など)
- すべてのメンバーアカウントの一括請求
- アカウントを組織単位 (OU) にグループ化
アカウント
⚠️ アカウントは一般的なアカウントとは異なる。AWS アカウント ≠ ユーザーアカウント。1つのAWSアカウントには複数のユーザーとロールを含めることができる。
⚠️ 1つの管理アカウントと、その他残りのメンバーアカウントがある。
管理アカウントはアカウント管理に関する権限(作成、削除、招待など)がある。管理アカウントのルートユーザーでサインインすると、アカウントの追加などが可能であるが、メンバーアカウントのルートユーザーでサインインすると、どんなアカウントがあるのかさえわからない。
⚠️ アカウントを作成すると、ルートユーザーに加えて、OrganizationAccountAccessRole??? というデフォルト名の IAM ロールが AWS Organizations によって自動的に作成される。
ポリシー
組織内の AWS アカウントのさまざまな機能を管理できる。
例えば、SCP(Service Control Policy)により、組織のアカウント内で使用できるアクセス許可を一元管理できる。アカウント単位のポリシー管理。デフォルトだと、FullAWSAccess
がすべてのRoot,OU,アカウントに付与されている模様。
サービス
組織内でアクションを実行するようにサポートされている AWS のサービスを設定できる。
IAM Identity Center(旧 AWS SSO)
複数アカウントへのシングルサインインを実現し、一時的なアクセスキーの払い出しができる仕組み。
※ SSO: 1度の認証により、複数のアカウントの利用が可能となる仕組み。
IAM Identity Centerがない場合を考えてみる。
例として、複数アカウントに跨って、作業する必要があるエンジニアがいるとする。
そのエンジニアは、各アカウントごとに、ユーザーを持つ必要がある。つまり、1人のエンジニアが、アカウントが異なる複数のユーザーを持つこととなる。この状態は、以下の弊害がある。
- 1人のエンジニアが、多数のユーザーID、パスワード、MFAのためのauthenticator、アクセスキーなどを管理する必要がある。これは、セキュリティ的にもリスクがあるし、単純に仕事の作業内容によって、別ユーザーログインし直したりと非常に面倒である。
- ユーザーを管理する管理者にとっても、ユーザー数が増えることは管理コストの増大につながる。
IAM Identity Centerを使用するとどうなるか?
先に示した弊害がなくなる。つまり、
- 1人のエンジニアは、1つのユーザーID、パスワード、MFAのためのauthenticator、アクセスキーなどの管理でOK!
- アカウントの異なるユーザーを統合して、一元管理できる。また、新たなユーザーをIdentity Centerから追加できる。管理しやすい。
- 一時的なアクセスキーを発行できる。
イメージとしては、Identity Centerという上位のレイヤーを追加して、Identity Centerのユーザーを新たに作成する。そして、各アカウントに対する権限を設定する。これにより、1つのIdentity Centerのユーザーで、複数のアカウントにそれぞれで定義された権限でサインインできる。
⚠️ 以下の例では、結果的には、ユーザーの統合をしたように見える。しかし、やっていることはIdentity Centerのレイヤーに新たにユーザーを作成している。よって、IAMユーザーへの影響はない。
- account: A
- user: toge
- account: B
- user: toge
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
-
Identity Center
- user: toge
- account: A
- account: B
- user: toge
IAM Identity Centerの設定(例)
IAM ID Centerの有効化
IDソースの選択、ユーザーとグループの作成
- IAM Identity Center のアイデンティティソースは、ユーザーとグループの管理場所を定義する。
- Identity Center ディレクトリがデフォルトの ID ソースとして自動的に設定される。ここでユーザーとグループを作成し、AWS アカウント自分とアプリケーションへのアクセスレベルを割り当てる。
ペインから、ユーザーとグループを作成。
許可セットの作成
2つの許可セットを作成
- AdministratorAccess
- PowerUserAccess
ユーザーをアカウントに割り当て、許可セットをアカウントに割り当て
ペインのAWSアカウントから、ユーザーをアカウントに割り当て、許可セットをアカウントに割り当てを行う。
ID centerユーザーでサインイン
ダッシュボードのアクセスポータルのURLからログインからID centerのユーザーでサインイン。
アカウントと許可セットが表示される。使用したいアカウントのマネージメントコンソールのリンクをクリックできる。また、コマンドラインのリンクから、アクセスキーもわかる。