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

始める前に

この機能を使用するには、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 user profiles using SCIMOn に切り替えます。
  5. Postman を使用したテストに必要な SCIM エンドポイント URL と SCIM トークンを取得するには、Sync user profiles using SCIM の下にある Setup タブを選択します。

Postmanでテストする

SCIM 設定をテストするには、以下の Postman コレクションをダウンロードできます。
  1. Postman を起動し、File > Import… を選択して、ファイル scim_postman_collection.json をインポートダイアログにドラッグします。
  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. 表示されている順にテストを実行します。POST コマンドから始めて、DELETE で終了します。各ユーザー操作の結果は、Auth0 Dashboard の User Management > Users と、テナントログの Monitoring > Logs で確認できます。
特定の IDプロバイダーでテストするには、SAML または OpenID を使用して IDプロバイダー向けの インバウンド SCIM を構成するを参照してください。

サポートされる SCIM 操作

Auth0 は、ユーザーを管理するために次の SCIM 2.0 操作をサポートしています。
CommandDescription
POSTRFC7644 セクション 3.3 で説明されている SCIM 2.0 コアスキーマおよびエンタープライズスキーマ拡張の属性を使用して、Auth0 にユーザーを作成します。
GETAuth0 の user_id 値を使用して、すでに Auth0 に作成されているユーザーを取得します。RFC7644 セクション 3.4.1 で説明されています。
PUTRFC7644 セクション 3.5.1 で説明されている SCIM 2.0 コアスキーマおよびエンタープライズスキーマ拡張の属性を使用して、Auth0 のユーザーを置き換えます。
PATCHRFC7644 セクション 3.5.2 で説明されている SCIM 2.0 コアスキーマおよびエンタープライズスキーマ拡張の属性を使用して、Auth0 のユーザーを更新します。
DELETEAuth0 の user_id 値を使用して Auth0 のユーザーを削除します。RFC7644 セクション 3.6 で説明されています。
SEARCHRFC7644 セクション 3.4.2 で説明されている SCIM フィルターを使用して、Auth0 のユーザーを検索します。サポートされる演算子は Equals (EQ)、and (AND)、or (OR) です。
PUT (Deactivate)Auth0 に保存されているユーザーを置き換え、SCIM の active 属性を false に設定します。その結果、ユーザーは Auth0 でブロックされます。
PATCH (Deactivate)Auth0 に保存されているユーザーを更新し、SCIM の active 属性を false に設定します。その結果、ユーザーは Auth0 でブロックされます。
Auth0 は、複数のエンタープライズ IDプロバイダーとの幅広い互換性を確保するため、SCIM 2.0 のユーザーリソース用コアスキーマおよびユーザーリソース用エンタープライズスキーマに加えて、クライアント認証用のベアラートークンを使用します。

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

各エンタープライズ顧客には接続ごとに専用の SCIM エンドポイントとトークンが割り当てられ、Auth0 テナントに保存されているユーザーアカウントのプロビジョニング、プロビジョニング解除、管理を行えます。 エンドポイントとトークンは、Authentication > Enterprise > [connecton-type] > [your-connection] > Provisioning >  Sync user profiles 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 - ユーザーの削除を許可します。

属性マッピング

新しく作成される各接続では、Auth0 Dashboard の Authentication > Enterprise > [connecton-type] > [your-connection] > Provisioning >  Sync user profiles using SCIM >  Mapping にあるデフォルトの属性マップが使用されます。このマップは、接続の要件に合わせて編集およびカスタマイズできます。 RFC 7643 sections 3.1, 4.1,  and 4.3 で定義されている、SCIM のコア ユーザー属性を使用できます。
注記
1 対 1 のマッピング選択した SCIM 属性 (またはサブ属性) は、1 つの Auth0 属性にのみマッピングできます。
サブ属性のマッピングemails や phoneNumbers など、複数値の SCIM 属性内のサブ属性値は、eq 演算子を使用する SCIM フィルター構文で参照できます。例については、デフォルトの属性マップを参照してください。
マッピングできない属性SCIM の id 属性と meta 属性は、SCIM プロトコルのレスポンスでのみ Auth0 から送信されるため、マッピングできません。SCIM レスポンス内の id の値は常に Auth0 の user_id に設定され、SCIM の password 属性は Enterprise 接続では使用できません。
SCIM 属性の省略特定の SCIM 属性が属性マップで処理されるよう設定されていない場合、その属性はすべての SCIM リクエストおよびレスポンスで無視されます。
これらの SCIM 属性は、ユーザープロファイル上の Auth0 の root 属性および metadata 属性にマッピングできます。
注記
1 対 1 のマッピング選択した Auth0 属性は、1 つの SCIM 属性にのみマッピングできます。
root 属性のマッピングroot 属性にマッピングする場合は、User profile attributes に記載されている root 属性のみが SCIM クエリで検索可能である点に注意してください。この一覧にない属性を検索可能にする必要がある場合は、app_metadata に配置してください。
metadata 属性のマッピングuser_metadata は使用できますが、同期される属性には通常推奨されません。これは、エンドユーザーが直接編集できる属性を保存するためのものだからです。代わりに app_metadata または root 属性を使用してください。
blocked 属性の動作Auth0 の blocked 属性へのマッピングは、SCIM の active 属性にマッピングされている場合、特別な動作をします。activetrue または false が含まれていると、Auth0 はその値を反転し、Auth0 の blocked 属性をそれぞれ false または true に設定します。
Auth0 では、ログイン時にプロビジョニングされる属性と並行して、SCIM を使用して属性をプロビジョニングすることもできます。詳細については、以下の ログイン時に追加属性を同期する を参照してください。

ログと送信通知

Auth0 が受信したすべての SCIM リクエストの詳細は、Auth0 Dashboard の Monitoring > Logs セクションで確認できます。さらに、Custom Log Streams と SCIM ログストリームのフィルターカテゴリを使用して連携することで、SCIM によってユーザーが作成、更新、または削除された際に通知を受け取ることができます。

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

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

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

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

顧客が SCIM と をよりスムーズに設定できるようにするには、Okta Integration Network や、統合予定のその他のワークフォース向け IDプロバイダー統合ギャラリーにアプリケーションを掲載することを検討してください。

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

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

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

SCIMトークンを平文のまま、メール、または安全でないチャネルで送信しないでください。SendSafely のような安全な通信サービスを使用するか、アプリのセルフサービスコンソールを Auth0 Management API と統合して、顧客に SCIMトークンを直接発行してください。

情報の共有

顧客に Auth0 SCIM エンドポイントを提供する場合、それを問題なく利用するために、次の情報が必要になります。
  • Auth0 接続の SCIM エンドポイント URL
  • SCIM エンドポイント URL に必要な 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 を参照してください。

グループの同期

Auth0 は、RFC7644 Section 3.2 で定義されているグループオブジェクト全体およびグループメンバーシップをプロビジョニングするための /groups エンドポイントをサポートしていません。ただし、IDプロバイダーが SAML または Connect を介してグループのリストを送信できる場合は、ログイン時に属性を同期する方法について、前のセクションのガイドラインを参照してください。

組織

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

アカウントリンク

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

詳しくは