Skip to content

SalesforceからAmazon Connectへシングルサインオンする

  • Salesforce連携

📅 2020-07-18

Amazon ConnectとSalesforce連携は非常にニーズがあります。CTI連携に関しては、Amazon Connect CTI Adapter v4 for Salesforce Lightning(2020/07時点)がよく知られていますが、ID管理においてもSalesforceを活用することができます。

SalesforceアカウントはIdPとしても使用することができ、SalesforceアカウントからシングルサインオンでAmazon Connectにログインすることができます。

Amazon Connectインスタンスを作成する

ID管理方式はインスタンス作成時にのみ設定できるので、「SAML 2.0 ベースの認証」を指定してAmazon Connectインスタンスを作成します。その他の設定はお好みで問題ありません。

sfdc sso create instance

SalesforceでIdPを有効にする

Salesforceの設定→ID プロバイダ へアクセスします。

IDプロバイダが有効になっていない場合は、「ID プロバイダを有効化」ボタンをクリックします。

sfdc sso enable idp

IDプロバイダを有効にしたら、「メタデータのダウンロード」をクリックしてIdPメタデータをダウンロードします。

sfdc sso download metadata

SAML認証のためのIAM設定

Amazon Connectインスタンスを作成したAWSコンソールのIAMにアクセスします。

IDプロバイダの作成

ID プロバイダーへアクセスし、「プロバイダの作成」をクリックします。

  • プロバイダーのタイプ:SAML
  • プロバイダ名:SalesforceConnect
  • メタデータドキュメント:先程ダウンロードしたメタデータファイルを指定

上記設定にてIDプロバイダーを作成します。

sfdc sso iam create idp

作成したIDプロバイダーARNを保存しておきます。

IAMポリシーの作成

ポリシーへアクセスし、「ポリシーの作成」をクリックします。

JSONタブをクリックし、以下のJSONを参考にして入力します。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Statement1",
            "Effect": "Allow",
            "Action": "connect:GetFederationToken",
            "Resource": [
                "arn:aws:connect:ap-northeast-1:741648256786:instance/8adc27e5-f488-4250-8b6d-72a6fec8700b/user/${aws:userid}"
            ]
        }
    ]
}

変更点はResourceの箇所で、

"Amazon ConnectのインスタンスARN/user/${aws:userid}"

として入力します。

ポリシー名は「SalesforceConnectPolicy」で作成します。

IAMロールの作成

ロールへアクセスし、「ロールの作成」をクリックします。

「SAML 2.0 フェデレーション」を選択し、SAML プロバイダーでは上記で作成した「SalesforceConnect」を選択します。

「プログラムによるアクセスと AWS マネジメントコンソールによるアクセスを許可する」を選択してください。

sfdc sso create role

ポリシーのアタッチでは、上記で作成した「SalesforceConnectPolicy」のみを選択します。

ロール名は「SalesforceConnectRole」で作成します。

作成したIAMロールARNを保存しておきます。

Salesforce上で接続アプリケーションの作成

Salesforceの設定→アプリケーションマネージャへアクセスします。

「新規接続アプリケーション」をクリックします。

  • 接続アプリケーション名:任意の名前を入力します
  • API 参照名:自動的に上記を元に設定されます
  • 取引先責任者 メール:責任者のメールアドレスを入力します
  • SAML の有効化:チェックを入れます
  • エンティティ ID:SalesforceConnect
  • ACS URL: https://signin.aws.amazon.com/saml
  • 件名種別:「永続ID」を選択します

sfdc sso create connectedapp

「保存」をクリックして接続アプリケーションを作成します。

接続アプリケーションの属性設定

Salesforceの設定→接続アプリケーションを管理するへアクセスし、上記で作成したアプリケーションを選択します。

最下部のカスタム属性の「新規」をクリックします。属性を2つ作成します。

上記設定で1つ目のカスタム属性を作成します。

sfdc sso attr1

再度「新規」をクリックします。

‘IDプロバイダー ARN’ & ‘,’ & ‘IAMロールARN’

sfdc sso attr2

また、「Idp-init のログイン URL」をコピーしておきます。

sfdc sso loginurl

Amazon ConnectへのSSO設定

この時点で、上記でコピーしたIdp-init のログイン URLへアクセスするとAWSコンソールへサインインできると思います。アクセスできない場合は設定を見直してください。

Amazon Connect管理画面へアクセスし、Amazon Connectユーザーを作成します。

この時、ログイン名にはSalesforceでログインする際のメールアドレスを指定します。

sfdc sso create ac user

最後に、Salesforceの接続アプリケーション設定にて、「開始 URL」を設定します。

「開始 URL」は、上記でコピーした「Idp-init のログイン URL」に「RelayState」を追加します。

Idp-init のログイン URL&RelayState=https://ap-northeast-1.console.aws.amazon.com/connect/federate/**Amazon ConnectのインスタンスID**?destination=%2Fconnect%2Fccp-v2

以下が設定例です。入力し、「保存」をクリックします。

https://geekfeed-linemsg.my.salesforce.com/idp/login?app=0sp2w000000XZEE&RelayState=https://ap-northeast-1.console.aws.amazon.com/connect/federate/8adc27e5-f488-4250-8b6d-72a6fec8700b?destination=%2Fconnect%2Fccp-v2

Salesforceからシングルサインオンする

作成した接続アプリケーションへのアクセス権限を与えるため、Salesforceの設定→プロファイルからアクセス権限を追加します。

sfdc sso profile

ここまでできると、アプリケーションランチャーから作成した接続アプリケーションをクリックすると、新規タブでAmazon ConnectのCCPが表示されます。

sfdc sso launcher

sfdc sso ccp

SalesforceからAmazon Connectへのシングルサインオンの設定は完了です。お疲れさまでした。

まとめ

SalesforceからAmazon Connectへシングルサインオンすることで、すでに使用しているSalesfroceの認証情報を利用することができます。ID管理方式は後から変更することができないので、インスタンス作成時にしっかりと検討することが重要です。

Salesforce画面からCCPにダイレクトにアクセスできるのは便利ですね!

参考文献

← PrevNext →
  • produced by GeekFeed
  • produced by GeekFeed