Skip to main content

開始前の準備

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

エンタープライズ接続で Inbound SCIM を有効にする

  1. Auth0 Dashboard を開き、設定するテナントを選択します。
  2. Authentication > Enterprise に移動し、SAMLOpenID ConnectOkta WorkforceMicrosoft 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 でテストする

以下の Postman コレクションをダウンロードすると、SCIM の設定をテストできます。
  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. 表示されている順序でテストを実行します。Groups のテストを実行する前に、有効なユーザーが存在するよう Users - POST コマンドを先に実行する必要がある点に注意してください。各ユーザー操作およびグループ操作の結果は、Auth0 Dashboard の User Management > UsersUser Management > Enterprise Groups で確認できます。各 SCIM 操作の詳細は、Monitoring > Logs のテナントログで確認できます。
特定のアイデンティティプロバイダーでテストするには、SAML または OpenID を使用して IDプロバイダー向けに Inbound SCIM を設定する を参照してください。

サポートされている SCIM 操作

Auth0 は、ユーザーとグループを管理するために、以下の SCIM 2.0 操作をサポートしています。 Auth0 は、ユーザーリソースに対して SCIM 2.0 の core schemaEnterprise schema をサポートしています。 Auth0 は、グループリソースに対して SCIM 2.0 の core schema をサポートしていますが、サポートされるメンバータイプは “user” のみです。Microsoft Entra 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 クライアントは特定のアイデンティティプロバイダーに対して Auth0 に保存されているユーザーとグループを管理できます。 Generate New Token オプションでは、この SCIM エンドポイント用に最大 2 つの有効なトークンを生成できます。これにより、SCIM クライアントで使用するトークンをダウンタイムなしで更新できます。 また、この画面で Delete を選択してトークンを取り消すこともできます。
SCIM トークン設定の Dashboard 画面
使用できるトークン生成設定は次のとおりです。
  • No expiration date: トークンを無期限にするかどうかを選択します。
  • Expiration date in seconds: トークンに有効期限を設定する場合は、その有効期限を選択できます。トークンの有効期限が切れると、次回そのトークンが使用された際に SCIM エンドポイントはエラーレスポンスを返します。設定できる最小の有効期限は 900 秒です。
  • List of permissions (scopes): このトークンで実行できる 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 を超える Group に対する POST または PUT 操作では、ログのサイズ制限により、members 属性はログに表示されません。 Auth0 から外部システムに SCIM でプロビジョニングされたユーザー、グループ、グループメンバーシップを同期する方法については、Sync Users and Groups to External Systems を参照してください。

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

以下のセクションでは、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 の ルート 属性と メタデータ 属性にマッピングできます。 Auth0 では、ログイン時にプロビジョニングされる属性と並行して、SCIM を使用して属性をプロビジョニングすることもできます。詳しくは、次のセクションを参照してください。

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

/OIDC と SCIM で同じユーザー属性セットをサポートしていないアイデンティティプロバイダーと連携する場合は、SCIM プロビジョニングと併せて Sync user profile attributes at login を有効にすることで、追加の属性にアクセスできます。 Sync user profile attributes at login を有効にすると、ユーザーがログインするたびに、ユーザープロファイル上のすべての root 属性が上書きされます。SCIM とログイン時の同期で競合が起きる可能性を避けるため、次のガイドラインに従ってください。
  • emailusername などの Auth0 の一般的なルート属性が 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 メンバーシップを付与する で説明されているように、接続で Enable Auto-Membership 設定が必要です。

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

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

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

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

グループでロールを使用する

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

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

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

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

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

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

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

デプロイのガイドライン

効率的なセットアップのために連携ギャラリーを活用する

SCIM と の両方について、お客様に最適化されたセットアップ体験を提供するには、Okta Integration Network や、連携を予定しているその他のワークフォース向けアイデンティティプロバイダーの連携ギャラリーに、アプリケーションを掲載することを検討してください。 現在 Auth0 は、Okta Integration Network に公開されたアプリケーション向けに OpenID Connect、SCIM、Universal Logout のセットアップを自動化する Okta との Express Configuration をサポートしています。

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

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

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

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

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

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

Management API

エンタープライズ接続の SCIM 設定は、Auth0 Management API を使用して自動化できます。詳しくは、Management API を使用した Inbound SCIM デプロイの管理をご覧ください。 SCIM 経由で Auth0 テナントに作成されたすべてのエンタープライズユーザーとグループは、Auth0 Management API を使用して検索、表示、削除することもできます。利用可能な Management API エンドポイントは次のとおりです。

詳細はこちら