【AWS】IAM Identity Center × Azure AD を統合してAWSアカウントへのシングルサインオンを試してみた
2023-05-17
azblob://2023/05/17/eyecatch/2023-05-17-aws-single-sign-on-tutorial-000.png

前提条件

◆ AWS側の条件

  • [IAM Identity Center]サービスを利用できること
  • [AWS Organizations]サービスを利用していること
  • IAM権限:Administrator Access

※ 本記事では「東京リージョン」にて「IAM Identity Center」を利用しています。 

◆ Azure側の条件

  • Azure AD のライセンス:Azure AD Premium P1 または P2
  • Azure AD 権限:アプリケーション管理者 or グローバル管理者

※ 本記事では「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. 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. [➕ユーザーまたはグループの追加]を選択します。
  9. [割り当ての追加]で先ほど作成したグループ(AWS SSO Members)を追加します。
  10. [割り当て]を押下します。
  11. 割り当て後、プロビジョニング画面に遷移します。
  12. [作業の開始]を押下します。
  13. [プロビジョニングモード]を自動に切り替えます。
  14. [管理者資格情報]の[テナントの URL]には[SCIMエンドポイント]、[シークレット トークン]には[アクセストークン]を先ほど「自動プロビジョニングの有効化」でコピーした資格情報をペーストします。
  15. [テスト接続]を押下します。成功のイベントが表示されたことを確認します。
  16. [保存]を押下します。
  17. 保存後、[概要]に移動します。
  18. [プロビジョニングの開始]を選択します。

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

【AWS Management Consoleにサインイン】

  1. [IAM Identity Center]>[グループ]に移動します。
  2. 自動プロビジョニングされた[ユーザー/グループ(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をリレーに設定します)

  5. 【ステップ3】確認して作成   
    ・「作成」を押下します。
  6. [IAM Identity Center]>[マルチアカウント許可]>[AWSアカウント]に移動します。
  7. 対象のAWSアカウントを選択して、[ユーザーまたはグループを割り当て]を選択します。   
    ※ 今回は4つのAWSアカウントに割り当ててみます。   
  8. 【ステップ1】 ユーザーとグループの選択   
    ・[グループ]で自動プロビジョニングされたグループ(AWS SSO Members)を選択します。   
    ・[選択されたユーザーとグループ]で選択した「ユーザー名/グループ名(AWS SSO Members)」を選択します。   
    ・「次へ」を押下します。
  9. 【ステップ2】 許可セットを選択   
    ・[許可セット]で先ほど作成した「アクセス権限セット(AdministratorAccess)」を選択します。   
    ・「次へ」を押下します。
  10. 【ステップ3】 確認して送信   
    ・「送信」を押下します。
  11. [Permission sets]に作成した「アクセス権限セット(AdministratorAccess)」が割り当てられていることを確認します。

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

動作確認

【AWS Management Consoleにサインイン】

  1. [IAM Identity Center]>[ダッシュボード]に移動します。
  2. [AWS アクセスポータルのURL]のリンクをブラウザで実行します。

  3. サインオンしたいAWSアカウントを選択して、[Management console]を押下します。
  4. 東京リージョンの管理コンソール画面(https://ap-northeast-1.console.aws.amazon.com/console/home?region=ap-northeast-)にアクセスできたことを確認します。

これで動作確認は完了です。