本文へスキップ
BecomeCoder

AWS SAA(ソリューションアーキテクト)コース · 第2章 IAMと認証・認可の設計 · レッスン10

IAM Identity Center(旧AWS SSO)とフェデレーション

導入

社員が数十人・数百人になると、AWSアカウントごとにIAMユーザーを作るのは現実的ではありません。「社内の認証基盤とAWSを連携させたい」というニーズに応えるのが、IAM Identity Centerとフェデレーションです。

説明

フェデレーション(Federation) とは、既存の認証基盤(社内AD、Google Workspaceなど)の認証情報をそのまま使って、AWSへの一時的なアクセスを得る仕組みです。SAML 2.0OIDC(OpenID Connect) という標準プロトコルで実現します。

IAM Identity Center(旧称 AWS SSO)は、複数のAWSアカウント・アプリケーションへのアクセスを一元管理するサービスです。

flowchart LR
    AD["社内AD/IdP"] -- "SAMLでフェデレーション" --> IC["IAM Identity Center"]
    IC -- "シングルサインオン" --> A1["AWSアカウント1"]
    IC -- "シングルサインオン" --> A2["AWSアカウント2"]
    IC -- "シングルサインオン" --> A3["AWSアカウント3"]
  • 社員は社内IDでサインインするだけで、権限のある複数のAWSアカウントに切り替えてアクセスできる
  • IAMユーザーを個別に作る必要がなく、退職時のアカウント無効化も社内AD側で一元管理できる
  • AWS Organizations(レッスン11)と組み合わせて使うのが標準構成

Amazon Cognito は少し役割が異なり、こちらは自社が作るWebアプリ・モバイルアプリのエンドユーザー認証を担うサービスです。

機能役割
ユーザープール(User Pool)エンドユーザーのサインアップ・サインイン・ID管理(認証)
IDプール(Identity Pool)認証済みユーザーに一時的なAWS認証情報を発行(認可

IAM Identity Centerは「社員がAWS管理コンソール/CLIを使うための認証」、Cognitoは「一般ユーザーが自社アプリにログインするための認証」と使い分けます。

読んでみよう

問題文に「社員」「運用担当者」「複数アカウントの一元管理」とあればIAM Identity Center、「アプリのエンドユーザー」「モバイルアプリのログイン機能」とあればCognito、と主語で見分けるのがコツです。