主な機能
現在、この API では以下を管理できます。- Auth0 組織 の詳細 (名前、ブランディング、表示名)
- 組織ごとの設定、所有権、関係性
- IDプロバイダー (IdPs) と SCIM のプロビジョニング
- ドメインとホームレルムディスカバリー (HRD) の設定
- Organization とその接続に関するサードパーティアプリケーションのアクセス設定
- 接続に関する Cross App Access (XAA) リソースアプリケーションの設定
My Organization API を使用すると、連携を技術的にきめ細かく制御できます。最短でデプロイするには、埋め込み可能な UI コンポーネント、SDK、サンプルアプリケーションから始めることを強くお勧めします。埋め込み可能な UI コンポーネントとサンプルアプリケーションを使用すると、顧客やエンドユーザーにセルフサービス体験を提供するまでの時間と労力を大幅に削減できます。
My Organization API を設定する
Auth0 Dashboard で My Organization API を有効化する
- Auth0 Dashboard > アプリケーション > APIs に移動します。
- My Organization API のバナーを見つけます。
- 有効化 を選択します。

- My Organization API が、アプリケーション > APIs の一覧に表示されます。
- Auth0 では、デフォルトですべてのクライアントアプリケーションでこの API が無効になります。
- クライアントグラント または RBAC ポリシーを使用して、アプリケーションとロールにアクセス権を付与する必要があります。
- 顧客企業は、自社の組織 に代わって、組織 の詳細を取得したり IdPs を設定したりできます。
デフォルト設定
Auth0 ドメインとカスタムドメイン My Organization API では、標準の Auth0 ドメインまたはカスタムドメインを使用できますが、次の各操作を含む一連のプロセス全体で、必ず同じドメインを使用する必要があります。- アクセストークンをリクエストする
- audience または
audの値を設定する - My Organization API エンドポイントを呼び出す
- ユーザーフローでは
require_client_grant - machine-to-machine フローでは
deny-all
allow_all に変更すると、テナント内の任意のアプリケーションが任意のスコープをリクエストできるようになります。
アプリケーションに最終的に付与される権限は、アプリケーション API アクセスポリシーで許可されるスコープ、エンドユーザーに割り当てられたロールベースのアクセス制御 (RBAC) の権限、およびユーザーが付与した同意 (該当する場合) の積集合によって決まります。
アプリケーション API アクセスポリシーと、それに関連付けられたクライアントグラントの管理方法の詳細については、Application Access to APIs: Client Grants をご覧ください。
トークンの有効期間
My Organization API は、有効期間が 600 秒 (10 分) に固定されたアクセストークンを発行します。この短い有効期間は、テナントとそのリソースを保護するための意図的なセキュリティ対策です。
My Organization API は、セキュリティ上の理由から常にオプトイン方式です。API を無効にすると、再度有効化するまで、接続されているすべてのアプリケーションからアクセスできなくなります。
クライアントアプリケーションの属性を設定する
My Organization API で使用するアプリケーションを作成します。作成後、Auth0 Dashboard > アプリケーション > APIs に移動し、アプリケーションに実行を許可するスコープを含めて My Organization API を認可します。 アプリケーションではmy_organization_configuration オブジェクトを指定する必要があります。指定しない場合、My Organization API はエラーを返してリクエストを拒否します。my_organization_configuration オブジェクトでは、次のプロパティを使用できます。
Connection Profile の
connection_profile_id は、Organization 管理者が My Organization API を介して接続を Cross App Access (XAA) リソースアプリケーションとして機能するように設定できるかどうかを制御します。
クライアントアプリケーション属性を設定する
- Auth0 Dashboard
- Management API
My Organization API の必須属性を設定するには、次の手順に従います。
- Dashboard > アプリケーション > APIs に移動し、My Organization API を選択します。
- Application Access タブを選択します。
- 設定するアプリケーションを選択し、Edit を選択します。
-
次の設定を行います。
A. 任意。Connection Profile を設定します。
- 既存の Connection Profile を選択するか、新しく作成します。新しい Connection Profile の場合:
a. 名前を追加します。
b. 新しい接続に対して意図した設定が接続属性に反映されていることを確認するため、マッピングを確認します。
- 名前を追加します。
- プロファイル属性が希望する Auth0 の属性にマッピングされていることを確認するため、マッピングを確認します。
- 1 つ以上の IDプロバイダー を有効にします。Organization 管理者は、有効化されたプロバイダーの一覧から希望するオプションを選択できます。
- Allow: ユーザーが適切なスコープを持っている場合、接続を削除できます。その結果、その接続に由来するすべての Users も削除されます。
- Allow if Empty: ユーザーが適切なスコープを持っている場合、接続内に Users が存在しないときにのみ接続を削除できます。Users が存在する場合、My Organization API はエラーを返し、削除は実行されません。
F. ユーザーアクセスの認可を Unauthorized、Authorized、または All に設定します。
- Unauthorized。権限は付与されません。
- Authorized。必要な権限を選択します。
- All。既存および今後追加されるすべての権限が含まれます。
- Unauthorized。権限は付与されません。
- Authorized。必要な権限を選択します。
- All。既存および今後追加されるすべての権限が含まれます。
- 既存の Connection Profile を選択するか、新しく作成します。新しい Connection Profile の場合:
- Save を選択します。
アクセストークンを生成する
My Organization API は、サポートされている OAuth 2.0フロー のいずれかを通じて取得した、ユーザーに紐付けられたアクセストークンでのみ呼び出せます。My Organization API で機密性の高い操作を許可する場合は、多要素認証 (MFA) によって追加のセキュリティポリシーを適用するために、ステップアップ認証 を使用することを強くお勧めします。
認可コードフローの例
を持つ confidential な Web アプリケーションでは、認可コードフロー を使用します。PKCE を使用した Authorization Code フローの例
Client Secret を持たないパブリックアプリケーション、シングルページアプリケーション、モバイルまたはネイティブアプリケーション、CLI ツールには、PKCE を使用した Authorization Code フローを使用します。Audience
My Organization API の audience とベース URL はhttps://{yourDomain}/my-org/ です。トークンには https://YOUR_DOMAIN/my-org/ という audience を含める必要があります。ほかの API (/me や /api/v2/ など) 用のトークンは使用できません。
スコープ
エンドポイントリファレンス
My Organization API は、Configuration、組織の詳細、アイデンティティプロバイダー、ドメイン、プロビジョニング設定、SCIM トークンに関するエンドポイントをサポートしています。スキーマやエラーコードなどを含むエンドポイントの完全なリファレンスについては、API Explorerを参照してください。SDK リファレンス
API は、TypeScript、Java、.NET、Go、Python 向けの SDK として提供されています。各 SDK 実装の詳細や SDK の活用例については、SDK ドキュメントを参照してください。ユーザープロファイル
My Organization API は、Connection Profiles と User Attribute Profiles を使用して、サードパーティの顧客が作成する設定の構造、制限、ルールを定義します。Connection Profile (CP)
Connection Profile を使用すると、サードパーティが Auth0 接続を作成する際に、その非公開設定をどのように構成するかを Auth0 開発者が指定できます。Connection Profile の仕組み、属性マッピングと上書き設定、例、設定方法について詳しくは、Connection Profiles を参照してください。User Attribute Profile (UAP)
User Attribute Profile (UAP) は、SCIM、SAML、OIDC などのプロトコル全体でユーザー属性を一貫して定義、管理、マッピングするための仕組みを提供します。UAP の動作の仕組み、属性マッピングと overrides、例、設定方法の詳細については、User Attribute Profiles をご覧ください。レート制限
レート制限は、サービスティアに応じて適用されます。Organization ごとのレート制限
サービスティアのレート制限に加えて、My Organization API では Organization ごとのレート制限も適用されます。これらの制限は、リソースの公平な割り当てを確保し、単一の Organization がテナント全体のパフォーマンスに影響を及ぼすのを防ぐために設けられています。こうした上限を設けることで、「ノイジーネイバー」問題を軽減し、1 つの Organization でアクティビティが急増しても、共有リソースが消費されたり、同じ環境内の別の Organization に影響が及んだりしないようにしています。各 Organization には、読み取り操作と書き込み操作の両方について、1 秒あたりのリクエスト数 (RPS) が個別に割り当てられます。クロスオリジン リクエスト
Auth0 テナントとは異なるドメインで動作するブラウザベースのアプリケーション (Single Page Application など) から My Organization API を直接呼び出す場合は、クロスオリジン リソース共有 (CORS) と呼ばれるブラウザのセキュリティポリシーの影響を受けます。既定では、ブラウザはこのようなクロスオリジン リクエストをブロックします。 アプリケーションから API に正常にリクエストを送信できるようにするには、アプリケーションのドメイン (「オリジン」) をクライアントの設定に追加する必要があります。- Auth0 Dashboard > アプリケーション に移動し、対象のアプリケーションを選択します。
- Cross-Origin Authentication で、Allow Cross-Origin Authentication をオンにします。
- Allowed Origins (CORS) を見つけて、アプリケーションのオリジン URL を入力します。
- Save を選択します。
アプリケーションで CORS を使用する必要がない場合は、Allow Cross-Origin Authentication がオフになっていることを確認してください。アプリケーションの URL をこのリストに追加すると、Auth0 はそのオリジンからのリクエストを信頼し、クライアントサイドのアプリケーションが API にアクセスできるようになります。
ログイベント
きめ細かな監査と監視を可能にするため、My Organization API は、この API 固有のログイベント一式を生成します。テナントは引き続き標準のシステムログを出力しますが、以下の表には、My Organization API のアクティビティによって特にトリガーされるイベントタイプの完全な一覧を示しています。 これらのイベントコードを使用すると、API で管理されるすべてのリソース、具体的には設定、組織の詳細、IdP、ドメインにわたるアクティビティを追跡できます。ログイベントのスキーマの詳細については、GitHubリポジトリを参照してください。組織の接続の所有権
この API では、Tenant Admin によって管理される接続と、組織が自ら管理する接続を区別するために、所有権モデルが導入されています。これはorganization_access_level プロパティで制御されます。
主要プロパティ: organization_access_level
接続用の Management API エンドポイント:
GET/api/v2/organizations/{id}/connectionsPOST/api/v2/organizations/{id}/connectionsPATCH/api/v2/organizations/{id}/connections/{id}DELETE/api/v2/organizations/{id}/connections/{id}
/connections エンドポイントを呼び出す際は、/enabled_connections エンドポイントと同じスコープを使用します。
create:organization_connectionsread:organization_connectionsdelete:organization_connectionsupdate:organization_connections
注記:
- これらのエンドポイントは、任意のクエリパラメータ
is_enabled=true/falseを受け付けます。指定した場合は、指定されたis_enabled値を持つ接続のみが表示されます。 organization_access_levelは Management API 経由でのみ変更できます。name属性が設定されていない場合は、organization_access_levelをnoneから他の値に変更する前に、Management API 経由で設定しておく必要があります。