Okta

オクタ

はじめに

Auth0では、Auth0自体のユーザデータベースだけではなく、外部のIdPで管理されているユーザアカウントを利用して、Auth0連携アプリケーションへログインできます。既存のIdPに登録済のユーザアカウント情報を、継続して利用でき、最小限の対応作業でAuth0への認証統合を実現できます。

Auth0における外部IdP連携では、Enterprise Connection機能を利用します。本ページでは、外部IdPとしてOkta Workforce(以下、Okta)、プロトコルをSAMLとし、必要となる設定と実際のログイン動作をご紹介します。
なお、今回はSAMLを利用した外部IdP連携例としてOktaを利用しますが、Auth0で連携テンプレートとして用意されているOktaは、OpenID Connectでの連携となりますので、ご注意ください。

Auth0 Enterprise Connection機能による外部IdP連携(SAML)

Auth0がサポート対応する外部IdP

Auth0がサポート対応している外部IdPは、以下より確認できます。Okta Workforce Identity、Azure AD等、主要なIdPに対応しています。また、記載のないIdPについても、SAMLまたはOpenID Connectプロトコルに対応している場合は連携できます。
Enterprise Identity Providers - Auth0

前提

本ページ内の設定及び動作例では、以下が準備済の状態を前提とします。

  • Auth0連携済のWebアプリケーション
  • Okta Workforceテナント作成

Auth0によるログイン画面機能については、New Universal Loginを利用します。
※後述のConnection Button設定はClassic版非対応

また、本ページ記載の機能及び設定に関する内容は、2023年1月現在の情報となります。

設定概要

Auth0連携済のWebアプリケーションで、Oktaを外部IdPとする認証統合を実現するために、Auth0・Oktaそれぞれで必要となる設定は以下の通りです。※Auth0・Oktaの連携には、SAMLを利用します。

1. Okta設定に必要となるAuth0側の情報整理
2. Okta設定
  • アプリケーション登録
  • Auth0側に登録する情報(Single Sign-On URL及びX.509 Certificate)の取得
3. Auth0設定
  • Okta向けEnterprise Connection設定
  • IdP-initiated SSOの有効化
  • ApplicationにおけるEnterprise Connectionの有効化

ここから、具体的な設定方法とログイン時の動作例をご紹介します。

設定例

1. Okta設定に必要となるAuth0側の情報整理

Okta側の設定で必要となる以下の情報を確認

  • Single sign-on URL:
    https://<YOUR_DOMAIN>/login/callback?connection=<YOUR_AUTH0_CONNECTION_NAME>
  • Audience URI (SP Entity ID):
    urn:auth0:<YOUR_AUTH0_TENANT_NAME>:<YOUR_AUTH0_CONNECTION_NAME>

【補足】"YOUR_DOMAIN", "YOUR_AUTH0_TENANT_NAME", "YOUR_AUTH0_CONNECTION_NAME"値について

  • YOUR_DOMAIN: <YOUR_AUTH0_TENANT_NAME>.<REGION_DOMAIN>.auth0.com
    ※日本リージョン利用の場合、REGION_DOMAIN = jp
  • YOUR_AUTH0_TENANT_NAME:Auth0テナント名
    ※Auth0管理画面[Settings]>[General]タブ>[Tenant Name]から確認
  • YOUR_AUTH0_CONNECTION_NAME:Auth0側で設定するSAML IdP連携用Connection名
    ※本設定例では"Okta-saml"
2. Okta設定
  • Okta管理画面で[Applications] > [Applications]へ遷移後、[Create App Integration]をクリック
Okta設定
  • Sign-in methodで[SAML 2.0]を選択し、[Next]をクリック
Okta設定
  • アプリケーションの登録で[App name]に任意の名前を入力し、[Next]をクリック
Okta設定
  • SAML設定で各値*を入力し、画面下部へ移動

*「1. Okta設定に必要となるAuth0側情報の整理」で確認した値

Single sign-on URL:
https://<YOUR_DOMAIN>/login/callback?connection=<YOUR_AUTH0_CONNECTION_NAME>

Audience URI (SP Entity ID):
urn:auth0:<YOUR_AUTH0_TENANT_NAME>:<YOUR_AUTH0_CONNECTION_NAME>

Okta設定
  • Attribute Statementsで各値を入力し、画面下部へ移動

※他属性値をAuth0側に連携したい場合は、同様に追加することで連携可能

設定例)

Name Name format Value
email Unspecified user.email
given_name Unspecified user.firstName
family_name Unspecified user.lastName
Okta設定
  • [Next]をクリック
Okta設定
  • [I'm an Okta customer adding an internal app]を選択し、[Finish]をクリック
Okta設定
  • Auth0側への登録情報を取得するため、画面下部の[View SAML setup instructions]をクリック
Okta設定
  • Identity Provider Single Sign-On URL値のコピー及びX.509 Certificateファイルをダウンロード
Okta設定
3. Auth0設定
  • Auth0管理画面で、[Authentication] > [Enterprise]をクリック
Auth0設定
  • [SAML]をクリック
Auth0設定
  • [Create Connection]をクリック
Auth0設定
  • 各項目の設定を行い、ページ下部へ移動
  • Connection name:任意の設定名(<YOUR_AUTH0_CONNECTION_NAME>)
  • Sign In URL:「2. Okta設定」でコピーしたIdentity Provider Single Sign-On URL値
  • X.509 Signing Certificate:「2. Okta設定」でダウンロードしたX.509 Certificateファイル
Auth0設定
  • [Create]をクリック
Auth0設定
  • [Login Experience]タブでConnection Button設定を実施し、ページ末尾の[Save]をクリック
  • Display connection as a button:チェック(ログイン画面上にOktaによるログインボタンを表示)
  • Button display name:ボタン表示名称を指定
Auth0設定
  • [IdP-initiated SSO]タブで[Accept Requests]を選択し、各項目設定を行い、[Save Changes]をクリック
  • Default Application:対象アプリケーションを選択
  • Response Protocol:SAML
Auth0設定
  • [Mappings]タブで以下値を入力し、[Save Changes]をクリック
    ※"auth0_user_attribute": "Okta_saml_attribute"にて連携属性を追加設定可能

設定例)

{
  "email": "email",
  "given_name": "given_name",
  "family_name": "family_name"
}
Auth0設定
  • 連携するApplication設定で、作成したEnterprise Connectionを有効化
Auth0設定

ログイン時の動作例: Oktaに登録済のユーザによるログイン

1. Auth0連携済のWebアプリケーション画面でログイン操作を行い、Auth0が提供するログイン画面に遷移
2. [Okta-samlで続ける]ボタンが表示されていることを確認し、[Okta-samlで続ける]ボタンをクリック
Okta設定
3. Okta側の認証画面に遷移後、Okta上のユーザ情報を入力
Okta設定
Okta設定
4. WebアプリケーションにOkta上のユーザでログインできたことを確認
Okta設定
5. Auth0管理画面において、当該ユーザ情報を確認
※連携設定した"email", "given_name", "family_name"も、Okta側の値が連携されていることを確認
Okta設定

まとめ

Auth0では、Enterprise Connection機能を利用することで、外部IdPを用いた認証処理を簡単に実現できます。無償のAuth0トライアル環境においてもEnterprise Connection機能をお試しいただけますので、ぜひ実感してください。

既存のIdPを活用したAuth0への認証統合についてご興味がある方は、是非弊社までお問い合わせください。

参考

お問い合わせ・資料請求

株式会社マクニカ  Okta 担当

月~金 8:45~17:30