概要
Amazon Connectを利用するユーザーの管理方法として、SAML2.0ベースの認証方法を選択することができます。
今回はAzureAD との連携設定を試してみました。手順が少し複雑で長くなりますが、紹介させていただきます。
なお、Amazon Connectインスタンスを作成する手続き内でユーザーの管理方法を指定し、インスタンス作成後は管理方法の変更ができません。
変更する場合は、インスタンスを作成し直すことになりますので、よく検討して決定する必要があります。
詳しくは下記ドキュメントを参照ください。
Amazon Connect - ID 管理を計画する
手順
今回は、テスト用のAzureテナントを作成し、下記の流れで実施しました。
- Amazon Connectインスタンスを新規作成
- AzureへSAMLによるシングルサインオンの設定
- AWSへIDプロバイダ設定
- AWSへロールの設定
- Azure側の連携設定
- AzureAD側のユーザー登録
- Amazon Connectのユーザー登録
- 動作確認
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
6.AzureAD側のユーザー登録
エンタープライズアプリケーション「Amazon Web Services(AWS)」→「ユーザーとグループ」の画面で「ユーザーの追加」を実施します
(スクリーンショットは検証用テナントのため、自分しかいません)
7.Amazon Connectのユーザー登録
AzureAD側のプリンシパル名(user.userprincipalname)とAmazon Connectユーザーのログイン名が一致するように設定しました
8.動作確認
エンタープライズアプリケーション「Amazon Web Services(AWS)」→「シングルサインオン」の画面でテストを実施します
Webブラウザの別タブでAmazon ConnectのCCPページが表示されることを確認します
本手順では、「5.Azure側の連携設定」→「リレー状態の設定」で、"destination=%2Fconnect%2Fccp"を指定したため、CCPページへ遷移しました
"destination=%2Fconnect%2Fhome"とすれば、Amazon Connectのホーム画面へ遷移します
最後に
以上、AzureAD SAML SSOでAmazon Connectへの認証設定手順の確認内容となります。
ご参考になれば幸いです。
また、他のAmazon Connect SAML連携記事もご参照ください。