1.はじめに
どうも、ARIの名古屋支社に勤務している愛知県民です♪
(/・ω・)/
色々なサービスを連携させるにあたりSSO(シングルサインオン)は便利ですよね。
そこで今回はSalesforceからAmazonConnectにSSOする方法についてまとめてみたいと思います!
AWS、AmazonConnect、Salesforceについて勉強中の方の参考になれば幸いです。
(*^^)v
本記事は以下のURLに記載の手順を参考にしています。
https://ac.geekfeed.co.jp/salesforce-sso/
2.全体的な手順の概要
少々手順が長くなるので、どのような手順で設定していくかを以下にまとめておきます。
- AWSでAmazonConnectインスタンスを作成する
- AWSでAmazonConnectインスタンスのユーザを作成する
- SalesforceでIDプロバイダを有効化する
- AWSでIDプロバイダを有効化する
- AWSでIAMポリシー・IAMロールを作成する
- Salesforceで接続アプリケーションを作成する
- SalesforceからAmazonConnectにSSOをする
AWSの仕様で、SSOの設定はAmazonConnectインスタンスの作成時しかできません。
3.AWSでAmazonConnectインスタンスを作成する
では早速、設定していきましょう!
まず初めにAmazonConnectインスタンスを作成するところからです
3.1.AWSのコンソールにログインします。
3.2.AmazonConnectインスタンスの管理画面を開き、「インスタンスを追加する」を選択します。
3.3.「SAML2.0ベースの認証」を選択し、AmazonConnectインスタンスのエイリアス(値は任意です)を入力し、「次へ」を選択します。
3.4.「管理者なし」を選択し、「次へ」を選択します。
3.5.テレフォニーオプションはデフォルトのままで「次へ」を選択します。
3.6.データストレージはデフォルトのままで「次へ」を選択します。
3.7.確認画面が表示されるので、「インスタンスの作成」を選択します。
3.8.数分後、AmazonConnectインスタンスが作成されます。
3.9.作成されたAmazonConnectインスタンスのエイリアス名を選択します。
3.10.AmazonConnectインスタンスのARNをコピーし、メモ帳等に貼り付けます。
4.AWSでAmazonConnectインスタンスのユーザを作成する
続いて、SSOで使用するAmazonConnectインスタンスのユーザを作成します。
4.1.「Log in for emergency access」を選択します。
4.2.「ユーザー管理」を選択します。
4.3.「新しいユーザーの作成」を選択します。
4.4.ログインの欄にSalesforceにログインする時に使用しているメールアドレスを入力し、ユーザーを作成します。
5.SalesforceでIDプロバイダを有効化する
続いて、SalesforceでIDプロバイダ(認証情報や認証結果を管理するシステム)の設定をします。
5.1.Salesforceの設定画面にて、「ID」を検索し、「IDプロバイダ」を選択します。
5.2.「IDプロバイダを有効化」を選択します。
5.3.表示ラベル、一意の名前(値は任意です)を入力し、「保存」を選択します。
5.4.「メタデータのダウンロード」を選択します。
5.5.名前を付けて保存ウィンドウが表示されるので、xmlファイルを保存します。
6.AWSでIDプロバイダを有効化する
SalesforceでIDプロバイダの設定をした後は、再びAWSに戻り、AWS側のIDプロバイダの設定をします。
6.1.IAMの管理画面を開き、「IDプロバイダ」を選択します。
6.2.「プロバイダを追加」を選択します。
6.3.以下の表のとおりに設定し、「プロバイダを追加」を選択します。
項目 | 設定内容 |
---|---|
プロバイダのタイプ | SAML |
プロバイダ名 | (任意) |
メタデータドキュメント | 手順5.5で保存したxmlファイル |
6.4.作成されたプロバイダ名を選択します。
6.5.プロバイダのARNをコピーし、メモ帳等に貼り付けます。
7.AWSでIAMポリシー・IAMロールを作成する
続いて、SSO時に必要なIAMポリシー・ロールを作成していきます。
7.1.以下の内容でIAMポリシーを作成します。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Statement1",
"Effect": "Allow",
"Action": "connect:GetFederationToken",
"Resource": [
"★AmazonConnectインスタンスのARN★/user/${aws:userid}"
]
}
]
}
「★AmazonConnectインスタンスのARN★」の部分には、手順3.10でコピーしたARNを張り付けてください。
7.2.IAMロールの管理画面を開き、「ロールを作成」を選択します。
7.3.以下の表のとおりに設定し、「次へ」を選択します。
項目 | 設定内容 |
---|---|
信頼されたエンティティタイプ | SAML2.0フェデレーション |
SAML2.0ベースのプロバイダー | 手順6.3.で作成したIDプロバイダ |
プログラムとAWSマネジメントコンソールへのアクセスを許可する | チェックあり |
7.4.手順7.1で作成したIAMポリシーを選択し、「次へ」を選択します。
7.5.ロール名(値は任意です)を入力し、IAMロールを作成します。
7.6.作成したIAMロール名を選択し、ARNをメモ帳等に貼り付けます。
8.Salesforceで接続アプリケーションを作成する
次はSalesforceで接続アプリケーションを作成します。
8.1.Salesforceの設定画面にて、「アプリケーション」を検索し、「アプリケーションマネージャ」を選択します。
8.2.「新規接続アプリケーション」を選択します。
8.3.以下の表のとおりに設定し、接続アプリケーションを作成します。
(表に記載のない項目はデフォルトです。)
項目 | 設定内容 |
---|---|
接続アプリケーション名 | (任意) |
API参照名 | (任意) |
取引先責任者メール | (管理者のメールアドレス) |
SAMLの有効化 | チェックあり |
エンティティID | (AWSのIDプロバイダ名) |
件名種別 | 永続ID |
8.4.検索欄に「接続アプリケーション」と入力し、「接続アプリケーションを管理する」を選択します。
8.5.手順8.3で作成した接続アプリケーション名を選択します。
接続アプリケーション名の隣の「編集」を選択すると違う画面が開くので、注意してください。
8.6.カスタム属性の項目にて、「新規」を選択します。
8.7.以下の表のとおりに設定し、「保存」を選択します。
項目 | 設定内容 |
---|---|
属性キー | https://aws.amazon.com/SAML/Attributes/RoleSessionName |
属性値 | $User.Email |
8.8.カスタム属性の項目にて、再度「新規」を選択します。
8.9.以下の表のとおりに設定し、「保存」を選択します。
項目 | 設定内容 |
---|---|
属性キー | https://aws.amazon.com/SAML/Attributes/Role |
属性値 | '★手順6.5でコピーしたIDプロバイダのARN★' & ',' & '★手順7.6でコピーしたIAMロールのARN★' |
8.10.「Idp-initのログインURL」をコピーし、メモ帳等に貼り付けます。
8.11.「プロファイルを管理する」を選択します。
8.12.SSOするユーザのプロファイルを選択し、「保存」を選択します。
8.13.「ポリシーを編集」を選択します。
8.14.開始URLに以下の値を設定し、「保存」を選択します。
★Idp-init のログインURL★&RelayState=https://ap-northeast-1.console.aws.amazon.com/connect/federate/★Amazon ConnectのインスタンスID★?destination=%2Fconnect%2Fccp-v2
「★Idp-init のログインURL★」の部分には手順8.10でコピーしたURLを張り付けてください。
「★Amazon ConnectのインスタンスID★」の部分には
手順3.10でコピーしたARNの末尾36文字(「/」で区切られた最後の部分)を張り付けてください。
9.SalesforceからAmazonConnectにSSOをする
以上で設定は完了です。
では、いよいよ動作確認をしていきます。
9.1.Salesforceのコンソールから左上の点々マーク(麻雀の9筒)を選択し、「すべて表示」を選択します。
9.2.手順8.3で作成した接続アプリケーション名を選択します。
9.3.AmazonConnectへのSSOが実施され、新規タブにCCPが表示されます。
10.おわりに
ここまで読んで下さり、ありがとうございます!!!
(^^)
SSOを設定することで、ログインIDとパスワードを入力する手間が省けるので、便利だと思いました♪
(設定は思ったより大変でした・・・)
CTI Adapterを利用することでSSOをした後、以下の画像の様にSalesforceと同じタブでCCPを開くことができるので、
次回はそれを記事にしようと思います!
(:3_ヽ)_