SSO を実現するには、ご利用中の ID プロバイダと、EQ ポータルの両方に設定が必要です。
ここでは、ID プロバイダとして、Salesforce をご利用の場合の、設定方法について説明します。
※最新の設定および設定方法については、公式サイトをご覧ください
https://help.salesforce.com/s/articleView?id=sf.sso_sfdc_idp_parent.htm&type=5
•Named ID形式は、Salesforceでは「名前 ID 形式」という名称となっています。
【EQポータル設定】
EQ ポータルに管理者ユーザーでログインします。
歯車アイコンをクリックし、「シングルサインオンを有効にする」にチェックを入れます。
「SAML認証設定」をクリックし、 「エンティティ ID」と「ACS URL」を控えておきます。
【Salesforce設定】
Salesforceにログインします。
「ホーム」に移動します。
画面右上の歯車をクリックすると表示されるメニューにて「設定」を選択しクリックします。
「設定」画面に遷移します。
画面左側にある検索ボックスに「ID プロバイダ」と入力し検索します。
表示された検索結果の内、「ID プロバイダ」をクリックします。
「ID プロバイダ」画面に遷移します。
「ID プロバイダを有効化」ボタンをクリックします。
サービスプロバイダーと連携するための証明書を作成、もしくは選択する画面に遷移します。
証明書を新規に作成するか、適切な証明書を選択し「保存」ボタンをクリックして保存します。
※シングルサインオンが失敗する原因のひとつに、正しくない証明書(期限切れ、鍵長の誤り、形式の間違いなど)の適用があります。
シングルサインオンが失敗する場合は、可能であれば証明書の新規作成をお試しください。
証明書を新規に作成する場合は、下記のような画面になります。
適切な値を入力し、証明書を作成します。
「ID プロバイダ」画面に戻ります。
「編集」をクリックすると、証明書を選択できる画面に遷移します。
今回使用する適切な証明書を選択し保存します。
この作業はIdP全体の証明書を変更してしまうため、必要かどうかをよくご確認ください。
「ID プロバイダ」画面に戻ります。
選択した証明書が正しく適用されていることを確認します。
「証明書のダウンロード」ボタンをクリックし、証明書をダウンロードします。
ファイルの拡張子がcrt、形式がPEMとなっていることを確認します。
検索ボックスに「アプリケーションマネージャ」と入力し検索します。
表示された検索結果の内、「アプリケーションマネージャ」をクリックします。
画面右上の方に表示されている「新規接続アプリケーション」をクリックします。
「新規接続アプリケーション」画面に遷移します。
以下の必須項目を入力します。
- 接続アプリケーション名
- API 参照名
- 取引先責任者 メール
※アプリケーションの作成方法について詳細はSalesforce公式ヘルプサイトをご参照ください。
https://help.salesforce.com/s/
「Webアプリケーション設定」内にあるシングルサインオン設定関連の値を設定します。
「SAML の有効化」にチェックを入れ、控えておいた「エンティティ ID」と「ACS URL」を入力します。その他の項目は、下記表の通りに設定します。
件名種別 |
「ユーザ名」を選択 |
名前 ID 形式 |
「urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress」を選択 |
発行者 |
変更不要 |
IdP 証明書 |
「ID プロバイダ」で適用した証明書を選択 |
要求署名を確認 |
チェックを外す |
SAML レスポンスを暗号化 |
チェックを外す |
SAML メッセージの署名アルゴリズム |
「SHA-256」を選択 |
以上でアプリケーションの作成は完了です。
完了後は接続アプリケーションに組織またはユーザーを紐付けます。
こちらについて詳細な設定方法はSalesforce公式サイトのヘルプをご参照ください。
https://help.salesforce.com/s/articleView?id=sf.service_provider_map_users.htm&type=5
作成したアプリケーションの画面に遷移します。
「Manage」をクリックします。
画面を下にスクロールしていき、「SAML ログイン情報」内にあるシングルサインオンの
設定関連の値を確認します。
Salesforceでの呼び名とEQポータルでの名称の対応は以下の通りとなっているので、
対応表に従ってSalesforceに掲示されている値を、EQポータルのシングルサインオン設定情報に
設定していきます。
Salesforce |
EQポータル |
SP-initの投稿エンドポイント |
シングルサインオンURL |
必須設定は以上です。
※ここからの手順は必須ではございませんので、特に必要でなければ、EQポータル設定のところまで移動ください。
シングルサインオン時にSAML AttributeStatementを利用し、ユーザーの姓名、またはグループIDをEQポータルに渡して更新させたい場合、接続アプリケーションにカスタム属性を追加することで実現出来ます。
接続アプリケーション一覧の右端にある▼ボタンをクリックするとダイアログが表示されますので、「参照」をクリックし設定を開きます。
接続アプリケーションを管理するための画面が開きます。
画面最下部の「カスタム属性」で、「新規」ボタンをクリックしてカスタム属性を作成し、
ここで送信する属性を設定します。
SalesforeceとEQポータルで使用するAttribute Nameの紐付けは下記となります。
パラメータ |
Salesforce(キーと項目) |
EQポータル |
姓 |
$User >姓 |
surname |
名 |
$User >名 |
givenname |
グループID |
$UserRole >ロール ID |
groupid |
カスタム属性作成の画面が表示されますので、送信したいパラメータを順次登録します。
「名」入力はキーに「givenname」と入力し、「項目の挿入」ボタンで表示される
ダイアログではダイアログ左欄の「$User >」を選択します。
右欄にユーザー情報の一覧が表示されるので、そこから名を選択します。
この作業を送信したい属性の数だけ実施します。
AuthnRequestの署名を検証したい場合、EQポータルとSalesforece側の双方でAuthnRequestへの署名を有効にしたうえでEQポータルの証明書をダウンロードし、Salesforceに適用する必要があります。
接続アプリケーション一覧の行の右端にある▼ボタンをクリックするとダイアログが表示されますので、「編集」をクリックし設定を開きます。
編集画面中央のWebアプリケーション設定の「要求署名を確認」にチェックを入れると証明書がアップロード出来るようになりますので、ここでEQポータルの証明書をアップロードします。
アップロードが完了したら設定を保存して完了です。
【EQポータル設定】
EQポータル画面に戻ります。
控えておいた「ログイン URL」を、「シングルサインオンURL」に指定します。
「署名検証を有効にする」にチェックを入れ、ダウンロードしておいた「証明書(Base64)」を「ファイルアップロード」からアップロードします。
ここまで完了したら、画面右上にある「更新」ボタンを押して設定を保存します。
※設定を保存後、反映までに最大10分程度掛かる場合があります。