Amazon Connect
【参考】
2024年07月10日時点での情報で掲載しています。
「Amazon Connect」との認証連携を設定します。
【注意】
- Amazon ConnectでのSAML連携設定後、Amazon Connectにログインする際には、管理者アカウントも含めてSAML認証が必須となります。
- Amazon Connectで使用する管理者アカウントに連携するIIJ IDサービスのアカウントをご用意ください。
- Amazon ConnectではSP Initiated SSOはサポートされていません。IIJ IDサービスのマイアプリケーション画面からアクセスする必要があります。
- Amazon ConnectがSAMLで認証するキーは「ログインID」です。
- IIJ IDサービス内の各ユーザ共通のユーザ属性にAmazon Connectの「ログインID」と同一の値を保持しておく必要があります。
1. IIJ IDサービスにSAMLアプリケーションを登録する
1. 「アプリケーション」の「アプリケーションの管理」 をクリックします。
2. 「アプリケーションを追加する」をクリックし、「カスタムアプリケーションを追加する」をクリックします。
3. 「SAMLアプリケーション」を選択し、「次に進む」をクリックします。
4. アプリケーション情報を入力して、「アプリケーションを追加する」をクリックします。
項目 | 内容 | 備考 |
---|---|---|
アプリケーション名 | 例)Amazon Connect | 必須 |
アプリケーションの説明 | 例)AWS が提供する AI を利用したコンタクトセンター | 任意 |
アプリケーションロゴ | (ファイルアップロード) | 任意 |
IDプロバイダの選択 | 「アプリケーション専用のエンティティIDを利用」を選択 | 必須 |
2. IIJ IDサービスのIDプロバイダ情報を確認する
1. 作成されたアプリケーションの「編集する」をクリックします。
2. 「IDプロバイダ情報」をクリックします。
3. 「メタデータ」の「ダウンロードする」をクリックし、IDプロバイダのメタデータをダウンロードします。
3. Amazon Connectインスタンスを作成する
1. AWSマネジメントコンソールに管理者としてログインします。
2. 検索ボックスに「Amazon Connect」と入力し、表示された「Amazon Connect」をクリックします。
3. 「インスタンスを追加する」をクリックします。
4. 以下のとおり設定し、「次へ」をクリックします。
項目 | 内容 | 備考 |
---|---|---|
ID管理 | 「SAML 2.0 ベースの認証」を選択 | |
アクセス URL | サブドメインを入力 | すべてのリージョンで、すべてのAmazon Connectインスタンスにて一意である必要があります インスタンスの作成後にアクセス URLを変更することはできません |
5. 「管理者を指定」を選択します。
6. 以下のとおり管理者を作成し、「次へ」をクリックします。
項目 | 内容 |
---|---|
ユーザー名 | IIJ IDサービスの「ID」を入力 |
【参考】
「ユーザー名」以外の項目については、適宜入力し、設定してください。
7. Amazon Connectインスタンスの作成を完了します。
ステップ3以降の設定方法については、「Amazon Connect インスタンスを作成する(https://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/amazon-connect-instances.html)」をご覧ください。
8. 作成したAmazon Connectインスタンスの「インスタンスエイリアス」をクリックします。
9. 「Disteibution settings」の「Instance ARN」の値を控えます。
4. Amazon Connectインスタンスにユーザを登録する
1. 引き続き、作成したAmazon Connectインスタンスの「アクセス URL」をクリックします。
2. 左ペインのメニューから「Users」をクリックし、「User management」をクリックします。
3. 「Add new users」をクリックします。
4. 任意のユーザを以下のとおり作成し、「Save」をクリックします。
項目 | 内容 |
---|---|
Login | IIJ IDサービスの「ID」を入力 |
【参考】
「Login」以外の項目については、適宜入力し、設定してください。
5. Amazon Web ServicesにIDプロバイダ情報を登録する
1. AWSマネジメントコンソールに管理者としてログインします。
2. 検索ボックスに「IAM」と入力し、表示された「IAM」をクリックします。
3. 左ペインのメニューから「ID プロバイダ」をクリックします。
4. 「プロバイダを追加」をクリックします。
5. 以下のとおり設定し、「プロバイダを追加」をクリックします。
項目 | 内容 |
---|---|
プロバイダのタイプ | 「SAML」を選択 |
プロバイダ名 | 例)IIJ_ID_Service |
メタデータドキュメント | 手順2-3でダウンロードしたIDプロバイダのメタデータをアップロード |
6. 作成したID プロバイダの「プロバイダ」をクリックします。
7. 「概要」の「ARN」の値を控えます。
6. Amazon Web Servicesでポリシーを作成する
1. 引き続き、IAMコンソールで左ペインのメニューから「ポリシー」をクリックします。
2. 「ポリシーの作成」をクリックします。
3. 「ポリシーエディタ」の「JSON」をクリックします。
4. 以下のとおり設定し、「次へ」をクリックします。
項目 | 内容 | 備考 |
---|---|---|
ポリシーエディタ | { | <Amazon Connect Instance ARN>には、手順3-9で控えた「Instance ARN」の値を入力します |
5. 「ポリシーの詳細」に以下のとおり設定し、「ポリシーの作成」をクリックします。
項目 | 内容 | 備考 |
---|---|---|
ポリシー名 | 任意の文字列 | 必須 |
説明-オプション | 任意の文字列 | 任意 |
7. Amazon Web Servicesでロールを作成する
1. 引き続き、IAMコンソールで左ペインのメニューから「ロール」をクリックします。
2. 「ロールを作成」をクリックします。
3. 「信頼されたエンティティタイプ」の「SAML 2.0 フェデレーション」をクリックします。
4. 「SAML 2.0 フェデレーション」を以下のとおり設定し、「次へ」をクリックします。
項目 | 内容 |
---|---|
SAML 2.0 ベースのプロバイダー | 手順5-5で入力した「プロバイダ名」を選択 |
許可されるアクセス | 「プログラムと AWS マネジメントコンソールへのアクセスを許可する」を選択 |
5. 手順6-5で入力した「ポリシー名」を選択し、「次へ」をクリックします。
6. 「ロールの詳細」を以下のとおり設定し、「ロールを作成」をクリックします。
項目 | 内容 | 備考 |
---|---|---|
ロール名 | 任意の文字列 | 必須 |
説明 | 任意の文字列 | 任意 |
7. 作成したロールの「ロール名」をクリックします。
8. 「概要」の箇所にある「ARN」の値を控えます。
8. IIJ IDサービスのSAMLアプリケーションを設定する
1. 「アプリケーション」の「アプリケーションの管理」 をクリックします。
2. アプリケーションの「編集する」をクリックします。
3. 「フェデレーション設定」をクリックします。
4. 以下のとおり設定し、「変更を適用する」をクリックします。
項目 | 内容 | 備考 | ||
---|---|---|---|---|
SAML基本情報 | SAML情報を入力する | 「SAML情報を入力する」をチェック | ||
シングルサインオンURL | https://signin.aws.amazon.com/saml | |||
エンティティID | urn:amazon:webservices | |||
NameIDフォーマット | urn:oasis:names:tc:SAML:2.0:nameid-format:persistent | |||
検証後の遷移先(RelayState) | https://<リージョンID>.console.aws.amazon.com/connect/federate/<Amazon ConnectインスタンスID> | <リージョンID>と<Amazon ConnectインスタンスID>は手順3-9で確認した「Instance ARN」から確認いただけます 例) | ||
アプリケーションのトップページURL | (空欄) | |||
アサーションの署名アルゴリズム | 例) | |||
ユーザ識別子(NameID)の指定 | 関連付けるユーザ属性 | 例) | 手順4-4で設定したAmazon Connectの各ユーザの「Login」に値が格納されている属性を指定します | |
属性値関連付け(ユーザ属性) | https://aws.amazon.com/SAML/Attributes/RoleSessionName | 例) | 手順4-4で設定したAmazon Connectの各ユーザの「Login」に値が格納されている属性を指定します | |
https://aws.amazon.com/SAML/Attributes/Role | 例) タイプと一致する値を使用する | 後述するAmazon Connectに引き渡す値が格納されている属性を指定します |
【参考】
「アサーションの署名アルゴリズム」は連携先サービス側で指定などがない場合、デフォルト値の「RSA-SHA256」を選択してください。
「RSA-SHA256」を指定して動作しない場合及び連携先サービス側で明示的にそれ以外のものが指定されている場合は、「RSA-SHA512」、または「RSA-SHA1」に変更し、連携を確認してください。
【参考】
- 「ユーザ識別子(NameID)」の指定は、ユーザ単位ではなくSAMLアプリケーション単位でのみ設定できます。
- 「ユーザ識別子(NameID)」の指定した属性にユーザが値を保持していない場合は SAML連携は失敗します。
- 「ユーザ識別子(NameID)」にID以外の複数の値を持つ属性で指定する方法は以下のとおりです。
例として、IIJ IDサービスの各ユーザの属性「Entitlements」に以下のように値が設定されています。- 連携先サービス側に「ユーザ識別子(NameID)」として渡す値が「iij-jiro@iij.ad.jp」の場合は、「プライマリの値を使用する」をチェックします。
- 連携先サービス側に「ユーザ識別子(NameID)」として渡す値が「iij-jiro」の場合は、「タイプと一致する値を使用する」をチェックし、タイプに「SaaS_ID」を指定します。
- 連携先サービス側に「ユーザ識別子(NameID)」として渡す値が「iij-jiro@iij.ad.jp」の場合は、「プライマリの値を使用する」をチェックします。
【注意】
- 「ユーザ識別子(NameID)」としてID以外の属性を指定していると、IIJ IDサービスに対する更新処理でその属性の値が更新される場合があります。ただし、その更新は連携先サービスまで伝搬されないため、IIJ IDサービス側の属性の値が更新されると、連携していたアカウントに接続できなくなります。「ユーザ識別子(NameID)」としている属性の値が更新される場合は、連携先サービス側で紐づく属性(多くの場合、ユーザID)を忘れずに更新してください。
- 以下の画像のように複数のタイプに「SaaS_ID」が設定されている場合、「ユーザ識別子(NameID)」に「SaaS_ID」を指定すると、サービスマニュアルに記載されているルールに基づいていずれかの単数値だけが採用されます。連携対象のサービスに管理者の意図しないアカウントがSAML連携される危険性があります。対象となる各ユーザにおいて、「ユーザ識別子(NameID)」として指定するタイプが複数個存在しないように注意してください。
【参考】
- 「属性値関連付け(ユーザ属性)」は、ユーザ単位ではなくSAMLアプリケーション単位でのみ設定できます。
- 「属性値関連付け(ユーザ属性)」で複数値を持つ属性での指定する方法は以下のとおりです。
例として、IIJ IDサービスの各ユーザの属性「Entitlements」に以下のように値が設定されています。- 連携先サービス側に「属性値関連付け(ユーザ属性)」として属性名が「hogehoge1」、渡したい値が「abc」の場合は、「プライマリの値を使用する」をチェックします。
- 連携先サービス側に「属性値関連付け(ユーザ属性)」として属性名が「hogehoge1」、渡したい値が「1234」の場合は、「タイプと一致する値を使用する」をチェックし、タイプに「SaaS_Attr1」を指定します。
- 連携先サービス側に「属性値関連付け(ユーザ属性)」として属性名が「hogehoge1」、渡したい値が「multi1」、「multi2」のように複数の場合は、「タイプと一致する値を使用する」をチェックし、タイプに「SaaS_MultiAttr1」を指定します。
- 連携先サービス側に「属性値関連付け(ユーザ属性)」として属性名が「hogehoge1」、渡したい値が「abc」の場合は、「プライマリの値を使用する」をチェックします。
5. 「利用者設定」をクリックします。
6. 「利用者を追加する」をクリックし、アプリケーションにシングルサインオンさせたいグループ及びユーザを指定します。
【参考】
利用者に登録していないユーザにもこのアプリケーションを利用させたい場合は、「アプリケーションへのログイン」の「編集」をクリックしします。
「利用者でないユーザも、アプリケーションへのログインを許可する」を選択し、「変更を適用する」をクリックします。
9. IIJ IDサービスの各ユーザの属性値を設定する
1. 手順8-4で「https://aws.amazon.com/SAML/Attributes/Role」の値にマッピングさせたIIJ IDサービスの各ユーザの属性値に以下の値を設定します。
以下の例では手順8-4の設定例にあわせて、Entitlements属性のタイプ名を「aws_role」として設定しています。
設定する値 | 手順7-8で取得した「ロールのARN」の後に手順5-7で取得した「ID プロバイダのARN」を「,(カンマ)」区切りで入力 |
---|---|
設定例 | arn:aws:iam::012345678901:role/Amazon_Connect_SAML_Role,arn:aws:iam::012345678901:saml-provider/IIJ_ID_Service |