Zendeskは、SAML 2.0によるシングルサインオン(SSO)ログインをサポートしています。SAML 2.0 IDプロバイダ(IDP)はさまざまな形式をとることができ、その1つが自己ホスト型のActive Directoryフェデレーションサービス(ADFS)サーバーです。ADFSは、既存のActive Directoryの資格情報を使用してWebログインを提供するWindows Serverの標準的な役割としてMicrosoftが提供するサービスです。
要件
ADFSを使用してZendeskインスタンスにログインするには、次のコンポーネントが必要です。
- すべてのユーザーがメールアドレス属性を持つActive Directoryインスタンス。
- Zendeskのインスタンス。
- Microsoft Server 2012または2008を実行しているサーバー。このガイドではServer 2012R2のスクリーンショットを使用していますが、他のバージョンでも同様の手順が可能です。
- ADFSログインページに署名するためのSSL証明書とその証明書のフィンガープリント。
- Zendeskインスタンスでホストマッピングを使用している場合は、ホストされているSSLのインストール済み証明書。
これらの基本的な要件を満たしたら、サーバーにADFSをインストールする必要があります。ADFSの構成とインストールはこのガイドの範囲外ですが、Microsoft KBの記事で詳しく説明されています。
ADFSを完全にインストールしたら、「ADFS Endpoints」セクションの「SAML 2.0/W-Federation」URLの値を書き留めます。インストールにデフォルトを選択した場合、これは「/adfs/ls/」になります。
ステップ1 - Relying Party Trustを追加する
この時点で、ZendeskアカウントでADFS接続を設定する準備ができているはずです。ADFSとZendesk間の接続は、Relying Party Trust(RPT)を使用して定義されます。
「AD FS Management」から「Relying Party Trusts」フォルダーを選択し、「Actions」サイドバーから新しい「Standard Relying Party Trust」を追加します。これにより、新しい信頼の構成ウィザードが起動します。
- 「Select Data Source」画面で、一番下の「Enter Data About the Party Manually」オプションを選択します。
- 次の画面で、後から識別できるように「Display name」に表示名を入力し、必要に応じてコメントも入力します。
- 次の画面で、「ADFS FS profile」ボタンを選択します。
- 次の画面で、証明書設定をデフォルトのままにします。
- 次の画面で、「Enable Support for the SAML 2.0 WebSSO protocol」チェックボックスをオンにします。サービスURLはhttps://subdomain.zendesk.com/access/samlとなります。subdomainは、お使いのZendeskサブでメインに置き換えます。なお、URLの最後にスラッシュは付きません。
- 次の画面で、subdomain.zendesk.com(subdomainはZendeskサブドメインに置き換える)の「Relying party trust identifier」を追加します。
メモ: 「subdomain.zendesk.com」と入力してリクエスト失敗エラーが表示された場合は、サブドメインを「https://subdomain.zendesk.com」として入力する必要があります。 - 次の画面では、多要素認証を設定できます。ただし、このガイドブックでは説明しません。
- 次の画面で、「Permit all users to access this relying party」ボタンを選択します。
- 次の2つの画面で、設定の概要が表示されます。最後の画面で「Close」ボタンをクリックして終了し、Claim Rulesエディタを開きます。
ステップ2 - クレームルールを作成する
証明書利用者の信頼(RPT)が作成されたら、クレームルールを作成し、ウィザードで設定されていない小さな変更でRPTを更新できます。デフォルトでは、信頼を作成した時点でクレームルールエディタが開きます。認証以外の追加の値をマッピングしたい場合は、当社のドキュメントを参照してください。
- 新しいルールを作成するには、「Add Rule」をクリックします。「Send LDAP Attributes as Claims」ルールを作成します。
- 次の画面で、属性ストアとしてActive Directoryを使用して、以下の手順を実行します。
1. 「LDAP Attribute」列から、「E-Mail Addresses」を選択します。
2. 「Outgoing Claim Type」から、「E-Mail Addresses」を選択します。
- 「OK」をクリックして新しいルールを保存します。
- 「Add Rule」をクリックして別の新しいルールを作成し、テンプレートとして「Transform an Incoming Claim」を選択します。
- 次の画面で、次の設定を行います。
1. 「Incoming Claim Type」として「E-mail Address」を選択します。
2. 「Outgoing Claim Type」で、「Name ID」を選択します。
3. 「Outgoing Name ID Format」で「Email」を選択します。
ルールをデフォルトの「Pass through all claim values」のままにします。
- 最後に、「OK」をクリックしてクレームルールを作成し、もう一度「OK」をクリックしてルールの作成を終了します。
ステップ3 - 信頼設定を調整する
証明書利用者(RPT)の信頼について、まだいくつか設定を調整する必要があります。これらの設定にアクセスするには、RPTを選択した状態で、「Actions」サイドバーから「Properties」を選択します。
- 「Advanced」タブで、SHA-256がセキュアハッシュアルゴリズムとして指定されていることを確認します。
- 「Endpoints」タブで、「Add SAML」をクリックして新しいエンドポイントを追加します。
- 「Endpoint type」で、「SAML Logout」を選択します。
- 「Binding」には「POST」を選択します。
- 「Trusted URL」には、以下を使用してURLを作成します。
1. ADFSサーバーのWebアドレス
2. 以前にメモしたADFS SAMLエンドポイント
3. 「?wa=wsignout1.0」の文字列
URLは、https://so.yourdomain.tld/adfs/ls/?wa = wsignout1.0のようになります。
- エンドポイントとRPTプロパティで「OK」をクリックして変更を確定します。これで、Zendeskで機能するRPTが完成しました。
メモ:ADFSのインスタンスには、すべてのフェデレーションサービスプロパティを入力してメタデータに公開することを要求するセキュリティ設定があります。自社のインスタンスに当てはまるかどうかチームに確認してください。 その場合は、必ず「Publish organization information in federation metadata」チェックボックスをオンにしてください。
ステップ4 - Zendeskを設定する
ADFSを設定したら、認証にSAMLを使用するようZendeskアカウントを設定する必要があります。「SAMLシングルサインオンの有効化」の手順に従って設定します。SAMLエンドポイントをSSO URLとし、作成したログイン・エンドポイントをログアウトURLとする完全なADFSサーバーURLを使用します。フィンガープリントは、ADFSインスタンスにインストールされているトークン署名証明書のフィンガープリントになります。
フィンガープリントを取得するには、証明書がインストールされているシステムで次のPowerShellコマンドを実行します。
C:\> Get-AdfsCertificate [-Thumbprint] []
トークン署名タイプの証明書のSHA256サムプリントを探します。
完了したら、次の操作を行います。
-
管理センターで、サイドバーにあるアカウントアイコン()をクリックし、「セキュリティ」>「シングルサインオン」を選択します。
ページは次のように表示されます。
以上で、ZendeskのADFS SSO実装が機能するように設定できました。
認証方法を切り替える
重要:サードパーティのSSOメソッドを使用してZendeskでユーザーを作成および認証した後、Zendesk認証に切り替えるた場合、これらのユーザーはログインに使用できるZendeskパスワードを持たないことになります。これらのユーザーがZendeskにアクセスできるようにするには、Zendeskサインインページからパスワードをリセットする必要があります。