メインコンテンツへスキップ

始める前に

この機能を使用するには、Auth0 のプランまたはカスタム契約に Enterprise Connections が含まれている必要があります。詳しくは、Auth0’s Pricing Pageを参照してください。インバウンド SCIM 接続をテストするには、ローカルマシンに Postman をインストールしておく必要があります。
SCIM は、エンタープライズ組織がユーザーの ID 関連情報のプロビジョニング、プロビジョニング解除、管理を行うために使用する プロトコル および スキーマ の標準です。 Auth0 の インバウンド SCIM 機能は、エンタープライズ との B2B SaaS 開発者向け統合をサポートしています。現在 Auth0 でサポートされている接続タイプは、SAMLOpenID ConnectOkta Workforce Identity、および Microsoft Azure AD / Entra ID です。
Google Workspace のユーザープロビジョニングは Directory Sync によってサポートされています。Google Workspace から Auth0 にユーザーを同期する方法については、Sync Google Workspace Users to Auth0 with Directory Sync を参照してください。

Enterprise 接続でインバウンド SCIM を有効にする

  1. Auth0 Dashboard を開き、設定するテナントを選択します。
  2. Authentication > Enterprise, に移動し、SAML、OpenID Connect、Okta Workforce、またはMicrosoft Azure ADを選択します。
  3. 既存の接続を選択するか、Create Connection を使用して新しい接続を作成します。
  4. 接続の Provisioning タブで、Sync user profile attributes at each loginOff にし、Sync users and groups using SCIMOn に切り替えます。
  5. Postman を使用したテストに必要な SCIM エンドポイント URL と SCIM トークンを取得するには、Sync users and groups using SCIM の下にある Setup タブを選択します。

Postmanでテストする

SCIM 設定をテストするには、以下の Postman コレクションをダウンロードできます。
  1. Postman を起動し、File > Import… を選択して、ダウンロードしたファイルをインポートダイアログにドラッグします。
  2. SCIM 2.0 Tests コレクションを選択し、Variables タブを開きます。
  3. Auth0 Dashboard から SCIM Endpoint URL の値をコピーし、SCIM-ENDPOINT-URL 変数の横にある Current Value フィールドに貼り付けます。
  4. Auth0 Dashboard で Generate New Token を選択し、次に Generate Token を選択して、Copy and Close. を選びます。
  5. Postman に戻り、Authorization タブを選択して、トークンの値を Token フィールドに貼り付けます。
  6. Save. を選択します。
  7. 表示されている順にテストを実行します。グループのテストを実行する前に、有効なユーザーが存在することを確実にするため、Users - POST コマンドを先に実行する必要がある点に注意してください。各ユーザーおよびグループ操作の結果は、Auth0 Dashboard の User Management > UsersUser Management > Enterprise Groups で確認できます。各 SCIM 操作の詳細は、テナントログの Monitoring > Logs で確認できます。
特定の IDプロバイダーでテストするには、SAML または OpenID を使用して IDプロバイダー向けの インバウンド SCIM を構成するをお読みください。

サポート対象の SCIM 操作

Auth0 では、ユーザーとグループを管理するために、次の SCIM 2.0 操作をサポートしています。 Auth0 は、ユーザーリソースに対して SCIM 2.0 の コアスキーマEnterprise schema をサポートしています。 Auth0 は、グループリソースに対して SCIM 2.0 の コアスキーマ をサポートしていますが、サポートされるメンバータイプは “user” のみです。Microsoft Entra ID などのエンタープライズ IDプロバイダーとの互換性を確保するため、グループの “displayName” 値は接続ごとに一意である必要があります。

SCIM エンドポイントとトークン

各エンタープライズ顧客には接続ごとに専用の SCIM エンドポイントとトークンが割り当てられ、Auth0 テナントに保存されている接続固有のユーザーとグループの安全なプロビジョニング、プロビジョニング解除、管理を行えます。 エンドポイントとトークンは、Authentication > Enterprise > [connecton-type] > [your-connection] > Provisioning >  Sync users and groups using SCIM >  Setup で表示および設定できます。
SCIM セットアップの Dashboard スクリーンショット
SCIM Endpoint URL を使用すると、SCIM クライアントは特定の IDプロバイダーについて Auth0 に保存されているユーザーとグループを管理できます。 Generate New Token オプションでは、この SCIM エンドポイントに対して最大 2 つの有効なトークンを生成できます。これにより、SCIM クライアントで使用するトークンをダウンタイムなしで更新できます。Delete を選択すると、この画面でトークンを失効させることもできます。
SCIM トークン設定用の Dashboard 画面
次のトークン生成設定を使用できます。
  • 有効期限なし: トークンを無期限にするかどうかを選択します。
  • 秒単位の有効期限: トークンを無期限にしない場合は、有効期限を選択できます。トークンの有効期限が切れると、SCIM エンドポイントは次回使用時にエラーレスポンスを返します。許可される最小の有効期限は 900 秒です。
  • 権限の一覧 (スコープ) : このトークンで実行できる SCIM 操作を指定します。使用可能な権限は次のとおりです。
    • get:users - ユーザーの取得と検索を許可します。
    • post:users - ユーザーの作成を許可します
    • put:users - PUT メソッドを使用したユーザーの更新を許可します。
    • patch:users - PATCH メソッドを使用したユーザーの更新を許可します。
    • delete:users - ユーザーの削除を許可します。
    • get:groups - グループの取得と検索を許可します。
    • post:groups - グループの作成を許可します
    • put:groups - PUT メソッドを使用したグループの更新を許可します。
    • patch:groups - PATCH メソッドを使用したグループの更新を許可します。
    • delete:groups - グループの削除を許可します。

