はじめに
IBM Security Verify と Amazon Connect でSAML連携してみました。
AWSアカウントの準備から必要な場合には、参考リンクをご参照ください。
Amazon Connect の参考情報
以下のAmazon Connectのマニュアルを参考にしました。
- トライアルの申し込み
Amazon Connect よくある質問
https://aws.amazon.com/jp/connect/faqs/
- SAML連携ガイド
Amazon Connect での IAM を使用した SAML の設定
https://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/configure-saml.html
Amazon Connect SAML連携のポイント
- SP initiated SSOはサポートしていない。
- Amazon Connectへのユーザー登録は別途必要となる。
- IBM Security VerifyはAmazon Connectのユーザープロビジョニングはサポートしていない。
- Amazon Web Seriveは、属性として以下を渡す必要がある。
属性名 | 値 | 備考 |
---|---|---|
https://aws.amazon.com/SAML/Attributes/Role | arn:aws:iam::Amazon Web Services アカウント ID:role/Amazon Web Services の役割名,arn:aws:iam::Amazon Web Services アカウント ID:saml-provider/Amazon Web Services のプロバイダー | Amazon Web Serviceから値を取得 |
https://aws.amazon.com/SAML/Attributes/RoleSessionName | Amazon Web Services コンソールのログイン ID | emailアドレスなど設定値を渡す |
IBM Secutiry Verifyがサポートするコネクタの確認
サポートするアプリケーション・コネクタに、Amazon Web Services エントリーからアクセスされる Amazon Web アプリケーションがあります。
対象のAmazon Web アプリケーションとしては、Amazon Connectはありませんでしたが、こちらのコネクタを利用して構成します。
サポートされるアプリケーションとコネクター
https://www.ibm.com/support/knowledgecenter/ja/SSCT62/com.ibm.iamservice.doc/references/r_supported_apps_and_connectors.html
構成手順
Amazon Connect #1 インスタンス作成
AWSのコンソールで、サービス-カスタマーエンゲージメント-Amazon Connectを選択します。
「SAMLベースの認証」を選択し、アクセスURLの先頭部分にインスタンス名を入力します。
管理者ユーザーに姓名、mailアドレスを設定する。
デフォルトのまま、「次のステップ」へ
設定を確認して、「インスタンスの作成」をクリック。
数分待って成功と表示されるのを確認します。「今すぐ始める」をクリックします。
Amazon Connectのインスタンス画面が表示されたら、インスタンス名をクリックします。
緊急アクセスのリンクから、Amazon Connectの管理画面が表示できます。
Amazon Connect #2 IDプロバイダーの登録
次に、IDプロバイダーを登録します。AWSのコンソールで、サービス-セキュリティ、ID、および、コンプライアンス-IAMを選択します。
ID プロバイダーを選択し、「プロバイダの作成」をクリックします。
プロバイダーのタイプは「SAML」を選択し、任意のプロバイダ名を入力します。
メタデータドキュメントは、IBM Security VerifyのURLから事前にダウンロードしておいたものを指定します。
https://<自身のテナント名>/appaccess/v1.0/templates/federations/metadata
設定内容を確認して、「作成」をクリックします。
IDプロバイダーの作成は完了です。
Amazon Connect #3 ロール・ポリシーの登録
次にロールとポリシーを登録し、Federationの対象インスタンスを指定します。
ロールを選択し、「ロールの作成」をクリックします。
信頼されたエンティティの種類は、「SAML2.0フェデレーション」を選択します。
SAML プロバイダーは先ほど登録したIDプロバイダーを選択します。
属性や値が自動的に反映されたら、「次のステップ アクセス権限」をクリックします。
「ポリシーの作成」をクリックします。
JSON形式を選択して入力します。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "connect:GetFederationToken",
"Resource": "<インスタンス ARN>/user/${aws:userid}"
}
]
}
次にポリシーを作成します。任意の名前を入力し、「ポリシーの作成」をクリックします。
作成したポリシーを選択して、「次のステップ:タグ」を選択します。
次の画面ではデフォルトのまま、「次のステップ:確認」をクリックします。
Amazon Connect #4 ユーザー登録
以下のステップでユーザーを登録します。ログイン名は、IBM Security Verifyのログイン名と同じになるように設定します。
IBM Security Verify #1 アプリケーションの追加
IBM Security Verifyの管理画面-アプリケーションで、「アプリケーションの追加」をクリックします。
Amazon We Service を検索します。
デフォルトのまま保存します。
IBM Security Verify #2 属性追加
SAMLの属性に「https://aws.amazon.com/SAML/Attributes/Role」を設定するため、カスタム属性を登録します。
管理画面の構成-属性タブで、「属性の追加」をクリックします。
任意の名前を入力します。
「固定値」を選択します。
arn:aws:iam::Amazon Web Services アカウント ID:role/Amazon Web Services の役割名,arn:aws:iam::Amazon Web Services アカウント ID:saml-provider/Amazon Web Services のプロバイダー名 となるように値を設定します。
カスタム属性が保存されたことを確認します。
IBM Security Verify #2 属性マッピングの設定
Amazon Web Serviceコネクタの属性マッピングの設定を行い、「保存」します。
属性名 | 値 |
---|---|
NameID | Prefferd_username |
https://aws.amazon.com/SAML/Attributes/Role | 追加したカスタム属性名 |
https://aws.amazon.com/SAML/Attributes/RoleSessionName | Prefferd_username |
動作確認
ブラウザで以下のURLから、IBM Security Verifyのログイン、Amazon Connect画面の表示されることを確認します。
https://<IBM Security VerifyのURL>/saml/sps/saml20ip/saml20/logininitial?RequestBinding=HTTPPost&PartnerId=urn:amazon:webservices&NameIdFormat=persistent&Target=https://<Amazon ConnectのRegion>.console.aws.amazon.com/connect/federate/<Amazon Connectのインスタンス名>
最後に
Amazon Web Serviceのコネクタには、Amazon Connectのリンクがないため、ホームページ上にアプリケーションアイコンが登録できません。
IBM Security Verifyのブックマーク機能やブラウザのブックマークにURLなどで代替ください。
参考リンク
- AWSのトライアル
AWS の無料トライアルで実際に体験
https://aws.amazon.com/jp/free/start-your-free-trial/