SSO を実現するには、ご利用中の ID プロバイダと、EQ ポータルの両方に設定が必要です。
ここでは、ID プロバイダとして、Oktaをご利用の場合の、設定方法について説明します。
※最新の設定および設定方法については、公式サイトをご覧ください
【EQポータル設定】
EQ ポータルに管理者ユーザーでログインします。
歯車アイコンをクリックし、「シングルサインオンを有効にする」にチェックを入れます。
「SAML認証設定」をクリックし、 「エンティティ ID」と「ACS URL」を控えておきます。
【Okta設定】
Oktaにログインします。
ログインすると下記画面が表示されますので「Application」を選択し、「Create App Integration」をクリックします。
認証方法を選択する画面が表示されますので「SAML 2.0」を選択し、Nextボタンをクリックして次へ進みます。
「General Settings」にてApp nameを要求されますので任意の名前を入力し、「Next」ボタンをクリックして次へ進みます。
Configure SAMLで下記4つのパラメータ入力を求められます。
Single Sign on URL
Audience URI(SP Entity ID)
Name ID Format
Application username
Oktaでの呼び名とEQポータルでの呼び名の対応は以下のとおりです。
こちらに従ってEQポータルのシングルサインオン設定情報(控えておいた「エンティティ ID」と「ACS URL」)の値をOktaに設定していきます。
| Okta | EQポータル |
| Audience URI(SP Entity ID) | エンティティID |
| Single Sign on URL | ACS URL |
EQポータルには認証通過後のユーザー情報としてメールアドレスを返却するのでName ID Formatは「EmailAddress」、Application usernameは「Email」に設定します。
Identity Provider Single Sign-On URL
設定完了後、アプリケーション画面に遷移します。ここで「Sign On」タブを選択しクリックします。
画面右端に「View SAML setup instructions」というメニューが表示されていますのでクリックします。
作成したアプリケーションの簡易版メタデータが表示されますので、Identity Provider Single Sign-On URLの値をコピーし、EQポータルのシングルサインオンURLにペーストします。
EQポータル画面
SAML Signing Certificates
アプリケーションの証明書を取得するには先ずアプリケーション画面に遷移します。
ここでSign Onタブを選択しクリックします。
画面下方にスクロールしますとSAML Signing Certificatesという項目がありますので、StatusがActiveになっている今回使用する証明書を選択します。選択した証明書のActionメニューから「Download certificate」を選んでクリックし、証明書をダウンロードします。
証明書の拡張子はcert、形式はPEMになっていると思われますので内容を確認します。
EQポータル画面に戻ります。
「署名検証を有効にする」にチェックを入れ、ダウンロードしておいた「証明書(Base64)」を「ファイルアップロード」からアップロードします。
完了したら、画面右上にある「更新」ボタンを押して設定を保存します。
※設定を保存後、反映までに最大10分程度掛かる場合があります。
以上でアプリケーションの作成は完了です。
完了後はアプリケーションにユーザーをアサインします。
詳細な設定方法についてはOkta公式サイトのヘルプをご覧ください。
【IdP側のユーザー情報をEQポータルで取得する】
シングルサインオン時に、IdP側のユーザー情報を取得し、EQポータルのユーザー情報を更新したい場合はこちらの設定が必要です。
また、シングルサインオン時にIdP側のユーザー情報でEQポータルにユーザーを自動登録する場合にも、こちらの設定が必要です。
SAML Attribute Statementを利用することで、シングルサインオン時にユーザー名(姓名)をEQポータルに渡して更新することができます。設定は下記のように行います。
画面下方にスクロールするとSAML Settingsという項目がありますので、横にある「Edit」ボタンをクリックしてパラメータを編集可能な状態にします。
編集状態にするとEdit SAML IntegrationのGeneral Settingsに移動しますが、そのまま画面右下の「Next」ボタンをクリックして次に進みます。
Configuration SAMLに移動します。
画面下方にスクロールしていきAttribute Statements(optional)の欄内にあるAdd Anotherボタンをクリックしてパラメータを追加します。パラメータには姓名の指定が必要で、Valueを「user.firstName」、「user.lastName」とし、その対となるNameに「surname」、「givenname」を指定、さらにName Formatは「Basic」を選択します。
パラメータの追加が終わりましたら画面最下部までスクロールし画面右端にあるNextボタンをクリックして次へ進みます。
Feedbackの画面が表示されますが、対応は不要ですので、画面右下端にあるFinishボタンをクリックしてEdit SAML Integrationを終了します。
【IdP側でAuhthnRequestの署名を検証する】
AuthnRequestの署名を検証したい場合、EQポータルとOkta側の双方でAuthnRequestへの署名を有効にしたうえでEQポータルの証明書をダウンロードし、Oktaに適用する必要があります。
下記にOkta側の設定方法の一例を挙げます。
先ず該当アプリケーションの「General」タブを選択しクリックします。
画面下方にスクロールするとSAML Settingsという項目があるので、横にある「Edit」ボタンをクリックしてパラメータを編集可能な状態にします。
編集状態にするとEdit SAML IntegrationのGeneral Settingsに移動しますが、そのまま画面右下の「Next」ボタンをクリックして次に進みます。
Configuration SAMLに移動するのでSAML Setting欄内の右下にある「Show Advanced Settings」をクリックし詳細設定を表示できる状態にします。
詳細設定を開くと幾つかのパラメータが表示されます。
先ずSignature Certificateの項目の「Browse files…」ボタンをクリックしてファイル選択ダイアログを開き、EQポータルからダウンロードしたAuthnRequest署名用の証明書ファイルをアップロードします。
加えて「Signed Requests Validate SAML requests with signature certificates.」のチェックボックスにチェックを入れます。これでEQポータルからのシングルサインオンリクエスト時の署名をIdP側で検証を行えるようになります。