セッションの失効とバックチャネルログアウト

Auth0 がユーザーを無効化してブロックする SCIM メッセージを受信すると、そのユーザーの Auth0 セッションをすべて終了し、を失効させ、さらに (設定されている場合は) アプリケーションに対して OpenID Connect バックチャネルログアウト をトリガーします。

ログ

Auth0 が受信したすべての SCIM リクエストの詳細は、Auth0 Dashboard の Monitoring > Logs セクションで確認できます。なお、リクエスト本文内で 1,000 人を超えるメンバーを含むグループに対する POST または PUT 操作では、ログサイズの制限により、ログに members 属性は表示されません。 Auth0 から外部システムに SCIM でプロビジョニングされたユーザー、グループ、およびグループのメンバーシップを同期する方法については、ユーザーとグループを外部システムに同期するを参照してください。

ユーザープロビジョニングのオプション

以下のセクションでは、SCIM スキーマと Auth0 のユーザープロフィール間で属性マッピングを設定する方法、および SCIM でプロビジョニングされたユーザーを Auth0 の他の機能でどのように利用できるかについて説明します。

ユーザー属性マッピング

新しく作成される各接続では、Auth0 Dashboard の Authentication > Enterprise > [connecton-type] > [your-connection] > Provisioning >  Sync users and groups using SCIM >  Mapping にあるデフォルトの属性マップが使用されます。このマップは、接続の要件に合わせて編集およびカスタマイズできます。 RFC 7643 sections 3.1, 4.1,  and 4.3 で定義されている、SCIM のコア ユーザー属性を使用できます。 これらの SCIM 属性は、ユーザープロファイル上の Auth0 の root 属性および metadata 属性にマッピングできます。 Auth0 では、ログイン時にプロビジョニングされる属性と並行して、SCIM を使用して属性をプロビジョニングすることもできます。詳細については、次のセクションを参照してください。

ログイン時に追加の属性を同期する

/OIDC と SCIM で同じユーザー属性セットをサポートしていない IDプロバイダーと統合している場合は、SCIM プロビジョニングとあわせて Sync user profile attributes at login を有効にすることで、追加の属性にアクセスできます。 Sync user profile attributes at login を有効にすると、ユーザーがログインするたびに、ユーザープロファイル上のすべての root 属性が上書きされます。SCIM とログイン時の同期の競合を避けるため、次のガイドラインに従ってください。
  • emailusername などの Auth0 の共通の root 属性が SCIM 属性マップにも含まれている場合は、それらが SAML または OpenID Connect の属性マップにもマッピングされていることを確認してください。
  • SCIM 属性マップでは、その他すべての SCIM 属性 (active 属性を除く) を、Auth0 の app_metadata 属性内の値にマッピングしてください。

ユーザー属性としてロールを同期

Auth0 は、RFC7643 で定義されている SCIM 2.0 の roles ユーザー属性の同期をサポートしています。ロールを受け入れるには、接続の SCIM 属性マップで、SCIM の roles 属性が app_metadata.roles などの Auth0 ユーザー属性にマッピングされていることを確認してください。 Okta Workforce Identity からアプリケーション固有のロールを同期する方法については、How to Add Multi-value Roles in SCIM Cloud Integration を参照してください。Microsoft Entra ID のロールについては、Customize user provisioning attribute-mappings for SaaS applications in Microsoft Entra ID を参照してください。 SCIM 経由でプロビジョニングされたグループに Auth0 のロールを割り当てる方法については、Group Provisioning Options を参照してください。

組織のメンバーシップ

SCIM でプロビジョニングされたユーザーを組織のメンバーにするには、組織の接続に Just-In-Time Membership を付与する で説明されているように、接続で Enable Auto-Membership を有効にする必要があります。

ユーザーアカウントのリンク

ユーザーアカウントのリンク を使用する場合、SCIM でプロビジョニングされたユーザーアカウントは、プライマリユーザーアカウントとして設定する必要があります。セカンダリアカウントとして設定すると、SCIM の id 属性が変更されてしまい、SCIM 2.0 core schema specification に反します。エンタープライズユーザーアカウントをソーシャルアカウントや個人用アカウントにリンクすることは推奨されません。

