Amazon Web Services ブログ

単一の Amazon Connect インスタンスに対する複数の SAML ID プロバイダー

ID 管理は、適切なユーザーがテクノロジーリソースに適切にアクセスできるようにするためのポリシーとテクノロジーのフレームワークです。 Amazon Connect インスタンスの ID 管理は、次の 3 つの方法のいずれかで設定できます。

  • Amazon Connect にユーザーを保存する方法
  • 既存のディレクトリにリンクする方法
  • SAML 2.0 ベースの認証を使用する方法

Amazon Connect は、Security Assertion Markup Language (SAML) 2.0 による ID フェデレーションをサポートしているため、お客様の組織から Amazon Connect インスタンスへのウェブベースのシングルサインオン (SSO) が可能になります。 これにより、ユーザーは 1 つの ID とパスワードで複数のアプリケーションに安全にアクセスできます。

Amazon Connect において、既定では Amazon Connect インスタンスから ID プロバイダー (IdP) への 1:1 のマッピングが可能です。 多くの場合、企業の環境には複数の ID プロバイダー (IdP) があり、様々なアプリケーションに固有のユースケースに対応したり、プライマリ IdP に障害が発生した場合のバックアップメカニズムとして使用したりしています。

このブログ記事では、単一の Amazon Connect インスタンスに追加の ID プロバイダを設定するために必要な手順について詳しく解説します。

ソリューション概要

Amazon Connect インスタンスに追加の IdP を設定するために必要な手順の概要を以下に示します。

  1. お使いの SSO 環境に、追加する SAML ID プロバイダー (IdP) 用の Amazon Connect SSO アプリケーションを作成します。
  2. 追加の SAML IdP 用に、AWS IAM でアイデンティティプロバイダリファレンスを作成します。
  3. 新しい IdP を含むように信頼関係を更新することで、既存の SAML IdP で使用されている既存の IAM ロールを再利用します。
  4. Amazon Connect の修正されたロールを使用するように SAML IdP アプリケーションを設定します。
  5. Amazon Connect で両方の IdP アプリケーションを使用して SSO をテストします。

このブログ記事では、IdP の例として OktaAWS Identity Center を使用していますが、この手順は SAML 2.0 準拠のすべての ID プロバイダーに適用されます。

ハイレベルなアーキテクチャ図

シーケンス図

以下の図は、SAML リクエストが行き交う手順を詳しく示しています。

  1. ユーザーは Amazon Connect にログインするためのリンクを含む内部ポータルを参照します。
  2. フェデレーションサービスは組織の ID ストアに認証を要求します。
  3. ID ストアはユーザーを認証し、認証レスポンスをフェデレーションサービスに返します。
  4. 認証が成功すると、フェデレーションサービスは SAML アサーションをユーザーのブラウザに送信します。
  5. ユーザーのブラウザは SAML アサーションを AWS サインイン SAML エンドポイントに送信します。 AWS サインインは SAML リクエストを受け取り、リクエストを処理してユーザーを認証し、認証トークンを Amazon Connect に転送します。
  6. Amazon Connect は AWS からの認証トークンを使用してユーザーを認証し、ユーザーのブラウザで Amazon Connect を開きます。

追加の IdP を設定するための前提条件は、既存の SAML 2.0 IdP を持つ Amazon Connect インスタンスがすでにセットアップされていることです。

ステップ 1: お使いの SSO 環境で、追加 IdP 用に Amazon Connect SAML アプリケーションを設定する

このステップでは、追加の SAML IdP 内に Amazon Connect アプリケーションを作成し、メタデータをエクスポートします。

  1. SAML 2.0 IdP で Amazon Connect アプリケーションを作成し、デフォルトリレーに以下のように入力します。
    https://<リージョンID>.console.thinkwithwp.com/connect/federate/<インスタンスID>
    <リージョンID> は Amazon Connect インスタンスのリージョン(例えば米国東部(バージニア北部)の場合は us-east-1)に置き換えてください。
  2. アプリケーションのメタデータをエクスポートします。

IdP でアプリケーションを作成して IdP メタデータを取得する詳細な方法については、IdP のドキュメントを参照してください。

ステップ 2: IAM で追加の IdP 用の ID プロバイダーリファレンスを作成する

