
クエステトラユーザのみなさん、こんにちは。開発責任者の畠中です。
今回は、Salesforce とのシングルサインオンについてです。
Questetra BPM Suite では、SAML 2.0 を用いたシングルサインオンを構成することができます。
M310: 外部の認証サービスを用いたシングル・サインオン機能を有効化する (SAML 編)
Salesforce は SAML の ID Provider / Service Provider のいずれにもなることができるのですが、ここでは Salesforce を ID Provider として使用します。なお Salesforce には複数の Edition がありますが、ID Provider として使用できる Edition は限られています。注意してください。
Salesforce ヘルプ: ID プロバイダとサービスプロバイダ
1. [Salesforce] 「私のドメイン」設定
Salesforce 側の設定から始めます。Salesforce は、現在、ユーザインターフェースとして
- Lightning Experience
- Salesforce Classic
の2種類、使用可能です。ここでは新しい “Lightning Experience” で記載します。
Salesforce を SAML の ID Provider として使用するには、独自のドメインで Salesforce にアクセスできるようにする必要があります。おそらく SAML で使用する証明書を、独自のドメインで発行するためだと思います。ドメイン設定は、
歯車アイコンのプルダウンメニューから「設定」
→左メニュー「設定」の「会社の設定」
→「私のドメイン」
で行います。
ドメイン名は後で変更できないので、慎重に設定するようにしてください。またドメインを設定しても、Salesforce に承認されないとドメインを使用できません。承認に最大3日かかるようです。気長に待ってください。
2. [Salesforce] IDプロバイダの有効化/接続アプリケーションの追加
引き続き Salesforce 側の設定です。ドメイン設定が完了すると、ID プロバイダの設定ができるようになります。
歯車アイコンのプルダウンメニューから「設定」
→左メニュー「設定」の「ID」
→「IDプロバイダ」
ここで、「IDプロバイダを有効化」し、かつ自己署名の証明書も作成してください。
続いて Salesforce に Questetra BPM Suite を登録します。その前に、登録に必要な値を Questetra BPM Suite で確認します。Questetra BPM Suite の
「システム設定」
→「SSO (SAML)」
ここで「シングルサインオンを有効にする」にチェックを入れてください。値を確認するだけですので、この時点では保存する必要はありません。
確認する値は以下の2つです。
- エンティティ ID
- ACS URL
この2つの値を控えて、Salesforce に戻ります。「接続アプリケーション」として、Questetra BPM Suite を登録します。
歯車アイコンのプルダウンメニューから「設定」
→左メニュー「プラットフォームツール」の「アプリケーション」
→「アプリケーションマネージャ」
一覧の上に2種類アプリケーションを作成するボタンがありますが、「新規接続アプリケーション」をクリックしてください。
以下を参考に入力した上で、「保存」してください。
基本情報
- 接続アプリケーション名
- 任意の値で構いません。例えば “Questetra BPM Suite”。
- API 参照名
- 任意の値で構いません。例えば “qbpms”。
- 取引先責任者メール
- Questetra BPM Suite の責任者のメールアドレスを指定してください。
- その他の項目は、空で良いです。
Web アプリケーション設定
- SAML の有効化にチェック
- エンティティID
- Questetra BPM Suite の「SP情報」の「エンティティID」をコピー
- ACS URL
- Questetra BPM Suite の「SP情報」の「ACS URL」をコピー
- その他の項目は、デフォルトのまま、変更しなくて良いです。
3. [Salesforce] 接続アプリケーションとユーザの関連付け
Salesforce 上にて、どのユーザが接続アプリケーションを使用できるか、設定する必要があります。そのユーザのみ、シングルサインオンで Questetra BPM Suite にログインできるようになります。まず権限セットを作成し、ユーザを関連付けます。その上で、接続アプリケーションに権限セットを関連付けます。
接続アプリケーション ←→ 権限セット ←→ ユーザ
の関係です。
権限セットの作成は、
歯車アイコンのプルダウンメニューから「設定」
→左メニュー「管理」の「ユーザ」
→「権限セット」
です。そこから「新規」で権限セットを作成してください。少し解りにくいところに、「新規」ボタンがあります。
- 表示ラベル
- 任意の値で構いません。例えば “Questetra 権限セット”。
- API 参照名
- 任意の値で構いません。例えば “qbpms_grant”。
- この権限セットを使用するユーザ種別の選択
- ライセンス「なし」のままで。
続いて、権限セットにユーザを登録します。権限セットを保存した先のページで、「割り当ての管理」をクリックしてください。
「割り当ての管理」の先ではユーザの一覧が表示されますので、必要なユーザを選択し、「割り当てを追加」してください。
最後に、接続アプリケーションに権限セットを登録します。
歯車アイコンのプルダウンメニューから「設定」
→左メニュー「プラットフォームツール」の「アプリケーション」
→「アプリケーションマネージャ」
アプリケーションの一覧から、対象アプリケーションの「Manage」。解りにくいのですが、「Manage」メニューは、右端のプルダウンメニューの中にあります。接続アプリケーションの詳細ページから、「権限セットの管理」(下の方)を選択してください。
そこで先程作成した権限セットを選択し、「保存」してください。
4. [Questetra BPM Suite] ID プロバイダの設定を行う
最後に Questetra BPM Suiteで設定を行います。
「システム設定」→「SSO (SAML)」に戻り、再びシングルサインオンを有効にしてください。今回は Salesforce の情報を設定して保存します。
「エンティティID」「ログインページURL」「証明書」の3つが必須項目です。それぞれSalesforce の IDプロバイダのページを参照して、以下のように入力してください。ID プロバイダのページは
歯車アイコンのプルダウンメニューから「設定」
→左メニュー「設定」の「ID」
→「IDプロバイダ」
です。最初に Salesforce にて ID プロバイダを有効化しましたが、その完了ページです。
- エンティティID
- 「発行者」の情報をコピー
- 証明書
- 「証明書をダウンロード」し、ダウンロードした証明書をテキストエディタで開いて、その内容全てをコピー
- ログインページURL
- 「メタデータをダウンロード」し、以下の要素の Location 属性の値のURL をコピー
<md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://***.my.salesforce.com/idp/endpoint/HttpPost"/>test
- 「メタデータをダウンロード」し、以下の要素の Location 属性の値のURL をコピー
これでシングルサインオンの設定は完了です。Questetra BPM Suite のログインページから、シングルサインオンでログインすることができます。もし Salesforce にログイン済みであれば、いきなりQuestetra BPM Suite 内のページに遷移します。Salesforce へ未だログインしていなければ、Salesforce へのログイン機能を経た上で、Questetra BPM Suite 内のページに遷移します。
うまくいかない場合ですが、設定内容を再確認してください。設定内容に不備がないのにうまくいかない場合、原因の特定は簡単ではありません。クエステトラのサポートの方までお問い合わせください。
今回は以上です。それではまた。
ピンバック: クラウド BPM ワークフローの他システム連携事例集(2019年6月版) - Questetra