クエステトラユーザのみなさん、こんにちは。開発責任者の畠中です。

今回は、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

これでシングルサインオンの設定は完了です。Questetra BPM Suite のログインページから、シングルサインオンでログインすることができます。もし Salesforce にログイン済みであれば、いきなりQuestetra BPM Suite 内のページに遷移します。Salesforce へ未だログインしていなければ、Salesforce へのログイン機能を経た上で、Questetra BPM Suite 内のページに遷移します。

うまくいかない場合ですが、設定内容を再確認してください。設定内容に不備がないのにうまくいかない場合、原因の特定は簡単ではありません。クエステトラのサポートの方までお問い合わせください。

今回は以上です。それではまた。

“SAML 2.0 で Salesforce とシングルサインオン” への1件のコメント

  1. ピンバック: クラウド BPM ワークフローの他システム連携事例集(2019年6月版) - Questetra

コメントは受け付けていません。