始める前に
- Enterprise プランに加入してください。詳細については、サブスクリプションを管理するを参照してください。
- Public Cloud と Private Cloud のどちらを使用しているかを確認してください。これらの手順に関する Private Cloud の前提条件については、Private Cloud をデプロイするを参照してください。
仕組み
Auth0 Dashboard で SSO を設定するには、Auth0 Support と連携して、テナントメンバー が Auth0 Dashboard へのログイン時に利用できる認証方法を管理するルートテナントオーソリティ (RTA) に、エンタープライズ接続を追加する必要があります。 この SSO 接続を追加しても、テナントメンバー が既存の認証方法 (メール / パスワード、LinkedIn、Microsoft、GitHub、Google など) で引き続きログインできます。 Auth0 Dashboard で SSO を設定すると、次のようなすべての公開 Auth0 サイトでも SSO が有効になります。- Auth0 website (https://auth0.com)
- Auth0 Community (https://community.auth0.com)
- Auth0 Docs (https://auth0.com/docs)
- Auth0 Support Center (https://support.auth0.com)
ユーザーエクスペリエンス
Auth0 Dashboard にログインする際、アクセスを許可されたユーザーは、Auth0 の ページに登録済みドメインのメールアドレス (たとえばuser@example.com) を入力し、その後、認証を完了するために IdP にリダイレクトされます。
制限事項
Auth0 Dashboard の SSO を設定する前に、次の制約事項をご確認ください。- SSO を特定のテナントのみに制限することはできません。
- SSO は IdP-Initiated の認証フローをサポートしていません。
- テナントメンバーへの招待は、Auth0 の を使って自動化したり、一括送信したりすることはできません。
- テナントメンバーのアクセスを、IdP のグループメンバーシップに基づいて管理することはできません。
- をテナント内のすべてのメンバーに対して必須にすることはできません。
留意点
ディレクトリ内の全ユーザーによる Auth0 Dashboard へのアクセス
テナントメンバー がログイン時に使用できる接続として IdP を追加すると、IdP のディレクトリ内のすべてのユーザーが Auth0 Dashboard にアクセスできるようになります。ただし、特定のテナントに招待されている テナントメンバー のみが、そのテナントにアクセスできます。 ユーザーが招待されていないテナントに Auth0 Dashboard からアクセスしようとすると、システムによって拒否されます。ユーザーがどのテナントにも属していない場合、システムは ユーザープロファイルの入力を完了 して、新しい試用テナントを作成するよう求めます。新しい試用テナントを作成しても、それが Enterprise プランに関連付けられることはありません。残存する テナントメンバー のアイデンティティ
テナントメンバー が、新しい接続で作成されたものとは異なるアイデンティティで Auth0 Dashboard 内の テナント に招待され (かつアクセス権を付与され) ていた場合、技術的には、そのアイデンティティを使って引き続き テナント にアクセスできます。 古いアイデンティティを削除するか、認証の代替手段として残しておくかを判断する必要があります。Auth0 Dashboard の SSO を設定する
Auth0 Dashboard の SSO を設定するには、お客様と Auth0 Support がそれぞれ対応する一連の手順が必要です。IdP の設定データを共有する
SSO 設定を構成できるように、IdP の設定データを共有するには、Auth0 Support に ticket を送信してください。ticket の送信時には、次の情報を含めてください。- SSO 設定に関連付けるメールドメイン
- IdP の名前
- 認証プロトコル
- IdP 固有の追加情報
ADFS (SAML)
-
次のプロパティを設定して、証明書利用者信頼を作成します。
-
次の各クレームについて、クレームの説明を追加します。
- SAML 2.0 エンドポイントを有効にします。
-
Auth0 Support に次の情報を提供します。
- ログイン エンドポイント (例:
https://{yourServer}/adfs/ls) - 署名証明書、または SAML メタデータ XML ファイル
- ログイン エンドポイント (例:
Azure AD (OIDC)
- 新しいアプリの登録を作成します。
-
Redirect URI の種類を Web、値を
https://auth0.auth0.com/login/callbackに設定します。 - Register を選択します。
- ID トークンの Implicit Grant を有効にします。
- ID トークンに email クレームを追加します。
-
次の情報を Auth0 Support に提供してください。
- アプリケーション (クライアント) ID
- OIDC メタデータ エンドポイント (例:
https://login.microsoftonline.com/{yourAzureAdTenantId}/v2.0/.well-known/openid-configuration)
Azure AD (SAML)
- 新しい Enterprise Application を作成します。
-
次のプロパティを使用して SAML のシングルサインオンを設定します (Auth0 Support から SSO 接続名が提供されるまでは、プレースホルダー値を使用する必要がある場合があります) 。
-
Attributes & Claims セクションは、
email、Unique User Identifier、および必要に応じてnameを含め、Azure の提案のまま変更しないでください。 -
SAML メタデータ XML データを Auth0 Support に提供してください。方法は次のいずれかです。
- App Federation Metadata URL (例:
https://login.microsoftonline.com/{azureAdTenantId}/federationmetadata/2007-06/federationmetadata.xml?appid={appId}) を共有する。 - Federation Metadata XML ドキュメントをダウンロードし、チケットに添付する。
- App Federation Metadata URL (例:
Google (SAML)
Auth0 では、Google IdP を使用して Auth0 Dashboard の SSO を設定できますが、既存の Google 認証方式を使ってユーザーをログインさせることを推奨しています。 ユーザーが Google SAML IdP にログインすると、Auth0 はそのユーザーに対して新しいユーザー ID を作成します (既存の Google ユーザー ID とは別です) 。そのため、混乱を招くおそれがあります。 Google SAML IdP を使用して Auth0 Dashboard の SSO を設定する場合は、手順について Generic IdP (SAML) を参照してください。Okta (SAML)
-
次のプロパティで SAML アプリケーションを作成します (Auth0 Support から SSO 接続名が提供されるまでは、プレースホルダー値を使用する必要がある場合があります) 。
- Name Identifier でユーザーのメールアドレスを送信するように設定します。
-
Auth0 Support に SAML メタデータ XML データを提供します。方法は次のいずれかです。
-
SAML メタデータ XML の URL を共有する。
- SAML Signing Certificates セクションを見つけます。
- Actions メニューを選択します。
- View IdP metadata を選択し、続けて Copy Link Address を選択します。URL は
https://{org}.okta.com/app/{appId}/sso/saml/metadataという形式です。
- SAML メタデータ XML ファイルをダウンロードし、チケットに添付する。
-
SAML メタデータ XML の URL を共有する。
- ユーザーには SAML アプリを表示しないようにします。
https://manage.auth0.com/login?connection={assignedConnectionName}を指す Bookmark App を作成 します。ユーザーはこのアプリケーションを選択してログインできるようになります。
OneLogin (SAML)
-
次のプロパティを指定して SAML テストコネクタ (SP) を作成します (Auth0 Support から SSO 接続名が提供されるまでは、プレースホルダー値を使用する必要がある場合があります) 。
- SAML メタデータ XML ファイルを Auth0 Support に提供します。
汎用 IdP (OIDC)
-
以下のプロパティで、IdP にアプリケーション (クライアント) を登録します。
- email クレームを追加し、ID トークンに含めます。
-
Auth0 Support に次の情報を提供します。
- アプリケーション (クライアント) ID
- Issuer URL または OIDC メタデータ エンドポイント (例:
https://{idpDomain}/[...]/.well-known/openid-configuration)
利用可能であれば、Auth0 Support は Form Post フローを使用する Implicit Mode を使用します。お使いの IdP がこれをサポートしていない場合は、アプリケーションのクライアント シークレットを提供する必要があります。
Generic IdP (SAML)
- Auth0 Support から、SSO 接続名が提供されます。
-
次のプロパティで SAML アプリケーションを作成します。
-
SAML アサーションに次のクレームが含まれていることを確認します。
-
次のいずれかを Auth0 Support に提供します。
- サインイン URL と署名証明書
- SAML メタデータ XML ファイル
SSO接続を設定する
Auth0 Support は、お客様から提供された設定データを基に、SSO接続の初期設定を行います。 ホームレルムディスカバリー (HRD) は、初期設定では設定されません。SSO 接続をテストする
SSO 接続の初期設定が完了すると、Auth0 Support が、設定データが正しいこと、およびテナントメンバーが意図したとおりに SSO 接続で認証できることを確認するため、SSO 接続のテストを案内します。 Auth0 Support は、新しい SSO 接続での認証を開始するための直接ログイン URL を提供します。例:https://manage.auth0.com/login?connection={assignedConnectionName}
Auth0 Teams で SSO を必須にする
Enterprise テナントで Auth0 Teams を使用している場合は、Teams アカウントに属するテナントに対して SSO 認証を必須にできます。テナントの管理について詳しくは、Auth0 Teams を参照してください。-
新しいブラウザーを開き、Teams アカウントの識別子を入力します:
https://accounts.auth0.com/teams/{team-identifier}.Teams の識別子は、URL または Teams の 設定 で確認できます。 - Security ページに移動します。
- Enforce Single Sign On を選択して、Security Policies を構成 します。
ホームレルムディスカバリーを有効にする (任意)
Universal Login またはクラシックログインを使用している場合は、HRD を有効にするようリクエストできます。これにより、ログインページで テナントメンバー が入力したメールアドレスのドメインを認識し、新しい SSO 接続に誘導できるようになります。HRD を有効にするタイミング
HRD を有効にすると、以前はメールアドレス / パスワードの ID (設定された HRD ドメインに一致するメールアドレスのもの) を使用していた テナントメンバー は、ログインページ からログインできなくなり、代わりに新しい SSO 接続 に誘導されます。HRD はメールアドレスの 識別子 にのみ対応しています。 この動作変更があるため、HRD の有効化は、少なくとも現在の テナントメンバー の一部がこの変更を把握し、さらに自分たちが次のいずれかに該当することを理解した後で依頼してください。- 新しい ID で テナント に参加するための招待を受け取る
- 新しい ID で自分自身を再招待する必要がある
HRD を回避する方法
テナントメンバーがメールアドレス / パスワードの ID でログインする必要がある場合は、ログイン用の直接 URL を案内できます。https://manage.auth0.com/login?connection=auth0
この URL を使うと HRD を回避して、メールアドレス / パスワードの ID でログインできます。
HRDログイン動作の例
以下はテナントメンバーのリストの例です。
example.com ドメインを新しい接続に関連付けると、テナントメンバー
user1@gmail.com、user2@example.com、user3@acme.com は、ソーシャルプロバイダーを使用しているか、関連付けられていないドメインのメールアドレスを使っているため、これまでどおりログインできます。
一方で、テナントメンバー user1@example.com、user4@example.com、user5@example.com は、メールアドレスが HRD 用に設定されたドメインに関連付けられているため、これまでどおりにはログインできません。
既存のテナントメンバーの移行
既存のテナントメンバーを移行する方法は、HRD が有効かどうかによって異なります。HRD を無効にして移行する方法
HRD を無効にして テナントメンバー を移行するには、新しい SSO 接続の直接ログイン URL を共有する必要があります。https://manage.auth0.com/login?connection={assignedConnectionName}
- テナントメンバー 用の新しい テナントメンバー 招待を作成します。
-
テナントメンバー に次のように案内します。
-
招待を承諾する前に、直接ログイン URL を使用して新しい SSO 接続にログインします。
新しい SSO 接続へのログインが初めての場合は、プロファイル情報の補完ページ (https://auth0.com/profile) が表示されることがあります。どの項目にも入力せず、Next も選択しないでください。代わりに、次の手順に進んでください。
- 招待メールで受け取った招待 URL をコピーして、新しい SSO 接続にログインしたときと同じブラウザーに貼り付けます。ユーザーは Create Account を選択しないでください。
- 招待を承諾します。
- ユーザーが他のテナントへの招待も受け取っている場合は、この時点でそれらも使用できます。
-
招待を承諾する前に、直接ログイン URL を使用して新しい SSO 接続にログインします。
HRD が有効な場合の移行方法
HRD が有効なテナントメンバーを移行するには、テナントメンバーの追加と同様の手順に従う必要があります。- テナントメンバー向けに新しいテナントメンバー招待を作成します。
-
テナントメンバーに次のように案内します。
-
Auth0 Dashboard からログアウトします (以前に古い ID でログインしていた場合) 。
これが初めて承諾する招待である場合は、「Create a new tenant」または「Create a new account」ページが表示されることがあります。Next は選択しないでください。代わりに、次の手順に従ってください。
- 受信した招待メール内の招待リンクを開きます。
- 新しい接続でログインします。
- 招待を承諾します。
-
Auth0 Dashboard からログアウトします (以前に古い ID でログインしていた場合) 。