🔑

【AWS】IAM Identity Center×Azure AD を統合してAWSアカウントへのシングルサインオンを試してみた

2023/05/16に公開

前提条件

◆ AWS側の条件

・[IAM Identity Center]サービスを利用できること
・[AWS Organizations]サービスを利用していること(オプション)
・IAM権限:Administrator Access(通称 なんでも権限。本当は最小権限にしたい)

※ IAM Identity Center は東京リージョンで利用することを前提とします。

◆ Azure側の条件

・Azure AD のライセンス:Azure AD Premium P1 または P2
・Azure AD 権限:アプリケーション管理者 以上

※ Azure AD 無料プランではグループ作成ができない制約があります。

導入方法

1. IAM Identity CenterとAzure AD を構成する

1-1. Azure ADで外部IDプロバイダーを作成する

【Azure ポータルにサインイン】

  1. [Azure Active Directory]>[エンタープライズ アプリケーション]>[すべてのアプリケーション]に移動します。
  2. [➕新しいアプリケーション]を選択します。
  3. 検索ボックスに「AWS IAM Identity Center」と入力します。
  4. 検索結果から [AWS IAM Identity Center] を選択します。
  5. 適当な名前を入力します。※今回は「AWS IAM Identity Center」と名付けます。
  6. 「作成」を押下します。

    これで外部IDプロバイダーの作成は完了です。

1-2. SAML認証を設定する

【AWS Management Consoleにサインイン】

  1. [IAM Identity Center]>[設定]に移動します。
  2. [アイデンティティソース]ウィンドウの右上にある[アクション]>[アイデンティティソースを変更]を選択します。
  3. 【ステップ1】 アイデンティティソースを選択
    ・[外部IDプロバイダー] を選択します。
    ・「次へ」を押下します。
  4. 【ステップ2】 外部アイデンティティプロバイダーを設定
    ・[サービスプロバイダーのメタデータ]から[メタデータファイルをダウンロード]を押下して、IAM Identity Centerのメタデータ情報をダウンロードします。

    このまま、画面を保持してください。後で【ステップ2】の続きを行います。

【Azure ポータルにサインイン】

  1. [Azure Active Directory]>[エンタープライズ アプリケーション]に移動します。
  2. [すべてのアプリケーション]>「作成したアプリケーション(AWS IAM Identity Center)」>[シングル サインオン]に移動して、[SAML]を選択します。
  3. [メタデータファイルをアップロードする]を選択して、先ほどダウンロードした「IAM Identity Centerのメタデータファイル」をアップロードします。
  4. 「追加」を押下します。
  5. [基本的な SAML 構成]の確認画面が表示されるため、そのまま[保存]を押下します。
  6. 保存後、[AWS IAM Identity Center でシングルサインオンをTest]とポップアップが表示されますが、[いいえ、後でtestします]を選択してください。
  7. [SAML 証明書]の[フェデレーション メタデータ XML]をダウンロードします。

【AWS Management Consoleにサインイン】
〜【ステップ2】の続き 〜

  1. 【ステップ2】 外部アイデンティティプロバイダーを設定
    ・[アイデンティティプロバイダーのメタデータ]に先ほどダウンロードした「フェデレーションメタデータ XMLファイル」をアップロードします。
    ・「次へ」を押下します。
  2. 【ステップ3】 変更を確定
    ・[確認および確定]にて「承諾」と入力します。
    ・[アイデンティティソースを変更]を選択します。
  3. [IAM Identity Center]>[設定]に移動します。
  4. [アイデンティティソース]の[認証方法]が「SAML 2.0」に変更されていることを確認します。

    これでSAML認証の設定は完了です。

2. AWSアカウントに資格情報を設定する

2-1. AWS IAM Identity Centerにユーザーを自動登録する

【AWS Management Consoleにサインイン】

  1. [IAM Identity Center]>[設定]に移動します。
  2. [自動プロビジョニング]の[有効にする]を押下します。
  3. 押下後、[インバウド自動プロビジョニング]のポップ画面が表示されます。
  4. [SCIMエンドポイント]と[アクセストークン]をコピーします。

