2017年6月20日火曜日

色々なクラウドサービスとシングルサインオン(SSO)を設定してみよう - Zendesk編 -

弊社が提供するGluegent Gateは、シングルサインオン・ID管理・アクセス制御の機能を兼ね備えたクラウドサービスです。現在、多くのサービスが、SAML 2.0という認証連携の標準規格に対応しておりますが、Gluegent GateではこのSAML 2.0という規格を利用して様々なクラウドサービス(G Suite(旧Google Apps)、Office 365、Salesforce、Dropbox等)とのシングルサインオンを実現しています。認証をGluegent Gateに集約し、そこでアクセス制御を行うことにより、各種クラウドサービスを横断的にセキュリティ強化することが可能となります。

前回までに、G Suite (旧Google Apps)とOffice 365とのシングルサインオンをご紹介しました。今回は、スタートアップから大規模サービスまで、幅広く使われているヘルプデスクシステムZendeskとのシングルサインオンの設定手順を取り上げます。今回ご紹介する手順は、G Suite、Office 365とは異なり、そのサービス個別向けのオプションではありませんが、SAML2.0を実装したサービスプロバイダとのシングルサインオンを実現する「汎用SAMLオプション」を使います。

前提条件

まず、Gluegent GateがZendeskとシングルサインオンできるようにするためには、以下の作業が完了している必要があります。

    <Zendeskとシングルサインオン連携するための前提条件>
  1. Zendeskにユーザが登録されていること
  2. Gluegent Gateで汎用SAMLオプションが有効になっていること
  3. Gluegent Gateにユーザ/グループが登録済であること
  4. Gluegent Gateに認証/認可ルールが定義済であること

シングルサインオン設定手順の流れ

Zendeskとのシングルサインオンを行うための設定手順は以下の通りです。G Suiteと違い、IdP証明書登録作業は必要ありません。

    <シングルサインオン設定手順>
  1. Gluegent GateのSSO設定画面で各種設定項目を入力する
  2. Gluegent Gateのユーザ画面で、Zendeskを利用させたいユーザを選び、設定する
  3. ZendeskにIdp証明書のフィンガープリントを含む各種設定項目を入力する
以下に詳しく説明していきます。

手順1. Gluegent GateのSSO設定画面で各種設定項目を入力する

Gluegent Gateへログイン後、以下の作業を行います。

  1. メニュー「シングルサインオン」をクリックします
  2. 左メニュー「SAMLサービス・プロバイダ」をクリックします
  3. 「サービスプロバイダ登録」をクリックします
    add_sp.png
  4. 「サービスプロバイダ登録画面」が表示されますので、各項目を入力します。
  5. 保存ボタンをクリックします。
    sp-settings.png

設定項目の説明
No.
設定項目
設定内容
1
サービスID
任意の値を設定。他のサービスプロバイダと異なる値である必要がある。
2
サービス名
Zendeskを入力。Gluegent Gateの管理画面での表示名に使われる。

3
エンティティID
https://<サブドメイン>.zendesk.com を入力。<サブドメイン>部分はzendeskで利用しているサブドメインを設定。Zendeskのマニュアルには最後のスラッシュを含む形式で記述されているが、スラッシュ付きの場合動作しなかった。
4
Assertion Consumer Service
https://<サブドメイン>.zendesk.com/access/saml を入力。<サブドメイン>部分はzendeskで利用しているサブドメインを設定。
IDの属性
メールアドレス を選択。


手順2. Gluegent Gateのユーザ設定画面でZendeskを利用させたいユーザを選び、設定する
Zendeskと連携するためのユーザを指定します。

  1. メニュー「ユーザ」をクリックします。
  2. ユーザ一覧からZendeskと連携したいユーザを選択します
  3. 以下の設定を行います。
    • 許可するサービス
      • 「Zendesk」にチェックを付与
  4. 保存ボタンを押します。
  5. 連携したいユーザについて上記No.2〜4を繰り返します
    user-settings.png


手順3. ZendeskにIdp証明書のフィンガープリントを含む各種設定項目を入力する
Zendesk側のSSO設定の前に、Gluegent Gateが利用するIdp証明書をダウンロードします。Gluegent Gate管理者ユーザでGluegent Gateの管理画面にログインし、以下の作業を行います。

  1. Gluegent Gateのトップメニューの「システム」をクリックします
  2. 左メニューの「IdP証明書」をクリックし、証明書一覧画面を表示します。
  3. アイコンをクリックし、証明書をダウンロードします Gate証明書ダウンロード.png
  4. opensslコマンドを使って、フィンガープリントを確認します。
# openssl x509 -noout -fingerprint -sha256 -inform pem -in < idp証明書 >
SHA256 fingerprint=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
引き続き、Zendeskの管理画面にログインし、以下の手順で設定します。
  1. 管理画面のギアマークから「セキュリティ」を選択し、シングルサインオンを利用させる対象(ここでは「管理者&エージェント)を選択し、SSOにチェックを入れます。zendesk-sso.png
  2. SSOの各項目を入力し、保存ボタンをクリックします。 zendesk-sso-settings.png
設定項目の説明
No.
設定項目
設定内容
1
SAML SSO URL
https://auth.gluegent.net/saml/saml2/idp/SSOService.php?tenant=<テナント ID>

<テナント ID>は、Gluegent GateのテナントID
2
証明書指紋
手順4で確認したフィンガープリントを設定

設定後の確認

設定が一通り完了したら、動作確認を行ってみます。

  1. Webブラウザのプライベートモードによるウィンドウを表示し、ロケーションバーに「https://<サブドメイン>.zendesk.com」を入力し、アクセスします。
  2. Zendeskの認証画面で「私はエージェントです」をクリックします。
    範囲を選択_011.png
  3. するとログイン画面にリダイレクトされますので、Gluegent Gateで登録したユーザID/パスワードを入力後、ログインします。
    gluegent-gate-login.png
  4. ログイン後、Zendeskが表示できたら成功です。(ここでは、Zendesk側でProfileの情報が不足しているので更新画面が表示されています)
    zendesk_profile_setting.png


いかがだったでしょうか。今回は「汎用SAMLオプション」でシングルサインオンを設定できるサービスプロバイダの一例として、Zendeskの手順をご紹介しました。SAMLの仕様は定まっていますが、それを実装するサービスプロバイダではそれぞれ若干の癖があります。「汎用SAMLオプション」ではそれらを吸収して広く設定できるようにしています。実際に運用を開始するためには、それぞれのサービスプロバイダ毎に動作の検証が必要になりますので、自社で利用中、あるいは導入を検討されているサービスがSAMLに対応している場合は、是非一度ご相談ください。シングルサインオンを導入して、生産性を上げるお手伝いをさせていただきます

 Gluegent Gate