Skip to main content
My Organization API と埋め込み可能な UI コンポーネントは現在、すべてのお客様に早期アクセスで提供されています。この機能を使用することで、お客様は Okta’s Master Subscription Agreement に定められた該当する Free Trial 条項に同意したものとみなされます。Auth0 の製品リリース サイクルの詳細については、Product Release Stages を参照してください。お客様は、My Organization API と埋め込み可能な UI コンポーネントの利用が、お客様のセキュリティ ポリシーおよび適用法令 (エンドユーザーに付与するあらゆる権限を含む) に準拠していることを確保する責任を負います。
Auth0 My Organization API は、Auth0 テナント内でお客様のビジネス顧客が自身の組織を管理できるようにする、組織スコープの安全なインターフェースを提供します。この API は、埋め込み型の委任管理と API ファーストの統合を支える技術基盤です。

主要機能

現在、この API では次の項目を管理できます。
  • Auth0 組織 の詳細 (名前、ブランディング、表示名)
  • 組織固有の設定、所有権、関連付け
  • IDプロバイダー (IdP) SCIM のプロビジョニング
  • ドメインとホーム レルム ディスカバリー (HRD) の設定
My Organization API を使用すると、統合を技術的にきめ細かく制御できます。最短でデプロイするには、まず 埋め込み可能な UI コンポーネント、SDK、サンプルアプリケーションから始めることを強くお勧めします。埋め込み可能な UI コンポーネントとサンプルアプリケーションを使用すると、お客様やエンドユーザーにセルフサービスエクスペリエンスを提供するまでの時間と労力を大幅に削減できます。

My Organization API の設定

Auth0 Dashboard で My Organization API を有効化する

  1. Auth0 Dashboard > Applications > APIs に移動します。
  2. My Organization API のバナーを探します。
  3. Activate を選択します。
    Auth0 Dashboard>Authentication>APIs
  4. API が Applications > API の一覧に My Organization API として表示されます。
My Organization API を有効化すると、次のようになります。
  • Auth0 では、デフォルトですべてのクライアントアプリケーションに対してこの API が無効になります。
  • クライアントグラント または RBAC ポリシーを使用して、アプリケーションとロールにアクセスを付与する必要があります。
  • 顧客企業は、自社の組織の詳細を取得したり、自社の組織向けに IdP を設定したりできます。

既定の設定

Auth0 ドメインとカスタムドメイン My Organization API では、正規の Auth0 ドメインまたはカスタムドメインを使用できますが、次の内容を含むプロセス全体を通して、同じドメインを使用する必要があります。
  • アクセストークンをリクエストする
  • オーディエンスまたは aud の値を設定する
  • My Organization API のエンドポイントを呼び出す
Auth0 でカスタムドメインを使用する方法の詳細については、Custom Domains を参照してください。 アクセスポリシー デフォルトでは、My Organization API には次のアプリケーション API アクセスポリシーが適用されます。
  • ユーザーフローでは require_client_grant
  • マシン間フローでは deny-all
アプリケーションがユーザーに代わって My Organization API にアクセスするには、そのアプリケーションのクライアントグラントを作成し、アプリケーションがリクエストできる最大のスコープを定義します。あるいは、ユーザーアクセスフローを allow_all に変更することで、テナント内の任意のアプリケーションが任意のスコープをリクエストできるようにすることもできます。
My Organization API は機密性の高い情報や操作を扱うため、Auth0 はユーザーアクセスフローで allow_all を使用することを推奨していません。アプリケーションには本当に必要なアクセス権のみを付与し、潜在的なセキュリティリスクを最小限に抑えるために、最小権限の原則に従ってください。
最終的にアプリケーションに付与される権限は、アプリケーション API アクセスポリシーで許可されたスコープ、エンドユーザーに割り当てられたロールベースアクセス制御 (RBAC) の権限、およびユーザーの同意 (該当する場合) の共通部分によって決まります。 アプリケーション API アクセスポリシーと、それに関連付けられたクライアントグラントの管理方法の詳細については、Application Access to APIs: Client Grants を参照してください。 トークンの有効期間 My Organization API は、有効期間が 600 秒 (10 分) に固定されたアクセストークンを発行します。この短い有効期間は、テナントとそのリソースを保護するために意図的に設けられたセキュリティ対策です。
My Organization API は、セキュリティ上の理由から常にオプトイン方式です。API を無効にすると、再度有効にするまで、接続されているすべてのアプリケーションからアクセスできなくなります。

