本文へスキップ
BecomeCoder

AWS SAP(ソリューションアーキテクト プロフェッショナル)コース · 第4章 エンタープライズの認証・認可とセキュリティ · レッスン18

AWS IAM Identity Centerと外部IdP連携 ― 多数アカウントへの一元的なアクセス

導入

アカウントが数十になると、「各アカウントに個別のIAMユーザーを作る」というやり方は破綻します。人が入退社するたびに数十アカウント分のユーザーを作成・削除するのは非現実的です。組織全体で1回サインインすれば、必要なアカウントに必要な権限だけでアクセスできる仕組みが必要です。

説明

AWS IAM Identity Center(旧称 AWS SSO)は、AWS Organizations配下の全アカウントへの 一元的なシングルサインオン(SSO) を提供するサービスです。

社員のID管理は、多くの企業ではすでに Active Directory(AD)Okta / Azure AD などの外部IdP(IDプロバイダー) で行われています。IAM Identity Centerは、これらの既存のIDソースと SAML 2.0 で連携し、「新しくIDを作り直す」のではなく「既存のIDをそのまま使う」ことができます。

flowchart LR
    U["社員"] -- サインイン --> IDP["社内AD / Okta等<br/>(外部IdP)"]
    IDP -- SAML --> IC["IAM Identity Center"]
    IC -- "権限セットを適用" --> A1["アカウントA"]
    IC -- "権限セットを適用" --> A2["アカウントB"]
    IC -- "権限セットを適用" --> A3["アカウントC"]

権限の割り当てには 権限セット(Permission Set) という単位を使います。権限セットはIAMポリシーの集合をテンプレート化したもので、「どのユーザー/グループに」「どのアカウントで」「どの権限セットを」割り当てるかをマトリクスで管理します。実体としては、割り当てられたアカウントに自動的にIAMロールが作成される仕組みです。

概念役割
IDソース誰がユーザーか(AD/Okta/Identity Center自体のディレクトリ)
権限セットどんな権限を持つか(テンプレート化されたIAMポリシー)
割り当てどのユーザー/グループが、どのアカウントで、どの権限セットを持つか

読んでみよう

「多数のAWSアカウントに対する社員のアクセスを一元管理したい」「既存のActive Directoryを活かしたい」という要件は、ほぼ確実にIAM Identity Centerが正解です。「アカウントごとにIAMユーザーを作る」という選択肢が出てきたら、大規模組織では運用が破綻するため誤りだと判断してよいでしょう。