このステップでは、IAM 内に追加 IdP 用の ID プロバイダー設定を作成します。

  1. IAM コンソール を開きます。
  2. アクセス管理」で「ID プロバイダー」を選択します。
  3. プロバイダを追加」を選択します。

  1. [SAML] を選択します。
  2. [プロバイダ名] にプロバイダーの名前を入力します。 例: AWSIdentityCenter-SSO-Agent
  3. IAM Identity Center または SSO アプリケーションからダウンロードしたメタデータファイルをアップロードします。
  4. [プロバイダを追加] を選択します。
  5. ID プロバイダーを開き、ARN を書き留めます。

ステップ 3: プライマリ IdP の既存の IAM ロールを編集して、追加の IdP を追加する (信頼関係を編集)

このステップでは、プライマリ IdP の Amazon Connect ユーザーに関連付けられている既存のロールを再利用し、新しい ID プロバイダーを参照するように信頼関係を編集します。

  1. AWS アカウントの IAM に移動します。
  2. ロール」を選択します。
  3. プライマリ IdP に使用されている既存の IAM ロールを選択します。
  4. 信頼関係」を選択し、「信頼ポリシーを編集」 を選択します。
  5. 追加の IdP の ID プロバイダーの ARN を追加します。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Federated": [
                    "arn:aws:iam::<AWSアカウントID>:saml-provider/AWSIdentityCenter-SSO-Agent",
                    "arn:aws:iam::<AWSアカウントID>:saml-provider/Okta_Connect_Agent"
                ]
            },
            "Action": "sts:AssumeRoleWithSAML",
            "Condition": {
                "StringEquals": {
                    "SAML:aud": "https://signin.thinkwithwp.com/saml"
                }
            }
        }
    ]
}

  1. ロール ARN をメモします。「IAM」> 「ロール」 から該当のロールを選択すると確認できます。

ステップ 4: Amazon Connect の修正されたロールを使用するように SAML IdP アプリケーションを設定する

このステップは、お使いの SSO ID プロバイダーによって異なります。以下の手順は AWS Identity Center IdP 用です。 お使いの SSO IdP 内で IAM ロールを参照する方法の詳細については Amazon Connect SSO Setup Workshop を参照してください。

  1. IAM Identity Center に管理者としてログインします。
  2. アプリケーションの割り当て」にある「アプリケーション」を選択します。

  1. Amazon Connect SSO アプリケーション名を選択します。
  2. アクション」を選択します。
  3. 属性マッピングを編集」を選択します。

  1. [新規属性マッピングを追加] を選択し、以下を設定します。
    • https://thinkwithwp.com/SAML/Attributes/Role」のユーザー属性を追加し、「<コピーしたIdPロールARN>,<コピーしたIAM IDプロバイダ ARN>」と設定します。
    • 変更を保存します。
    • ユーザーをアプリケーションに割り当てます。

ステップ 5: Amazon Connect で両方の IdP アプリケーションを使用して SSO をテストする

  1. プライマリ SSO IdP にログインして Amazon Connect を起動します。


  1. 追加の SSO IdP にログインして Amazon Connect を起動します。


結論

この投稿では、追加の SAML 2.0 ID プロバイダーを追加して Amazon Connect インスタンスを強化する方法を学びました。
つまり、プライマリ IdP に問題が発生した場合でも、ユーザーは代替 ID プロバイダーを使用して Amazon Connect インスタンスに簡単にログインできるため、アクセスが中断されることはなく、シームレスなカスタマーエクスペリエンスを確保できます。

Amazon Connect の詳細については、Amazon Connect のドキュメントを参照してください。

著者略歴

Mo Miah は Amazon Connect を専門とするソリューションアーキテクトです。彼は 16 年以上コンタクトセンターテクノロジーに関わってきた経験があります。 イギリスのロンドンにて、お客様が Amazon Connect の強力な AI/ML 機能を活用することでビジネス上の成果を達成できるよう支援することを楽しんでいます。 仕事以外では Mo はアクティブでいることを楽しんでおり、2 人の若い娘がいるので忙しくしています。
Sutapa Dasgupta は、Amazon Connect を専門とする AWS プロフェッショナルサービスのシニアコンサルタントです。 彼女は、大規模なコンタクトセンターの設計とクラウド移行、およびクラウド上でカスタマーエンゲージメントワークロードをモダナイゼーションするお客様のご支援経験があります。

翻訳はソリューションアーキテクト遠藤が担当しました。原文はこちらです。