Auth0 Dashboardのシングルサインオンを構成する
Before you start
エンタープライズプランに加入します。詳細については、「サブスクリプションを管理する」をお読みください。
パブリッククラウドとプライベートクラウドのどちらを使用しているのか確認します。これらの手順ついて、プライベートクラウド関連の前提条件は「プライベートクラウドをデプロイする」を参照してください。
Auth0を構成し、テナントメンバーに自身のエンタープライズIDプロバイダー(IdP)を使用して、シングルサインオン(SSO)を通じてAuth0 Dashboardに認証できるように構成できます。
仕組み
DashboardのSSOを構成するには、Auth0サポートと連携し、ルートテナント権限(RTA)にエンタープライズ接続を追加する必要があります。これにより、テナントメンバーがDashboardにログインする際に利用可能な認証方法が管理されます。
このSSO接続を追加することは、テナントメンバーが既存の認証方法(メール/パスワード、LinkedIn、Microsoft、GitHub、またはGoogle)を使用してログインすることを制限しません。
DashboardのSSOを構成することで、すべての公開Auth0サイトを有効にします。例:
Auth0 Webサイト(https://auth0.com)
Auth0コミュニティ(https://community.auth0.com)
Auth0のドキュメント(https://www.auth0.com/docs)
Auth0サポートセンター(https://support.auth0.com)
ユーザーエクスペリエンス
認可済みユーザーがDashboardのログインに移動すると、Auth0のユニバーサルログインページに登録済みドメインのメールアドレス(例:user@example.com
)を入力します。その後、IdPにリダイレクトされ、認証が完了します。
制限事項
DashboardのSSOの構成を決定する前に、制限について考慮してください。
SSOは特定のテナントに制限されません。
SSOはIdP起点認証フローをサポートしません。
Auth0 Management APIを使用した、テナントメンバーの招待状は、自動化または大量送信ができません。
テナントメンバーアクセスは、IdPのグループメンバーシップによって管理できません。
MFAはテナントのすべてのメンバーに強制することはできません。
考慮事項
Dashboardへの完全なディレクトリアクセス
テナントメンバーがログインできるようにIdPを利用可能な接続として追加すると、IdPのディレクトリの全ユーザーはDashboardにアクセスできるようになります。しかし、特定のテナントに招待されたテナントメンバーのみが、そのテナントにアクセスできます。
招待されていないユーザーがDashboardでテナントにアクセスしようとすると、システムがその操作を拒否します。ユーザーがどのテナントにも属していない場合は、システムがユーザーにユーザープロファイルの完成と新しいトライアルテナントの作成を求めます。新たに作成されたトライアルテナントは、エンタープライズプランには関連付けられません。
残存テナントメンバーのID
新しい接続で作成されたものとは異なるIDを使用して、Dashboardのテナントにテナントメンバーが招待された場合(アクセスも持つ場合)、依然として技術的にそのIDを使用してテナントにアクセスできます。
古いIDを削除するか、潜在的な代替の認証方法として保持するか決めなければなりません。
Dashboardに対するSSOを構成する
Dashboardに対するSSOを構成するには、お客様とAuth0サポートの間で共有された一連の手順が必要です。
IdPの構成データを共有する
Auth0サポートを使用してチケットを開くことで、IdPの構成データを共有することができ、そうすることでSSO構成をセットアップすることができます。チケットを提出する際に以下の情報を含めてください。
SSO構成に関連付けたいメールドメイン
IdPの名前
認証プロトコル
IdP固有の追加情報
使用したいIdPと認証プロトコルに応じて、追加の構成手順が必要です。
ADFS(SAML)
次のプロパティで証明書利用者の信頼を作成します:
プロパティ 値 エンティティID urn:auth0:auth0:{assignedConnectionName}
コールバックエンドポイント https://auth0.auth0.com/login/callback
以下の各クレームに対するクレームの説明を追加します:
クレーム クレーム識別子 値 Name Identifier(名前識別子) http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier
E-Mail-Addresses
またはUser-Principal-Name
Email Address(メールアドレス) http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
該当なし Name(名前) http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
該当なし SAML 2.0エンドポイントを有効にします。
Auth0サポートに以下の情報を提供します:
ログインエンドポイント(例:
https://{yourServer}/adfs/ls
)署名証明書、またはSAMLメタデータXMLファイル
Azure ID(OIDC)
新しいアプリ登録を作成します。
Webに[Redirect URI(リダイレクトURI)]タイプを設定し、
https://auth0.auth0.com/login/callback
に値を入力します。[Register(登録)]を選択します。
IDトークンの暗黙的付与を有効化します。
IDトークンにメールクレームを追加します。
Auth0サポートに以下の情報を提供します:
アプリケーション(クライアント)ID
OIDCメタデータエンドポイント(例:
https://login. microsoftonline.com/{yourAzureAdTenantId}/v2.0/.well-known/openid-configuration
)。
Azure ID(SAML)
以下のプロパティでSAMLのシングルサインオンをセットアップします(Auth0サポートがSSO接続名を提供するまでプレースホルダー値を使用する必要があるかもしれません)。
プロパティ 値 識別子(エンティティID) urn:auth0:auth0:{assignedConnectionName}
返信(ACS)URL https://auth0.auth0.com/login/callback
サインオンURL https://manage.auth0.com/login?connection={assignedConnectionName}
[Attributes & Claims(属性とクレーム)]セクションでは、
email
、Unique User Identifier
、name -
(任意)を含む項目をAzureの推奨設定のまま変更しないでください。Auth0サポートにSAMLメタデータXMLデータを提供します。次のいずれかを実行できます:
アプリのフェデレーションメタデータURLを共有します(例:
https://login.microsoftonline.com/{azureAdTenantId}/federationmetadata /2007-06/federationmetadata.xml?appid={appId}
)。フェデレーションメタデータXMLドキュメントをダウンロードし、チケットに添付します。
Google(SAML)
Auth0は、Google SAML IdPでDashboardのSSO構成をサポートしますが、既存のGoogle認証方法でユーザーをログインにダイレクトすることを推奨しています。
ユーザーがGoogle SAML IdPにログインする場合、わかりにくいですが、Auth0は、そのために新しいユーザーIDを作成します(既存のGoogleユーザーIDとは別)。
Google SAML IdPでDashboardのSSOをセットアップしたい場合、「ジェネリックIdP(SAML)」をお読みください。
Okta(SAML)
以下のプロパティでSAMLアプリケーションを作成します(Auth0サポートがSSO接続名を提供できるまで、プレースホルダー値を使う必要があるかもしれません)。
プロパティ 値 エンティティID urn:auth0:auth0:{assignedConnectionName}
コールバックエンドポイント(ACS URL) https://auth0.auth0.com/login/callback
[Name Identifier(名前ID)]を設定し、ユーザーのメールアドレスを送ります。
Auth0サポートにSAMLメタデータXMLデータを提供します。次のいずれかを実行できます:
SAMLメタデータXMLURLを共有します:
[SAML Signing Certificates(SAML署名証明書)]セクションまで移動します。
[Actions]メニューを選択します。
[View IdP metadata(IdPメタデータを表示する)]を選択し、その後、[Copy Link Address(リンクアドレスをコピーする)]を選択します。それはこの形式になります:
https://{org}.okta.com/app/{appId}/sso/saml/metadata
。
SAMLメタデータXMLファイルをダウンロードし、チケットに添付します。
IdP起点認証フロー
DashboardのSSOは、IdP起点認証フローをサポートしません。ユーザーがDashboardにログインする際にチクレットを選択できるようにするには、次の手順が必要です。
SAMLアプリがユーザーに表示されないようにします。
https://manage.auth0.com/login?connection={assignedConnectionName}
を指すブックマークアプリを作成します。これはユーザーがログインを選択できるようになるアプリケーションです。
SAMLアプリケーションとブックマークアプリの両方を、同じユーザーのセットに対して有効にし、アプリケーションを使用できるようにしてください。
OneLogin(SAML)
以下のプロパティでSAMLのテストコネクター(SP)を作成します(Auth0サポートがSSO接続名を提供できるようになるまで、プレースホルダー値を使用する必要があるかもしれません)。
プロパティ 値 エンティティID urn:auth0:auth0:{assignedConnectionName}
コールバックエンドポイント(ACS URL) https://auth0.auth0.com/login/callback
ログインURL https://manage.auth0.com/login?connection={assignedConnectionName}
Auth0サポートにSAMLメタデータXMLファイルを提供します。
ジェネリックIdP(OIDC)
以下のプロパティを使用して、IdPでアプリケーションを登録します。
プロパティ 値 Callback URL https://auth0.auth0.com/login/callback
IDトークンにメールクレームを追加します。
Auth0サポートに以下を提供します。
アプリケーション(クライアント)ID
発行者URL、またはOIDCメタデータエンドポイント(例:
https://{idpDomain}/[...]/.well-known/openid-configuration
)
ジェネリックIdP(SAML)
Auth0サポートは、SSO接続名を提供します。
次のプロパティでSAMLアプリケーションを作成します。
プロパティ 値 Entity ID(エンティティID) urn:auth0:auth0:{assignedConnectionName}
Callback endpoint(コールバックエンドポイント) https://auth0.auth0.com/login/callback
SAMLアサーションに以下のクレームが含まれているようにしてください。
クレーム クレーム識別子 値 Name Identifier(名前識別子) http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier
upn
またはemailaddress
Email Address(メールアドレス) http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
該当なし Name(名前) http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
該当なし Auth0サポートに次のいずれかを提供します。
サインインURLと署名証明書
SAMLメタデータXMLファイル
SSO接続をセットアップする
Auth0サポートチームは、提供される構成データを使用して、SSO接続の初期設定を完了します。
初期設定時には、ホーム領域検出(Home Realm Discovery:HRD)は構成されていません。
SSO接続をテストする
SSO接続の初期設定が完了したら、Auth0サポートチームがSSO接続をテストし、構成データが正しいかを確認します、そして、テナントメンバーが望む方法でSSO接続で認証できることを確認します。
Auth0サポートチームは、新しいSSO接続の認証を促すために使用できる直接ログインURLを提供します。例:
https://manage.auth0.com/login?connection={assignedConnectionName}
Auth0 Teamsを使用してSSOを強制する
エンタープライズテナントでAuth0 Teamsを使用する場合、Teamsアカウントに属するテナントに対してSSO認証を強制できます。テナント登録と管理についての詳細は、「Auth0 Teams」をお読みください。
新しいブラウザーを開き、TeamsアカウントとIDを入力してください。
https://accounts.auth0.com/teams/{team-identifier}。
[Security(セキュリティ)]ページに移動します。
[Enforce Single Sign On(シングルサインオンの強制)]を選択することで、セキュリティポリシーを構成します。
ホーム領域検出を有効にする(任意)
ユニバーサルログインまたはクラシックログインを使用している場合、HRDの有効化を要求できるため、ログインページはテナントメンバーが入力するメールアドレスのドメインを認識し、新しいSSO接続に誘導します。
HRDをいつ有効にするか
HRDが有効になっている場合、以前にメール/パスワードのIDを使用していた(構成されたHRDドメインと一致するメールを持つ)テナントメンバーは、ログインページからログインできなくなります。
この動作の変更に伴い、HRDを有効にする際は、現在のテナントメンバーの少なくとも一部が変更について認識していることを確認した上で、以下のいずれかを知っている必要があります。
新しいIDの下で、テナントへの参加招待状を受け取る
新しいIDで再招待をする必要がある
HRDをバイパスする方法
テナントメンバーがメール/パスワードIDでログインをする必要がある場合、ダイレクトログインURLを提供できます。
https://manage.auth0.com/login?connection=auth0
このURLはHRDをバイパスし、メール/パスワードIDでログインできるようにします。
HRDログイン動作の例
次に、テナントメンバーのリストの例を示します。
テナント | テナントメンバー | 接続 | 影響は? |
---|---|---|---|
fabrikam@us |
user1@example.com |
メール/パスワード | あり |
fabrikam@us |
user1@gmail.com |
google-oauth2 | なし |
fabrikam@us |
user2@example.com |
github | なし |
fabrikam@us |
user3@acme.com |
メール/パスワード | なし |
fabrikam@us |
user4@example.com |
メール/パスワード | あり |
fabrikam-dev@us |
user5@example.com |
メール/パスワード | あり |
fabrikam-dev@us |
user1@example.com |
メール/パスワード | あり |
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接続への初めてのログインである場合、ユーザープロファイリングを完了する必要があるかもしれません。
招待メールに記載されている招待状URLを、新しいSSO接続でログインしたのと同じブラウザーにコピーして貼り付けます。ユーザーは[Create Account(アカウントの作成)]を選択しないでください。
招待状を受け入れます。
ユーザーが別のテナントに招待されている場合は、このときにそれを使用できます。
HRDを有効にした状態で移行する方法
HRDを有効にした状態でテナントメンバーを移行するには、テナントメンバーの追加に類似した手順を追う必要があります。
テナントメンバーに対して、新しいテナントメンバー招待状を作成します。
テナントメンバーに以下を行うように指示します。
Dashboardからログアウします(以前に古いIDでログインしたことがある場合)。
受け取った招待メールにある招待状リンクを開きます。
新しい接続にログインします。
招待状を受け入れます。