グループのプロビジョニングオプション

以下のセクションでは、SCIM でプロビジョニングされたグループを認可に使用する方法と、Auth0 組織で使用する方法について説明します。

グループをロールと併用する

エンタープライズIDプロバイダーから同期されたグループは、Auth0 のコア認可ロールに割り当てることができます。割り当てると、そのグループのすべてのメンバーに、ログイン時に割り当てられたロールが継承されます。詳細については、エンタープライズグループへのロールの割り当てを参照してください。 エンティティ制限ポリシーに記載されている、エンタープライズグループとコア認可ロールに関するテナントレベルのエンティティ制限に注意してください。

組織のロールでグループを使用する

上記と同様に、エンタープライズIDプロバイダーからプッシュされたグループは、組織内のロールに割り当てることができます。組織のメンバーがログインすると、自身が属する同期済みグループに割り当てられた組織ロールをすべて継承します。 B2B または SaaS アプリケーションで顧客やパートナーを表す場合は、それらを 組織 として表現し、このコンテキスト内でグループとロールを使用することをお勧めします。 SCIM でプロビジョニングされたユーザーが組織のメンバーになるには、まず 組織の接続に Just-In-Time Membership を付与する で説明されているように、接続で Enable Auto-Membership を有効にする必要があります。 その後、組織に関連付けられたエンタープライズ接続から同期された任意のグループに、組織ロールを割り当てることができます。詳しくは、エンタープライズグループへのロールの割り当て を参照してください。 エンティティ制限ポリシーで、エンタープライズグループおよびコア認可ロールに関する組織レベルのエンティティ制限を確認してください。

Post-Login Action でグループを使用する

エンタープライズIDプロバイダーからプッシュされたグループ情報を Post-Login Action で使用すると、Auth0 でカスタムのアクセス制御や認可の判断を行えます。詳しくは、Actions トリガー: post-login - API オブジェクトapi.groups.getUserGroups() 関数および api.groups.hasGroupMembership() 関数のドキュメントを参照してください。

ユーザーとグループを外部システムに同期する

Auth0 のイベント機能を使用すると、ユーザー、グループ、グループメンバーシップを Auth0 から外部システムへ同期できます。これにより、ユーザーやグループの変更に関するリアルタイム通知を、カスタム webhook エンドポイント、AWS EventBridge、またはカスタム Auth0 Action に送信できます。 ユーザーとグループの送信同期を設定するには、次の手順に従います。
  1. Event Stream を作成するの手順に従って、Auth0 Dashboard でイベントストリームを作成します。イベントの送信先として、カスタム webhook エンドポイント、AWS EventBridge、またはカスタム Auth0 Action を選択します。
  2. イベントストリームの設定ページで、ユーザーとグループについてストリーミングするイベントを選択します。ほとんどの場合は、すべての User イベントと Group イベントを選択することを推奨します。各 User イベントおよび Group イベントに含まれる情報については、イベントカタログを参照してください。
  3. イベントストリームと送信先の設定が完了したら、前述の Postman コレクションを使用するか、エンタープライズ IDプロバイダーで SCIM を使用してユーザーやグループを作成、更新、削除することで、テスト用のユーザーイベントとグループイベントを生成できます。

デプロイに関するガイドライン

スムーズなセットアップのために統合ギャラリーを活用する

顧客が SCIM と をよりスムーズに設定できるようにするには、Okta Integration Network や、統合予定のその他のワークフォース向け IDプロバイダー統合ギャラリーにアプリケーションを掲載することを検討してください。 現在、Auth0 は Okta での Express Configuration をサポートしており、Okta Integration Network に公開されたアプリケーションについて、OpenID Connect、SCIM、Universal Logout のセットアップを自動化できます。

Auth0 Self-Service SSO とユーザープロビジョニングを利用する

統合ギャラリーを使用しない場合は、Auth0 Self-Service Enterprise Configuration を使用して、顧客または IdP 管理者が SCIM を直接設定できるようにします。

まずは下位環境で SCIM をテストする

本番の Auth0 テナントで SCIM を有効にする前に、開発用またはステージング用の Auth0 テナントで統合を十分にテストしてください。

SCIMトークンを安全に送信する

SCIMトークンを平文のまま、メール、または安全でないチャネルで送信しないでください。SendSafely のような安全な通信サービスを使用するか、Auth0 Self-Service Enterprise Configuration を使用して、顧客に SCIMトークンを直接発行してください。 Express Configuration with Okta を使用する場合、トークンの構成は自動化されており、表示されません。

Management API

Enterprise 接続の SCIM の構成は、Auth0 Management API を使用して自動化できます。詳細については、Management API を使用したインバウンド SCIM デプロイの管理を参照してください。 SCIM を介して Auth0 テナントに作成されたすべての Enterprise ユーザーとグループは、Auth0 Management API を使用して検索、表示、削除することもできます。次の Management API エンドポイントを使用できます。

詳しくは