IAM Identity Centerの許可セットとポリシーの関係を初心者向けにわかりやすく解説!
生徒
「先生、IAM Identity Centerって聞いたんですけど、IAMポリシーとは違うんですか?」
先生
「良いところに気が付きましたね。IAM Identity Centerでは『許可セット』という仕組みを使ってアクセス権を管理するんですよ。」
生徒
「えっ!?IAMポリシーとは違うものなんですか?許可セットってなんですか?」
先生
「では、IAM Identity Centerの『許可セット』とIAMポリシーの違いや関係について、ひとつずつ丁寧に説明していきましょう。」
1. IAM Identity Centerとは?IAMとの違いを知ろう
AWS IAM Identity Center(旧AWS SSO)は、AWSアカウントや外部アプリケーションへのアクセスを一元的に管理するためのサービスです。従来のIAMユーザー・IAMロールと異なり、一度のログイン(シングルサインオン)で複数のAWSアカウントにアクセスできるのが特徴です。
つまり、企業などで複数のAWS環境を使っている場合、個々にIAMユーザーを作成する必要はなく、Identity Centerで一括管理できるようになるのです。
このときに出てくるのが「許可セット(Permission Set)」という仕組みです。
2. 許可セットとは何か?IAMポリシーとの違い
許可セットは、IAM Identity CenterにおいてユーザーやグループにAWSアカウント内でのアクセス権限を付与するためのテンプレートのようなものです。
許可セットの中には、IAMポリシー(マネージドポリシーまたはカスタムポリシー)を含めることができます。
つまり、IAMポリシーを使ってアクセス権限を定義し、それを許可セットにまとめてユーザーやグループに適用するイメージです。
以下のような構成になります:
- IAM Identity Centerの許可セット → IAMポリシーを組み合わせたアクセス権のまとまり
- この許可セットを特定のAWSアカウントに割り当てる
- 割り当てた結果、ユーザーはそのアカウントで特定の権限を持つ
3. 許可セットに使えるポリシーの種類とは?
許可セットには以下のようなポリシーを設定することができます。
- AWSマネージドポリシー(例:AdministratorAccess、ReadOnlyAccessなど)
- カスタムポリシー(JSON形式で自分で作成したもの)
- セッションポリシー(一時的なアクセス制御)
例えば、以下のようにカスタムポリシーを含めた許可セットを作成できます:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:GetObject"
],
"Resource": "*"
}
]
}
このように設定することで、「S3の閲覧のみができる許可セット」を作成できます。
4. 許可セットの使い方:割り当てと動作の流れ
許可セットは、次の手順で使います。
- IAM Identity Centerで許可セットを作成
- 特定のAWSアカウントにその許可セットを割り当て
- 対象のユーザーやグループに割り当てを適用
これにより、ユーザーがAWSポータルからログインすると、割り当てられた許可セットに基づいた権限で操作できるようになります。
5. IAMポリシーと許可セットの関係を図で理解しよう
イメージ図(テキストベース)で表すと、以下のような関係になります:
IAMポリシー ─┐
├→ 許可セット(Permission Set) ─→ AWSアカウントに割り当て
セッションポリシー ┘ ↓
ユーザー/グループがログイン
このように、IAM Identity Centerはポリシーそのものではなく、IAMポリシーを利用した「許可の枠組み」を定義するツールなのです。
6. IAMポリシーとの違いまとめ(比較一覧)
| 項目 | IAMポリシー | IAM Identity Centerの許可セット |
|---|---|---|
| 対象 | IAMユーザー・IAMロール | Identity Centerユーザー・グループ |
| 管理方法 | 個別に設定 | 一元管理、まとめて割り当て |
| 特徴 | きめ細かい制御 | マルチアカウント対応、簡易化 |
| 使い方 | 直接ユーザー・ロールにアタッチ | 許可セットとして定義し、後から割り当て |
7. IAM Identity Centerのおすすめ活用シーン
IAM Identity Centerの許可セットは、以下のようなケースで特に便利です。
- 複数のAWSアカウントを組織で管理している場合
- 一括で権限を管理し、ユーザーごとの権限付与ミスを防ぎたい場合
- Active DirectoryやEntra ID(旧Azure AD)など外部ID連携を行っている場合
従来のIAMだけでは煩雑だった操作が、許可セットを使うことでぐっとシンプルになります。