Zendeskのシングルサインオン(SSO)を切り替えた話

挨拶

こんにちは、アドウェイズのインフラ部署に所属している久保です。
今回は弊社で利用しているZendeskのシングルサインオン(SSO)を切り替えた話をしたいと思います。

切り替え前と切り替え後の認証基盤

  • 切り替え前の認証基盤
    • オンプレミスで運用しているSSOソリューション
  • 切り替え後の認証基盤
    • Azure AD

なぜ切り替えを実施したのか?

切り替えた理由は下記3点となります。

  • 認証基盤をリプレースするため、現状のSSOを切り替える必要があった
  • 今後の認証基盤をAzure ADに揃える流れがあった
  • 子会社社員もZendeskを利用出来るようにしたいと要望があった

やりたい事

  • オンプレミスの認証基盤とSAML連携しているため、認証をAzure ADに切り替える
  • 子会社社員もZendeskを利用出来るようにしたい
    • 現状のオンプレミス環境では子会社社員にZendeskを利用してもらうとなると改修が必要になることと、丁度話が挙がっていたAzure ADに切り替えることで要望に応えられると考えました。Azure ADでは既に子会社社員のアカウントがあったため、切り替えと同時に利用出来るようになる想定です。

簡易イメージ図

切り替えの概要

今回は既にZendeskとオンプレミスの認証基盤がSAML連携していたため、その認証をAzure ADに切り替えるという作業を実施しました。

実際の作業ステップ

  1. Azure ADでZendeskのアプリケーションを作成しSAMLとプロビジョニングの設定を実施
    • プロビジョニングの際にZendeskのAPIが必要になるため発行
  2. Zendsekにログインが必要な社員をアプリケーションのユーザーに追加
  3. ZendeskのSSOをオンプレミスの認証基盤の設定から、Azure ADの設定に切り替え実施

結論

作業としてはとてもシンプルで切り替え時のダウンタイムも無く、子会社社員もZendeskにログイン出来るようになったため目的は達成出来ました。

苦労したこと

Azure AD側で日本語ユーザー表記名をどこで設定するか

Zendeskでのユーザー表記名が日本語だったため、SAML連携するAzure AD側でも日本語ユーザー表記名を設定する必要がありました。
当初はAzure ADのDisplayName欄を日本語表記にすればよいかなーと思っていたのですが、今後他のSaaS系サービスのSAML連携をする際に、また課題として挙がってくるのでは?となったため、一度SAML連携予定の全SaaSの表記名を確認したところ、ローマ字表記や日本語表記が混在していたため折衷案を考えることになりました。また、Azure ADのDisplayName欄で日本語を使う事のデメリットも挙がったので、DisplayName欄を利用することは厳しそうとなりました。リンク

解決案としては、下記2点が挙がりました。

  • 案1)拡張属性を作成し、そこに日本語ユーザー表示名を設定
  • 案2)Azure ADの利用していない属性情報に日本語ユーザー表記名を設定

どちらも案でも解決は出来たのですが、案1はAzure ADの管理画面上で管理できないことから、案2で設定をすることとなりました。

さいごに

切り替え自体はスムーズに実施出来たのですが、それまでの準備や課題解決が結構大変でした。
Azure ADによるSAML連携で日本語ユーザー表記名を入れる際は「こんなこともあるんだ」くらいのご参考になれば幸いです。