Auth0 を使って Dome9 に SSO してみた

Dome9 は SAML による SSO をサポートしています。今回 Auth0 を使って SSO を試す機会がありましたので紹介したいと思います。
2020.03.05

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、岩城です。

Dome9 は SAML による SSO をサポートしています。 Dome9 のドキュメントには、いくつかの製品に対して SSO の設定方法が紹介されているのですが、Auth0 については紹介されていません。

Single Sign-On

今回 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 から IssuerIdentity 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 からユーザー毎の ActionsConnect to SSO から 有効化します。 なお、Owner ロールのユーザーは SSO を有効化することができません。Idp 側で問題発生時に少なくとも1人のユーザーが Dome9 にログインできるようにするためです。

SSO を有効化すると、ユーザーに設定されていたパスワード、多要素認証の設定はリセットされますので注意してください。設定を誤るとログインできなくなりますので、別途 Dome9 にログインできるユーザーを用意しておくことをオススメします。

Dome9 に SSO する

Dome9 Login Page にアクセスすると Auth0 の認証ページが表示されるはずです。認証され Dome9 コンソールに遷移できれば完了です。

おまけ

SSO が有効化されると新規ユーザーを作成する際、SSO がデフォルト On になるため、必要に応じて Off にしてください。

SSO を無効化するとユーザーに対してパスワードリセットを促すメールが送られてきます。パスワードを設定してログインしてください。

おわりに

Dome9 のドキュメントに記載ない部分もあり、かなり悩みながら設定しました。一度クリアになると、Auth0 や Dome9 共に非常に簡単に設定できることがよく分かります。是非お試しください。

本エントリがどなたかのお役に立てれば幸いです。