Cloud Service
AWS IAM Identity Center
複数の AWS アカウントや業務アプリへのシングルサインオンと一元的なアクセス管理を提供するマネージドサービス(旧 AWS SSO)。
- 1.1 つのサインインで複数の AWS アカウントや SaaS アプリにアクセスでき、認証を一元化できる
- 2.ユーザーやグループに権限セットを割り当てることで、各アカウントのアクセス権をまとめて管理する
- 3.内蔵 ID ストアのほか、外部 IdP との SAML・SCIM 連携で既存の社員 ID を再利用できる
AWS IAM Identity Center(旧 AWS SSO)は、組織内のユーザーが 1 回のサインインで複数の AWS アカウントや業務アプリケーションへアクセスできるようにする、シングルサインオン(SSO)とアクセス管理のためのマネージドサービスです。マルチアカウント環境において、誰がどのアカウントで何をできるかを中央で定義し、管理を大幅に簡素化します。
解決する課題
AWS の利用が複数アカウントに広がると、アカウントごとに IAM ユーザーを作成し、それぞれにパスワードやアクセスキーを配布する運用は急速に破綻します。退職者のアカウント削除漏れ、過剰な権限の放置、長期間有効な認証情報の漏洩リスクなど、セキュリティ上の負債が積み上がります。
IAM Identity Center は、こうした課題を次のように解決します。
- アカウントごとの IAM ユーザーを廃し、1 か所でユーザーと権限を定義してすべてのアカウントへ展開できる
- サインインのたびに一時的な認証情報を払い出すため、長期的なアクセスキーの配布をなくせる
- 既存の社員 ID(社内 IdP やクラウド IdP)をそのまま使い、ID の二重管理を避けられる
- AWS アカウントだけでなく、SAML 対応の SaaS アプリへのアクセスも同じ仕組みで束ねられる
主要概念と用語
- ID ソース: ユーザーとグループの出所。IAM Identity Center に内蔵されたディレクトリ、AWS Managed Microsoft AD、または外部 IdP の 3 つから選べる。
- ID ストア: 内蔵ディレクトリを使う場合のユーザー・グループの格納先。小規模な組織や、既存の IdP を持たない場合に手軽に使える。
- 外部 IdP: 社内や別ベンダーの ID プロバイダー。SAML 2.0 で認証を連携し、SCIM でユーザー・グループを自動同期できる。
- 権限セット: 一連の IAM ポリシーをまとめた、再利用可能な権限の定義。アカウントに割り当てると、その内容に対応する IAM ロールが各アカウント側に自動で作成される。
- 割り当て: ユーザーまたはグループ、AWS アカウント、権限セットの 3 つを結びつける単位。この組み合わせが「誰がどのアカウントでどの権限を持つか」を表す。
- AWS アクセスポータル: ユーザーがサインインして、自分に割り当てられたアカウントやアプリの一覧を見るためのポータル画面。
- アカウントインスタンスと組織インスタンス: 組織全体で共有する組織インスタンスと、単一アカウントに閉じたアカウントインスタンスがある。中央管理には組織インスタンスを使う。
- SCIM: ユーザーとグループのプロビジョニングを自動化する標準プロトコル。外部 IdP 側の変更を IAM Identity Center へ反映する。
仕様・制限・クォータ
- 組織インスタンスを使う場合、事前に AWS Organizations が有効になっている必要があり、管理は組織の管理アカウントまたは委任した管理者アカウントから行う。
- ID ソースは内蔵 ID ストア、AWS Managed Microsoft AD、外部 IdP のいずれか 1 つを選ぶ。後から切り替えは可能だが、切り替え時には割り当ての再構成が必要になる場合がある。
- 外部 IdP との認証連携は SAML 2.0、ユーザー・グループの同期は SCIM を用いる。すべての IdP が SCIM に対応するわけではない点に注意する。
- 権限セットには、セッションの有効期間(一時認証情報がアクティブな時間)を設定でき、用途に応じて短く保てる。
- ユーザー数、グループ数、権限セット数、割り当て数などには上限があり、一部は引き上げ申請が可能だが固定のものもある。大規模展開ではグループ単位の割り当てを基本にして数を抑える。
組織全体を中央管理する一般的な構成では、先に AWS Organizations を有効化しておく必要があります。Organizations を使わない単一アカウント向けのアカウントインスタンスもありますが、マルチアカウント統制には組織インスタンスを選びます。
内部の仕組み
IAM Identity Center は、自身が ID プロバイダーとして振る舞うのではなく、選択した ID ソースで認証されたユーザーに対して、AWS アカウントへの一時的なアクセスを仲介します。ユーザーがアクセスポータルにサインインすると、認証は ID ソース(内蔵ストアや外部 IdP)で行われます。
ユーザーが特定のアカウントの特定の権限セットを選ぶと、IAM Identity Center は AWS STS を介して、その権限セットに対応する IAM ロールを引き受けた一時的な認証情報を払い出します。権限セットを初めてアカウントへ割り当てたタイミングで、そのアカウント側に対応する IAM ロールが自動的にプロビジョニングされ、以降のアクセスはこのロールを通じて行われます。
つまり、ID ソースが「誰であるか」を確立し、権限セットと割り当てが「どのアカウントで何ができるか」を定義し、実体としては各アカウントの IAM ロールと一時認証情報で実現される、という構造です。長期的なアクセスキーは介在しません。
設計パターン / ベストプラクティス
- 権限の割り当てはユーザー個別ではなくグループ単位を基本にし、ジョブ機能に対応するグループへ権限セットを結びつける。
- 権限セットは最小権限で設計し、管理者用・開発者用・閲覧専用などの役割ごとに分けて再利用する。
- 既存の社員 ID がある場合は外部 IdP を ID ソースにし、SCIM で同期して入退社のライフサイクルを自動化する。
- セッションの有効期間は業務に支障のない範囲で短く設定し、放置されたセッションのリスクを下げる。
- 管理アカウントへの強い権限を持つ割り当ては最小限の人員に絞り、日常作業は委任した管理者アカウントや専用の運用アカウントで行う。
- AWS CLI を使う開発者には、アクセスポータルから取得する SSO ベースの認証フローを案内し、各自のマシンに長期キーを置かせない。
個々のユーザーへ直接割り当てると、人の増減のたびに大量の変更が発生します。グループへ権限セットを割り当て、ユーザーはグループに出し入れするだけにすると、運用負荷とミスを大きく減らせます。
運用・監視
- CloudTrail で、サインインや権限セットの作成・変更、割り当ての操作などを記録し、監査に利用する。
- 権限セットの内容を更新したら、割り当て済みアカウントへの再プロビジョニングが必要になる場合があるため、変更の反映状況を確認する。
- 外部 IdP と SCIM で同期している場合は、同期エラーや反映遅延を監視し、IdP 側のグループ変更が正しく取り込まれているか定期的に点検する。
- ユーザーや権限の棚卸しを定期的に行い、不要になった割り当てやグループを削除して権限の肥大化を防ぐ。
コスト
IAM Identity Center 自体の利用には、一般に追加料金がかかりません。SSO とアクセス管理の機能そのものは無料で提供され、コストはむしろ関連サービスの利用に依存します。
たとえば外部ディレクトリとして AWS Managed Microsoft AD を使う場合はそのディレクトリの料金が発生し、アクセス先の AWS アカウントで動かすリソースには通常どおりの利用料がかかります。料金体系は変動する可能性があるため、関連サービスを含めた総コストは公式の料金ページで確認してください。
サービス本体が無償でも、ID ストアの選択(マネージド AD を使うか内蔵ストアや外部 IdP で済ませるか)によって周辺コストが変わります。要件に対して過剰なディレクトリ構成にしないことが節約につながります。
セキュリティ
- アカウントごとの長期的な IAM アクセスキーをなくし、サインインのたびに一時認証情報を払い出すことで、漏洩時の影響範囲とリスクを下げられる。
- 多要素認証を有効化し、外部 IdP を使う場合は IdP 側の MFA や条件付きアクセスのポリシーを活用する。
- 権限セットは最小権限で設計し、強い権限ほど割り当て対象を限定する。
- SCIM 連携により退職者のアクセスを IdP 側の無効化と連動して速やかに失効させ、削除漏れを防ぐ。
- すべてのアクセスを CloudTrail で追跡可能にし、誰がいつどのアカウントへアクセスしたかを監査できるようにする。
組織の管理アカウントに対する強い権限セットの割り当ては、組織全体に影響を及ぼします。対象者を最小限に絞り、多要素認証を必須化し、日常運用には管理アカウントを使わない運用を徹底してください。
Well-Architected の観点
セキュリティの柱の観点では、IAM Identity Center は ID 管理とアクセス権限を中央に集約し、長期的な認証情報を一時認証情報へ置き換えることで、強固な ID 基盤と最小権限の原則を実現します。グループと権限セットによる役割ベースの割り当ては権限管理を一貫させ、SCIM 連携による自動プロビジョニングは人為的なミスを減らします。CloudTrail との統合によってすべてのアクセスがトレース可能になり、セキュリティの柱が重視するトレーサビリティの確保にも合致します。マルチアカウント戦略における AWS Organizations との連携は、ガバナンスを組織全体へ一貫して適用する土台にもなります。
試験で問われるポイント
- IAM Identity Center は組織の従業員向けで、AWS アカウントや業務アプリへの SSO を担う点を理解していること(顧客向けアプリ認証の Amazon Cognito と区別する)
- 中央管理の構成では AWS Organizations の有効化が前提になり、管理アカウントまたは委任した管理者から運用すること
- 権限セットを割り当てると、対象アカウントに対応する IAM ロールが自動作成され、一時認証情報で アクセスする仕組みであること
- 既存の社員 ID は外部 IdP との SAML 連携と SCIM による同期で再利用でき、ID の二重管理を避けられること
- アカウントごとの IAM ユーザーやアクセスキーの配布を廃し、サインインのたびに一時認証情報を発行する点が主要な利点であること
関連サービス・比較
ユーザー認証という言葉で Amazon Cognito と混同されやすいですが、対象とする利用者が根本的に異なります。
| 観点 | IAM Identity Center | Amazon Cognito |
|---|---|---|
| 主な対象 | 組織の従業員・社内ユーザー | アプリのエンドユーザー(顧客) |
| 主なユースケース | AWS アカウントや業務アプリへの SSO | Web・モバイルアプリの認証認可 |
| AWS へのアクセス | 権限セットに基づく一時認証情報を発行 | ID プール経由で一時認証情報を発行 |
| 連携先 | 外部 IdP と AWS アカウント・SaaS アプリ | ソーシャル IdP・SAML・OIDC |
社内ユーザーの AWS や業務アプリへのアクセス管理には IAM Identity Center、顧客向けアプリの認証には Cognito、という使い分けが基本です。
ハンズオン / CLI例
CLI で権限セットを作成し、管理ポリシーを付与する例です。権限セットの作成にはサービスのインスタンス ARN が必要で、リスト系のコマンドで確認できます。
# IAM Identity Center のインスタンス ARN と ID ストア ID を確認する
aws sso-admin list-instances \
--query 'Instances[0].[InstanceArn,IdentityStoreId]' \
--output text
# 権限セットを作成し、セッション有効期間を 1 時間(PT1H)に設定する
aws sso-admin create-permission-set \
--instance-arn <INSTANCE_ARN> \
--name ReadOnlyExample \
--description "閲覧専用の権限セット" \
--session-duration PT1H
# 作成した権限セットに AWS 管理ポリシーをアタッチする
aws sso-admin attach-managed-policy-to-permission-set \
--instance-arn <INSTANCE_ARN> \
--permission-set-arn <PERMISSION_SET_ARN> \
--managed-policy-arn arn:aws:iam::aws:policy/ReadOnlyAccess
AWS Service
AWS IAM Identity Centerを実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
セキュリティ・ID
比較で見る軸
クラウド: AWS / カテゴリ: セキュリティ・ID / 難易度: intermediate
導入後に効く点
ユーザーやグループに権限セットを割り当てることで、各アカウントのアクセス権をまとめて管理する
先に潰すリスク
サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。
- クラウド
- AWS
- カテゴリ
- セキュリティ・ID
- 難易度
- intermediate
- 関連資格
- SCS-C02 / SAA-C03
- 設計柱
- security
判断チェックリスト
- 自社の用途が「セキュリティ・ID / security」に近いか確認する。
- 強みである「1 つのサインインで複数の AWS アカウントや SaaS アプリにアクセスでき、認証を一元化できる」が本当に評価軸になるか確認する。
- 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。