Amazon Connect へ AzureADからシングルサインオン(SAML)する設定手順

記事タイトルとURLをコピーする

概要

Amazon Connectを利用するユーザーの管理方法として、SAML2.0ベースの認証方法を選択することができます。
今回はAzureAD との連携設定を試してみました。手順が少し複雑で長くなりますが、紹介させていただきます。

なお、Amazon Connectインスタンスを作成する手続き内でユーザーの管理方法を指定し、インスタンス作成後は管理方法の変更ができません。
変更する場合は、インスタンスを作成し直すことになりますので、よく検討して決定する必要があります。
詳しくは下記ドキュメントを参照ください。
Amazon Connect - ID 管理を計画する

手順

今回は、テスト用のAzureテナントを作成し、下記の流れで実施しました。

  1. Amazon Connectインスタンスを新規作成
  2. AzureへSAMLによるシングルサインオンの設定
  3. AWSへIDプロバイダ設定
  4. AWSへロールの設定
  5. Azure側の連携設定
  6. AzureAD側のユーザー登録
  7. Amazon Connectのユーザー登録
  8. 動作確認

1.Amazon Connectインスタンスを新規作成

Amazon Connect インスタンスを作成します。ステップ1でID管理方法を選択しますが、今回は「SAML 2.0ベースの認証」を選択します。
アクセスURLはインスタンス名を指定します

インスタンス作成後、概要ページのインスタンスARNを確認します
instance/ の後の文字列がインスタンスIDを示しています
後の手順で使用するため、控えておきます

2.AzureへSAMLによるシングルサインオンの設定

エンタープライズアプリケーションへ、「Amazon Web Services(AWS」アプリを追加します

追加した「Amazon Web Services(AWS)」アプリへSAMLシングルサインオンを設定します

フェデレーションメタデータXMLをダウンロード

「SAML 署名証明書」パートの「フェデレーションメタデータXML」をダウンロードします
後続の手順で使用します

3.AWSへIDプロバイダ設定

IAM画面からIDプロバイダーを作成します
プロバイダーのタイプ=SAML、メタデータドキュメントは前の手順でAzure側からダウンロードした「フェデレーションメタデータXML」を指定(アップロード)します

IDプロバイダーARN

後の手順で使用するため、IDプロバイダー作成後、概要ページを確認し、プロバイダのARNを控えておきます

 

4.AWSへロールの設定

SAMLフェデレーションロールとそれに適用するポリシーを作成します

IAM→ロールの作成
  • 「SAML 2.0フェデレーション」を選択
  • SAML プロバイダーは前の手順で指定したIDプロバイダー名を指定
  • 「プログラムによるアクセスと AWS マネジメントコンソールによるアクセスを許可する」を選択

適用するポリシーを作成

ロール作成手順内で作成します

設定するポリシーJSONは下記ページを参考にします(本手順ではAmazon ConnectインスタンスIDを指定するパターンを使用)
最初の手順「Amazon Connectインスタンスを新規作成」で確認したインスタンスIDを使用します
https://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/configure-saml.html#enable-saml-federation

作成したポリシーを選択します

ポリシーを作成するとロール作成手順に戻ります
作成したポリシーを選択し、ロール作成を完了します

ロールARN

後の手順で使用するため、ロール作成後、概要ページを確認し、ロールARNを控えておきます

5.Azure側の連携設定

リレー状態の設定

エンタープライズアプリケーション「Amazon Web Services(AWS)」→SAMLベースのサインオン設定画面→基本的なSAML構成リレー状態を設定します

https://REGION.console.aws.amazon.com/connect/federate/INSTANCE-ID?destination=%2Fconnect%2Fccp

参照: https://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/configure-saml.html#destination-relay

ユーザー属性とクレームの設定

引き続き、ユーザー属性とクレームを設定します

クレーム名「Role」へ前の手順で作成した「ロールARN」と「IDプロバイダARN」をカンマ区切りで指定します
下記のような文字列になります

arn:aws:iam::999999999999:role/AmazonConnectAzureAdSsoRole,arn:aws:iam::999999999999:saml-provider/azure-sso-example

参照: SAML Role Attribute

6.AzureAD側のユーザー登録

エンタープライズアプリケーション「Amazon Web Services(AWS)」→「ユーザーとグループ」の画面で「ユーザーの追加」を実施します
(スクリーンショットは検証用テナントのため、自分しかいません)

7.Amazon Connectのユーザー登録

AzureAD側のプリンシパル名(user.userprincipalname)とAmazon Connectユーザーのログイン名が一致するように設定しました

8.動作確認

エンタープライズアプリケーション「Amazon Web Services(AWS)」→「シングルサインオン」の画面でテストを実施します

Webブラウザの別タブでAmazon ConnetのCCPページが表示されることを確認します

本手順では、「5.Azure側の連携設定」→「リレー状態の設定」で、"destination=%2Fconnect%2Fccp"を指定したため、CCPページへ遷移しました
"destination=%2Fconnect%2Fhome"とすれば、Amazon Connectのホーム画面へ遷移します

最後に

以上、AzureAD SAML SSOでAmazon Connectへの認証設定手順の確認内容となります。
ご参考になれば幸いです。

また、他のAmazon Connect SAML連携記事もご参照ください。