クライアントアプリケーションの属性を設定する

My Organization API で使用するために、Auth0 でアプリケーションを作成します。作成後、Auth0 Dashboard > Applications > APIs に移動し、アプリケーションで必要なスコープを含めて My Organization API を認可します。 アプリケーションでは my_organization_configuration オブジェクトを指定する必要があります。指定しない場合、My Organization API はエラーを返してリクエストを拒否します。my_organization_configuration オブジェクトでは、次のプロパティを使用できます。

クライアントアプリケーションの属性を設定する

My Organization API に必要な属性を設定するには、次の手順を実行します。
  1. Dashboard > Applications > APIs に移動し、My Organization API を選択します。
  2. Application Access タブを選択します。
  3. 設定するアプリケーションを選択し、Edit を選択します。
  4. 次の設定を行います。
    A. 任意。接続プロファイル を設定します。
    1. 既存の 接続プロファイル を選択するか、新しく作成します。新しい 接続プロファイル を作成する場合:
      a. 名前を追加します。
      b. マッピングを確認し、新しい接続の属性に目的の設定が反映されていることを確認します。
    B. 任意。ユーザー属性プロファイルを設定します。
    1. 名前を追加します。
    2. マッピングを確認し、プロファイル属性が希望する Auth0 の属性にマップされていることを確認します。
    C. サポート対象の IDプロバイダー を設定します。
    1. 1 つ以上の IDプロバイダー を有効にします。顧客管理者は、有効化されたプロバイダーの一覧から希望するオプションを選択できます。
    D. Connection Deletion Behavior を Allow または Allow if Empty に設定します。
    1. Allow: ユーザーが適切なスコープを持っている場合、接続を削除できます。この操作により、その接続に由来するすべてのユーザーが削除されます。
    2. Allow if Empty: ユーザーが適切なスコープを持っている場合、接続内にユーザーが存在しないときにのみ接続を削除できます。ユーザーが存在する場合、My Organization API はエラーを返し、削除は実行されません。
    E. User Access Authorization を Unauthorized、Authorized、または All に設定します。
    1. Unauthorized。権限は許可されません。
    2. Authorized。必要な権限を選択します。
    3. All。現在および今後追加されるすべての権限が含まれます。
    F. Client Credential Access Authorization を Unauthorized、Authorized、または All に設定します。
    1. Unauthorized。権限は許可されません。
    2. Authorized。必要な権限を選択します。
    3. All。現在および今後追加されるすべての権限が含まれます。
  5. Save を選択します。

アクセストークンを生成する

My Organization API は、サポートされている OAuth 2.0 フロー のいずれかで取得した、ユーザーに紐づくアクセストークンでのみ呼び出せます。
My Organization API に機密性の高い操作を許可する場合は、多要素認証 (MFA) によって追加のセキュリティポリシーを適用するため、ステップアップ認証 の使用を強く推奨します。

Authorization Code Flow の例

を使用する機密Webアプリケーションでは、Authorization Code Flow を使用します。
レスポンス例

PKCE を使用する認可コードフローの例

クライアントシークレットを持たないパブリックアプリケーション、シングルページアプリケーション、モバイルまたはネイティブアプリケーション、および CLI ツールでは、PKCE を使用する認可コードフロー を使用します。

対象者

My Organization API のオーディエンスおよびベース URL は https://{yourDomain}/my-org/ です。トークンには、オーディエンスとして https://YOUR_DOMAIN/my-org/ を含める必要があります。他の API (/me/api/v2/ など) 用のトークンは使用できません。

Scopes

エンドポイント リファレンス

My Organization API は、構成、組織の詳細、IDプロバイダー、ドメイン、プロビジョニング構成、SCIM トークンに関するエンドポイントをサポートしています。スキーマやエラーコードなどを含むエンドポイントの完全なリファレンスについては、API Explorer を参照してください。

SDK リファレンス

この API は、TypeScript、Java、.NET、Go、Python 向けの SDK として提供されています。各 SDK 実装の詳細や、SDK の活用方法の例については、SDK documentation を参照してください。

ユーザープロフィール

My Organization API は、サードパーティの顧客が作成する設定の構造、制約、ルールを定義するために、接続プロファイルユーザー属性プロファイル を利用します。

