Auth0 を使って Dome9 に SSO してみた
こんにちは、岩城です。
Dome9 は SAML による SSO をサポートしています。 Dome9 のドキュメントには、いくつかの製品に対して SSO の設定方法が紹介されているのですが、Auth0 については紹介されていません。
今回 Auth0 を使って SSO を試す機会がありましたので紹介したいと思います。
やってみた
Dome9 用テナントを作成する
まずは Auth0 から設定を行います。Create tenant
からテナントを作成します。
テナントドメインを指定します。後から変更することはできないことを注意してください。本エントリでは dome9-test
としました。
Dome9 用アプリケーションを作成する
テナントが作成されたら、CREATE APPLICATION
からアプリケーションを作成します。
アプリケーション名を指定します。これは後から変更することができます。本エントリでは、dome9-test
としました。アプリケーションタイプは Regular Web Applications
を選択します。
Dome9 用アプリケーションを設定する
アプリケーションが作成されたら、Client ID
を控えておきます。Dome9 の SSO 設定で使用します。Addons
から SAML2 WEB APP
を選択します。
Usage
から Issuer
、Identity Provider Login URL
を控えておきます。Identity Provider Certificate
をクリックして公開鍵をダウンロードしておきます。いずれも Dome9 の SSO 設定で使用します。
Dome9 の SSO を有効化する
ここからは、Dome9 コンソールで SSO 設定を行います。
SETTING
> Authentication
から SSO のステータスを 有効
にします。
SSO Configuration
ウインドウが表示されるので、Auth0 コンソールで控えておいた情報を入力します。対応表を参考にしてください。
Dome9 | Auth0 |
---|---|
Account ID | Client ID |
Issuer | Issuer |
Idp endpoint url | Identity Provider Login URL |
Identity Provider Certificate でダウンロードした公開鍵の情報 | X.509 certificate |
SSO が有効化されると Dome9 にログインするために利用する Login Page
が表示されます。Auth0 の設定に利用するので控えておいてください。
Auth0 で SAML を設定する
Auth0 コンソールに戻ります。Settings
にある Application Callback URL
に 控えておいた Login Page
のURLを入力します。ここがハマりポイントなのですが、このままの URL では SSO できません。以下のように修正してください。
https://secure.dome9.com/sso/[Auth0 の Client ID]
↓
https://secure.dome9.com/sso/saml/[Auth0 の Client ID]
Settings
に SAML Configuration を入力します。本エントリでは以下のようにしました。
audience
は Dome9 のドキュメントに記載があり、そのとおりに指定しています。
Configure Dome9 SSO with a Generic / Custom configuration
The Audience /Entity ID field should be: https://secure.dome9.com
{ "audience": "https://secure.dome9.com/", "recipient": "https://secure.dome9.com/sso/saml/[Auth0 の Client ID]", "mappings": { "email": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier" }, "signatureAlgorithm": "rsa-sha256", "digestAlgorithm": "sha256" }
Dome9 で SSO するユーザーを有効化する
Dome9 ではユーザー毎に SSO を有効化することができます。既存ユーザーであれば SETTING
> User Administration
からユーザー毎の Actions
で Connect to SSO
から 有効化します。
なお、Owner
ロールのユーザーは SSO を有効化することができません。Idp 側で問題発生時に少なくとも1人のユーザーが Dome9 にログインできるようにするためです。
SSO を有効化すると、ユーザーに設定されていたパスワード、多要素認証の設定はリセットされますので注意してください。設定を誤るとログインできなくなりますので、別途 Dome9 にログインできるユーザーを用意しておくことをオススメします。
Dome9 に SSO する
Dome9 Login Page
にアクセスすると Auth0 の認証ページが表示されるはずです。認証され Dome9 コンソールに遷移できれば完了です。
おまけ
SSO が有効化されると新規ユーザーを作成する際、SSO がデフォルト On
になるため、必要に応じて Off
にしてください。
SSO を無効化するとユーザーに対してパスワードリセットを促すメールが送られてきます。パスワードを設定してログインしてください。
おわりに
Dome9 のドキュメントに記載ない部分もあり、かなり悩みながら設定しました。一度クリアになると、Auth0 や Dome9 共に非常に簡単に設定できることがよく分かります。是非お試しください。
本エントリがどなたかのお役に立てれば幸いです。