IAM Identity Center ではユーザー、グループ、AWS アカウント、許可セット、とリソースがたくさんあります。
これらはどのような設定、構成であれば望ましいのでしょうか?
設計思想についてまとめてみました。
1. アンチパターン
設計なく進めてしまうと、このあたりはやりがちになると感じました。
- ユーザーに直接許可セットを割り当てる
- とりあえず全アカウントに Admin を付ける
- 環境を分けずに許可セットを一括紐付けする
これらは、アカウントのスケールに対応できない、過剰権限に繋がる、などのリスクを抱えています。
例えばこんな問題に直面することになるかもしれません。
- 担当変更のたびに設定を見直す必要がある
- 誰がどの権限を持っているか追えなくなる
- 監査対応が難しくなる
それではどのように考えて進めていったらよいのでしょうか?
2. 考える順番
Identity Center はユーザーから考えたくなりますが、実際は逆です。
以下の順で考えていくと綺麗な流れなのではないかと思います。
- アカウント構成
- 役割 (許可セット)
- グループ
- ユーザー
順を追って見ていきます。
3. アカウント構成
マルチアカウントの構成を検討します。
多くが AWS Organizations の設計に準ずることになるかと思います。
アカウント分離の例
- 環境分離 (prod, stg, dev)
- 機能分離 (security, log, shared)
- 責務分離 (workload, network, identity)
4. 役割 (許可セット)
何ができるか、という役割ベースで作っていきます。
ただし必要な権限を逐一カスタムで作成していては、作成も管理も煩雑です。
そこで、AWS が事前定義した許可ポリシーを利用して、許可セットを作成することができます。
まずは AWS 管理ポリシーをベースに始め、必要に応じてカスタマイズしていくのが現実的だと思います。
以下のようにリソース全体にアクセスする共通ポリシーから、特定の職務を想定したポリシーまで揃っています。
- AdministratorAccess
- ReadOnlyAccess
- Billing
- SystemAdministrator
5. グループ
どのアカウントに対してどの役割を持つか、枠となるのがグループです。
管理アカウントと本番アカウントは、その他のアカウント (検証、開発など) とは重要度が変わってくるため、操作権限を持たせるグループは別に作成しています。
| アカウント | Admin グループ | Power グループ | ReadOnly グループ |
|---|---|---|---|
| 管理 | mgmt-admin | なし | all-readonly |
| 本番 | prod-admin | なし | all-readonly |
| その他 | nonprod-admin | nonprod-power | all-readonly |
また、実際の設定時に AWS アカウントに対してグループと許可セットを割り当てるのですが、それぞれ複数選択して一括で割り当てることができます。
しかし全ての「AWS アカウント」x「グループ」x「許可セット」の組み合わせが登録されてしまうため、意図した設定になっているかは慎重になる必要があります。
例えば、グループに all-readonly と prod-admin、許可セットに AdministratorAccess と ReadOnlyAccess を設定して一括割り当てをしたとします。
すると、all-readonly グループにも AdministratorAccess の権限が割り当てられてしまいます。
つまり、チェックボックスで選択した組み合わせはすべて登録されます。
これでは閲覧ユーザーが管理者権限でログインできてしまうことになります。
便利な一括割当ですが、管理アカウントや本番環境への適用は慎重に行いましょう。
6. ユーザー
ユーザー単位では権限を割り当てず、どのグループに所属するかのみを管理します。
入社や退職によるユーザーの変動は、グループへの追加と除外で対応します。
まとめ
IAM Identity Center の設計について、改めてまとめると以下のポイントとなります。
- 人に権限を付けない
- 役割を設計する
- 境界から考える
ユーザーは最後に所属させるだけ。
設計の中心は常に「アカウントと役割」にあります。
Identity Center は単なるユーザー管理サービスではなく、マルチアカウントのアクセス設計基盤とも言えます。
スケールを前提とするサービスであるため、設計がより一層大切になると実感しました。
今日も小さな学びを。
IAM Identity Center 関連記事