【Azure ポータルにサインイン】

  1. [Azure Active Directory]>[グループ]に移動します。
  2. [新しいグループ]を選択します。
  3. [新しいグループ]には以下の設定を行いました。
    ・ [グループの種類]:「セキュリティ」
    ・ [グループ名]:今回は 「AWS SSO Members」と名付けます。
    ・ [グループの説明(オプション)]:<任意>
    ・ [メンバーシップの種類]:「割り当て済み」
  4. [メンバー]にSSOさせたいユーザーを追加します。
  5. 「作成」を押下します。
  6. [Azure Active Directory]>[エンタープライズ アプリケーション]に移動します。
  7. [すべてのアプリケーション]>「作成したアプリケーション(AWS IAM Identity Center)」>[ユーザーとグループ]に移動して、[➕ユーザーまたはグループの追加]を選択します。
  8. [割り当ての追加]で先ほど作成したグループ(AWS SSO Members)を追加します。
  9. [割り当て]を押下します。
  10. 割り当て後、プロビジョニング画面に遷移します。
  11. [作業の開始]を押下します。
  12. [プロビジョニングモード]を自動に切り替えます。
  13. [管理者資格情報]の[テナントの URL]には[SCIMエンドポイント]、[シークレット トークン]には[アクセストークン]を先ほど「自動プロビジョニングの有効化」でコピーした資格情報をペーストします。
  14. [テスト接続]を押下します。成功のイベントが表示されたことを確認します。
  15. [保存]を押下します。
  16. 保存後、[概要]に移動します。
  17. [プロビジョニングの開始]を選択します。

    2~3分ほどでプロビジョニングの状態が有効になります。

【AWS Management Consoleにサインイン】

  1. [IAM Identity Center]>[グループ]に移動します。
  2. Azure ADにて用意された[ユーザー/グループ(AWS SSO Members)]が表示されていることを確認します。

    これで登録手続きは完了です。

2-2. AWSアカウントに資格情報と権限を割り当てる

【AWS Management Consoleにサインイン】

  1. [IAM Identity Center]>[マルチアカウント許可]>[許可セット]に移動します。
  2. [許可セットの作成]を選択します。
  3. 【ステップ1】 許可セットタイプを選択
    ・[許可セットのタイプ]で[事前定義された許可セットのポリシー]を選択します。
    ・[事前定義された許可セットのポリシー]で「AdministratorAccess」を選択します。
    ・「次へ」を押下します。
  4. 【ステップ2】許可セットの詳細を指定
    [許可セットの詳細を指定]には下記の設定を行いました。
    ・[許可セット名]:<任意> ※今回は「AdministratorAccess」と名付けます。
    ・[説明(オプション)]:<任意>
    ・[セッション期間]:8時間(デフォルトは1時間)
    ・[リレー状態(オプション)]:(シングルサインオン後にリダイレクトされるページURL)
https://ap-northeast-1.console.aws.amazon.com/console/home?region=ap-northeast-1
  1. 【ステップ3】確認して作成
    ・「作成」を押下します。

  2. [IAM Identity Center]>[マルチアカウント許可]>[AWSアカウント]に移動します。

  3. 対象のAWSアカウントを選択して、[ユーザーまたはグループを割り当て]を選択します。
    ※ 今回は4つのアカウントに割り当ててみます。

  4. 【ステップ1】 ユーザーとグループの選択
    ・[グループ]で自動プロビジョニングされたグループ(AWS SSO Members)を選択します。
    ・[選択されたユーザーとグループ]で選択した「ユーザー名/グループ名(AWS SSO Members)」を選択します。
    ・「次へ」を押下します。

  5. 【ステップ2】 許可セットを選択
    ・[許可セット]で先ほど作成した「アクセス権限セット(AdministratorAccess)」を選択します。
    ・「次へ」を押下します。

  6. 【ステップ3】 確認して送信
    ・「送信」を押下します。

  7. [Permission sets]に作成した「アクセス権限セット(AdministratorAccess)」が割り当てられていることを確認します。

これで資格情報と権限の割り当ては完了です。

動作確認

【Azure ポータル にサインイン】

  1. [Azure Active Directory]>[エンタープライズ アプリケーション]に移動します。
  2. [すべてのアプリケーション]>「作成したアプリケーション」>[プロパティ]に移動します。
  3. [ユーザーのアクセス URL]のリンクをブラウザで実行します。
  4. サインオンしたいAWSアカウントを選択して、[Management console]を押下します。
  5. https://ap-northeast-1.console.aws.amazon.com/console/home?region=ap-northeast-1」にアクセスできることを確認します。これで動作確認は完了です。

Discussion