接続プロファイル (CP)

接続プロファイルを使用すると、サードパーティによって作成される場合に、Auth0 開発者は Auth0 接続のプライベート設定をどのように構成するかを指定できます。接続プロファイルの仕組み、属性マッピングとオーバーライド、例、設定方法の詳細については、Connection Profiles を参照してください。

ユーザー属性プロファイル (UAP)

ユーザー属性プロファイル (UAP) は、SCIM、SAML、OIDC などのプロトコル全体で、ユーザー属性を一貫した方法で定義、管理、マッピングできるようにします。UAP の仕組み、属性マッピングとオーバーライド、例、設定方法の詳細については、ユーザー属性プロファイル を参照してください。

レート制限

レート制限は、サービスティアに応じて適用されます。

組織ごとのレート制限

サービスティアのレート制限に加えて、My Organization API では組織ごとのレート制限も適用されます。これらの制限は、リソースを公平に割り当て、特定の組織がテナント全体のパフォーマンスに影響を及ぼさないようにするために設けられています。こうした上限を設けることで、「ノイジーネイバー」問題を軽減し、ある組織でアクティビティが急増しても、共有リソースが過度に消費されたり、同じ環境内の他の組織に影響が及んだりしないようにしています。各組織には、読み取り操作と書き込み操作それぞれについて、1 秒あたりのリクエスト数 (RPS) が個別に割り当てられます。

クロスオリジンリクエスト

Auth0テナントとは異なるドメインで実行されているブラウザーベースのアプリケーション (Single Page Application など) から My Organization API を直接呼び出そうとすると、Cross-Origin Resource Sharing (CORS) と呼ばれるブラウザーのセキュリティポリシーの影響を受けます。既定では、ブラウザーはこのようなクロスオリジンリクエストをブロックします。 アプリケーションから API に正常にリクエストを送信できるようにするには、アプリケーションのドメイン (「オリジン」) をクライアントの設定に追加する必要があります。
  1. Auth0 Dashboard > Applications に移動します。対象のアプリケーションを選択します。
  2. Cross-Origin Authentication で、Allow Cross-Origin Authentication をオンにします。
  3. Allowed Origins (CORS) を見つけて、アプリケーションのオリジン URL を入力します。
  4. Save を選択します。
アプリケーションで CORS を使用する必要がない場合は、Allow Cross-Origin Authentication がオフになっていることを確認してください。このリストにアプリケーションの URL を追加すると、Auth0 はそのオリジンからのリクエストを信頼し、クライアントサイドアプリケーションが API にアクセスできるようになります。

ログイベント

きめ細かな監査とモニタリングを実現するため、My Organization API はこの API 固有のログイベントセットを生成します。テナントでは引き続き標準のシステムログが出力されますが、以下の表は、特に My Organization API のアクティビティによって発生するイベントタイプの完全な一覧を示しています。 これらのイベントコードを使用すると、API によって管理されるすべてのリソース、具体的には設定、組織の詳細、IdP、ドメインにわたるアクティビティを追跡できます。ログイベントスキーマの詳細については、GitHub リポジトリを参照してください。

組織接続の所有権

この API では、テナント管理者が管理する接続と、組織が自ら管理する接続を区別するために、所有権モデルが導入されています。これは organization_access_level プロパティで制御されます。 主要なプロパティ: organization_access_level 接続の Management API エンドポイント: /connections エンドポイントを呼び出すときは、/enabled_connections エンドポイントと同じスコープを使用します。
  • create:organization_connections
  • read:organization_connections
  • delete:organization_connections
  • update:organization_connections
追加のスキーマ属性を確認してください。 注意:
  • これらのエンドポイントは、省略可能なクエリパラメーター is_enabled=true/false を受け付けます。指定した場合は、指定された is_enabled 値を持つ接続のみが表示されます。
  • organization_access_level は Management API でのみ変更できます。
  • name 属性が設定されていない場合は、organization_access_levelnone から他の値に変更する前に、Management API で設定する必要があります。

Auth0 Universal Components

API ファーストの統合ではなく、まずは埋め込み可能な UI コンポーネントである Auth0 Universal Components の利用を強くお勧めします。これらのリソースを利用することで、開発時間を大幅に短縮し、顧客にセルフサービス体験を迅速に提供できます。