> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# My Organization API リファレンス

> Auth0 の My Organization API に関するドキュメント

<Badge>バージョン: 1.0 (現行) </Badge>

<Warning>
  <p class="uppercase font-bold">Early Access</p>

  My Organization API と埋め込み可能な UI コンポーネントは、現在、すべてのお客様に Early Access として提供されています。この機能を使用することで、[Okta’s Master Subscription Agreement](https://www.okta.com/legal/) に定められた該当する Free Trial 条項に同意したものとみなされます。Auth0 の製品リリースサイクルの詳細については、[Product Release Stages](/ja/docs/troubleshoot/product-lifecycle/product-release-stages) を参照してください。お客様は、My Organization API と埋め込み可能な UI コンポーネントの利用が、エンドユーザーに付与した権限を含め、自社のセキュリティポリシーおよび適用法令に準拠していることを確保する責任を負います。
</Warning>

Auth0 My Organization API は、ビジネス顧客が Auth0 テナント内で自社の組織を管理できるようにする、安全な組織スコープのインターフェースを提供します。この API は、埋め込み型 Delegated Administration と API ファーストの統合を支える技術的基盤です。

My Organization API のドキュメントは、[My Organization API OpenAPI v3.1 schema](https://auth0.com/docs/oas/myorganization/myorganization-api-oas.json) に従っています。OpenAPI v3.1 スキーマのサポートは現在 Beta であることに注意してください。

<Tip>
  <p class="uppercase font-bold">Auth0 ドメインとカスタムドメインの使い分け</p>

  My Organization API では、標準の Auth0 ドメインまたはカスタムドメインを使用できますが、次の項目を含むプロセス全体を通じて、同じドメインを使用する必要があります。

  * アクセストークンの取得
  * `audience` 値の設定
  * My Organization API エンドポイントの呼び出し

  詳細については、[Custom Domains](https://auth0.com/docs/customize/custom-domains) を参照してください。
</Tip>

<div id="activate-the-my-organization-api-in-auth0-dashboard">
  ## Auth0 Dashboard で My Organization API を有効にする
</div>

1. **[Auth0 Dashboard > Applications > APIs](https://manage.auth0.com/#/apis)** に移動します。
2. My Organization API のバナーを見つけます。
3. **Activate** を選択します。
4. Applications > APIs の一覧に My Organization API が表示されます。

<img src="https://mintcdn.com/translations/raZlN0BXDjNonwyb/docs/images/api/myorganization/My_Organization_API_-_Activate.png?fit=max&auto=format&n=raZlN0BXDjNonwyb&q=85&s=2c9b39b95c28ff9ef3aaddb92d710a99" width="1200" height="292" data-path="docs/images/api/myorganization/My_Organization_API_-_Activate.png" />

My Organization API を有効にすると、次のようになります。

* デフォルトでは、この API はすべてのクライアントアプリケーションに対して無効です。
* [クライアントグラント](/ja/docs/get-started/applications/application-access-to-apis-client-grants) または [RBAC](/ja/docs/manage-users/access-control/configure-core-rbac/enable-role-based-access-control-for-apis) ポリシーを使用して、アプリケーションとロールにアクセス権を付与する必要があります。
* お客様のビジネス顧客は、自社の組織の詳細を取得したり、自社の組織の IDプロバイダー (IdP) を設定したりできます。

デフォルトでは、My Organization API は次のアプリケーション API アクセスポリシーで有効になります。

`require_client_grant` はユーザーフロー用
`deny-all` はクライアント (マシンツーマシン) フロー用

アプリケーションがユーザーに代わって My Organization API にアクセスするには、そのアプリケーション用のクライアントグラントを明示的に作成する必要があります。これにより、アプリケーションがリクエストできる最大スコープを定義できます。あるいは、ユーザーアクセスフローのポリシーを `allow_all` に変更することもできます。これにより、テナント内の任意のアプリケーションが My Organization API に対して任意のスコープをリクエストできるようになります。

My Organization API は機密性の高い情報や操作を扱うため、Auth0 はユーザーアクセスフローで `allow_all` を使用することを推奨していません。My Organization API では最小権限の原則に従い、アプリケーションが本当に必要なアクセス権だけを取得できるようにして、潜在的なセキュリティリスクを最小限に抑える必要があります。

アプリケーションに最終的に付与される権限は、アプリケーション API アクセスポリシーで許可されるスコープ、エンドユーザーに割り当てられたロールベースアクセス制御 (RBAC) の権限、およびユーザーの同意 (該当する場合) の積集合によって決まります。

アプリケーション API アクセスポリシーと、それに関連付けられたクライアントグラントの管理方法について詳しくは、[Application Access to APIs: Client Grants](https://auth0.com/docs/get-started/applications/application-access-to-apis-client-grants) を参照してください。

<div id="client-application-attributes">
  ## クライアントアプリケーションの属性
</div>

My Organization API で使用する[アプリケーションを作成](/ja/docs/get-started/auth0-overview/create-applications)します。作成後、**[Auth0 Dashboard > Applications > APIs](https://manage.auth0.com/#/apis)** に移動し、アプリケーションに許可するスコープを含めて My Organization API を認可します。

クライアントアプリケーションでは、次のプロパティを含む特定の設定オブジェクト (`my_organization_configuration`) を指定する必要があります。

| **プロパティ**                                                    | **説明**                                                                                                                                                                                                                                                                                                                                                                 |
| ------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `my_organization_configuration`                              | **オブジェクト。** アプリケーションでは、My Organization API が参照する設定を含むこのオブジェクトを指定する必要があります。アプリケーションでこのオブジェクトが定義されていない場合、My Organization API はエラーを返してリクエストを拒否します。                                                                                                                                                                                                                        |
| `my_organization_configuration.connection_profile_id`        | **接続プロファイル ID。** My Organization API の利用時にアプリケーションで使用する[接続プロファイル](/ja/docs/authenticate/enterprise-connections/connection-profile)の ID です。指定しない場合、接続プロファイルが必要な My Organization API の機能は動作しません。この ID は、同じテナント内の有効な接続プロファイルを参照している必要があります。                                                                                                                               |
| `my_organization_configuration.user_attribute_profile_id`    | **ユーザー属性プロファイル ID**。My Organization API の利用時にアプリケーションで使用する[ユーザー属性プロファイル](/ja/docs/authenticate/enterprise-connections/user-attribute-profile)の ID です。指定しない場合、ユーザー属性プロファイルが必要な My Organization API の機能は動作しません。この ID は、同じテナント内の有効なユーザー属性プロファイルを参照している必要があります。                                                                                                            |
| `my_organization_configuration.allowed_strategies`           | **文字列の配列。** 各文字列は一意で、サポートされているストラテジーを表します。サポートされているストラテジー (列挙値) は次のとおりです: `pingfederate`, `ad`, `adfs`, `waad`, `google-apps`, `okta`, `oidc`, `samlp`。                                                                                                                                                                                                                |
| `my_organization_configuration.connection_deletion_behavior` | **列挙値 (allow, allow\_if\_empty) 。** このアプリケーションから My Organization API 経由でエンドユーザーが接続の削除を試行したときに、My Organization API がどのように動作するかを示します。列挙値とその説明は次のとおりです: <p /> 1. `allow`: ユーザーが適切なスコープを持っている場合、接続を削除できます。その結果、その接続に由来するすべてのユーザーが削除されます。 <p /> 2.`allow_if_empty`: ユーザーが適切なスコープを持っている場合でも、接続内にユーザーが存在しない場合にのみ接続を削除できます。ユーザーが存在する場合、My Organization API はエラーを返し、削除は実行されません。 |

<div id="get-an-access-token">
  ## アクセストークンを取得する
</div>

My Organization API のアクセストークンは、独自の API 用のアクセストークンを取得する場合と同じ方法で取得できます。

<Note>
  <p class="uppercase font-bold">機微な操作</p>

  My Organization API に機微な操作 (認証方法の登録など) を許可する場合は、[ステップアップ認証](https://auth0.com/docs/secure/multi-factor-authentication/step-up-authentication)を使用して、[多要素認証 (MFA) ](https://auth0.com/docs/secure/multi-factor-authentication)による追加のセキュリティポリシーを適用することを強く推奨します。
</Note>

<div id="examples">
  ## 例
</div>

<div id="authorization-code-flow-example">
  ### Authorization Code Flow の例
</div>

クライアントシークレットを使用する機密性の高い Web アプリケーションでは、[Authorization Code Flow](/ja/docs/get-started/authentication-and-authorization-flow/authorization-code-flow) を使用します。

```bash theme={null}
curl --request POST \
--url 'https://YOUR_DOMAIN/oauth/token' \
--header 'content-type: application/x-www-form-urlencoded' \
--data 'grant_type=authorization_code' \
--data 'client_id=YOUR_CLIENT_ID' \
--data 'client_secret=YOUR_CLIENT_SECRET' \
--data 'code=AUTH_CODE' \
--data 'redirect_uri=https://yourapp/callback' \
--data 'audience=https://YOUR_DOMAIN/my-org/'
```

**レスポンス例**

```json theme={null}
{
  "access_token": "eyJz93a...k4laUWw",
  "token_type": "Bearer",
  "expires_in": 900,
  "scope": "read:my_org:details update:my_org:identity_providers"
}
```

<div id="authorization-code-flow-with-pkce-example">
  ### PKCE を使用した Authorization Code Flow の例
</div>

クライアントシークレットを持たないパブリックアプリケーション、シングルページアプリケーション、モバイルアプリケーションまたはネイティブアプリケーション、CLI ツールには、[Proof Key for Code Exchange (PKCE) を使用した Authorization Code Flow](/ja/docs/get-started/authentication-and-authorization-flow/authorization-code-flow-with-pkce) を使用します。

```bash theme={null}
curl --request POST \
--url 'https://YOUR_DOMAIN/oauth/token' \
--header 'content-type: application/x-www-form-urlencoded' \
--data 'grant_type=authorization_code' \
--data 'client_id=YOUR_CLIENT_ID' \
--data 'code=AUTH_CODE' \
--data 'code_verifier=CODE_VERIFIER' \
--data 'redirect_uri=https://yourapp/callback' \
--data 'audience=https://YOUR_DOMAIN/my-org/'
```

<div id="profiles">
  ## プロファイル
</div>

My Organization API では、サードパーティの顧客が作成する構成の構造、制限、ルールを定義するために、[接続プロファイル](/ja/docs/authenticate/enterprise-connections/connection-profile) と [ユーザー属性プロファイル](/ja/docs/authenticate/enterprise-connections/user-attribute-profile) を使用します。

<div id="connection-profile-cp">
  ### 接続プロファイル (CP)
</div>

接続プロファイルを使用すると、Auth0 開発者は、サードパーティが Auth0 の接続を作成する際に、そのプライベート設定をどのように構成するかを指定できます。接続プロファイルの仕組み、属性マッピングとオーバーライド、例、構成方法の詳細については、[Connection Profiles](/ja/docs/authenticate/enterprise-connections/connection-profile) を参照してください。

<div id="user-attribute-profile-uap">
  ### ユーザー属性プロファイル (UAP)
</div>

ユーザー属性プロファイル (UAP) は、SCIM、SAML、OIDC などのプロトコル間でユーザー属性を定義、管理、マッピングするための統一的な方法を提供します。UAP の仕組み、属性マッピングとオーバーライド、例、および設定方法の詳細については、[User Attribute Profiles](/ja/docs/authenticate/enterprise-connections/user-attribute-profile) を参照してください。

<div id="rate-limits">
  ## レート制限
</div>

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

| **ティア**                 | **読み取り (RPS)** | **書き込み (RPS)** |
| ----------------------- | -------------- | -------------- |
| **Free**                | 4              | 2              |
| **Public Self-Service** | 8              | 4              |
| **Public Enterprise**   | 40             | 20             |
| **Private Basic**       | 40             | 20             |
| **Private Performance** | 160            | 80             |

<div id="per-organization-rate-limits">
  ### 組織ごとのレート制限
</div>

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

| **ティア**                 | **組織ごとの読み取り (RPS)** | **組織ごとの書き込み (RPS)** |
| ----------------------- | ------------------- | ------------------- |
| **Free**                | 4                   | 2                   |
| **Public Self-Service** | 4                   | 2                   |
| **Public Enterprise**   | 8                   | 4                   |
| **Private Basic**       | 8                   | 4                   |
| **Private Performance** | 16                  | 8                   |

<div id="authentication">
  ### 認証
</div>

<Tabs class="width-1/2" borderBottom>
  <Tab title="HTTP: Bearer 認証">
    API の構成に応じて、Bearer トークンと DPoP トークンがサポートされます

    |                 |        |
    | --------------- | ------ |
    | セキュリティスキームのタイプ: | http   |
    | HTTP 認証スキーム:    | bearer |
  </Tab>
</Tabs>
