> ## 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.

> Auth0のレート制限ポリシーについて説明します。

# レート制限ポリシー

Auth0は、最適なパフォーマンスを維持し、<Tooltip tip="Bad Actors: 危害を加える意図を持って、ビジネスや環境に脅威をもたらす存在（個人または集団）。" cta="用語集を見る" href="/docs/ja-jp/glossary?term=bad+actors">悪意のある主体</Tooltip>、技術的なエラー、または過剰な正当なトラフィックから保護するために、サービスの利用を制限しています。  最適なユーザー体験を実現できるよう、Auth0がどのように制限を適用しているかを確認し、それに合わせてアプリケーションを設定することをお勧めします。

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  アカウントに適用されるレート制限を確認するには、すべてのレート制限ポリシーを一覧で確認できる[レート制限の構成](/docs/ja-jp/troubleshoot/customer-support/operational-policies/rate-limit-policy/rate-limit-configurations)を参照してください。
</Callout>

<div id="introduction-to-rate-limits">
  ## レート制限の概要
</div>

Auth0 では、過剰なリクエストからサービスを保護し、サービスの中断や品質低下からお客様を守るために、各種の制限を設けています。

Auth0 はさまざまな制限を監視しており、多くの場合、それらを適用しています。たとえば、次のようなものがあります。

* 環境へのリクエスト (Private Cloud のみ)
* API または API エンドポイント経由のテナントへのリクエスト
* その他の制限

<div id="environment-request-limits-private-cloud-only">
  ### 環境ごとのリクエスト制限 (Private Cloud のみ)
</div>

Private Cloud では、環境ごとのリクエスト制限は Private Cloud Performance Tier に基づいて決まります。詳細については、[Private Cloud for AWS](/docs/ja-jp/deploy-monitor/deploy-private-cloud/private-cloud-on-aws) または [Private Cloud for Azure](/docs/ja-jp/deploy-monitor/deploy-private-cloud/private-cloud-on-azure) をご覧ください。

現在、Private Cloud の環境レート制限は、Auth0 のサービスが SLA を満たせる最大負荷を示しています。ただし現時点で Auth0 がレート制限の適用および超過通知を行うのは、環境内の特定のテナントでレート制限を超えた場合のみです。ほとんどの Private Cloud のユースケースでは、お客様は単一の本番テナントを運用しているため、これは問題になりません。しかし、複数の本番テナントをプロビジョニングするユースケースでは、環境内のすべてのテナントにまたがる想定負荷を考慮し、必要に応じて追加の監視を実施する必要があります。

| 機能                 | Authentication API                                                                                           | その他すべての API (Management API を含む)                                                                                                                             |
| ------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| テナントのレート制限         | すべてのテナントは、その API に対する環境全体の共有グローバル制限を消費しますが、環境レート制限は厳格な上限です。テナント全体の合算負荷によって環境制限を超えた場合、超過分のリクエストにレート制限が適用されます。 | テナントごとのレート制限は個別に適用され、環境レート制限はパフォーマンス低下や SLA への影響が発生しうるしきい値として機能しますが、テナントレベルで直接レート制限を引き起こすことは**ありません**。                                                       |
| 環境レート制限を超過した場合 (例) | 環境制限が 1500 rps の場合、Tenant 1 が 1400 rps、Tenant 2 が 900 rps (合計 2300 rps) だと、800 件の request にレート制限が適用されます。     | 環境制限が 1500 rps の場合、Tenant 1 が 1400 rps、Tenant 2 が 900 rps (合計 2300 rps) であっても、個々のテナントにレート制限が適用されることは**ありません**。ただし、環境全体ではパフォーマンスが低下し、SLA に関する問題が発生する可能性があります。 |

<Warning>
  環境レート制限を超過すると、Service Level Agreement (SLA) は無効になります。
</Warning>

Private Cloud の負荷テストに関する考慮事項については、[Private Cloud on AWS](/docs/ja-jp/deploy-monitor/deploy-private-cloud/private-cloud-on-aws) および [Private Cloud on Azure](/docs/ja-jp/deploy-monitor/deploy-private-cloud/private-cloud-on-azure) を参照してください。

<div id="tenant-request-limits">
  ### テナントごとのリクエスト制限
</div>

Auth0 では、テナントに対して実行できるリクエスト数に制限があります。これらの制限は API ごとに設定され、さらに各 API の特定のエンドポイントごとに定められています。

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

Auth0 では、API エンドポイントにかかわらず、特定の API に対するリクエスト数が制限されます。API の制限は、次の要素によって異なる場合があります。

* API

  * 認証
  * Management
* テナントの種類 (Production、Development、Staging)
* サブスクリプションレベル (Free、Essential、Professional、Enterprise Public、Private)

たとえば、無料の非本番テナントには、有料サブスクリプションの本番テナントとは異なる制限が適用される場合があります。具体的なレート制限の設定については、[レート制限の構成](/docs/ja-jp/troubleshoot/customer-support/operational-policies/rate-limit-policy/rate-limit-configurations) を参照してください。

<div id="user-requests">
  ### ユーザーリクエスト
</div>

1 回のエンドユーザーリクエスト (例: Login や Signup) では、通常、Authentication API エンドポイントに対して複数のリクエストが発生します。  実際のエンドユーザーリクエスト数と Authentication API へのリクエスト数の比率は、いくつかの要因によって異なります。

* 認証対象のエンティティ (例: マシン、またはエンドユーザー向けのモバイルアプリケーションやデスクトップアプリケーション)
* 認証エクスペリエンス (例: 新しい <Tooltip tip="Universal Login: アプリケーションは、ユーザーの本人確認のために、Auth0 の Authorization Server でホストされている Universal Login にリダイレクトされます。" cta="用語集を見る" href="/docs/ja-jp/glossary?term=Universal+Login">Universal Login</Tooltip> または Classic Login)
* 認証フロー (例: Login、Signup、または Change Password)
* 認証フローの種類 (例: ユーザー名 / パスワードでの Login、Social Login での Login、既存の Authentication Token がすでに存在する状態での Login)

Extensibility を活用しているお客様は、その設定によっては、Authentication API だけでなく、<Tooltip tip="Management API: お客様が管理タスクを実行できるようにするための製品です。" cta="用語集を見る" href="/docs/ja-jp/glossary?term=Management+API">Management API</Tooltip> に対しても、さらに多くのリクエストが発生する可能性があります。
Auth0 の設定が API 使用量にどのような影響を与えるかを見積もる際のガイダンスについては、[レート制限のユースケース](/docs/ja-jp/troubleshoot/customer-support/operational-policies/rate-limit-policy/rate-limit-use-cases) を参照してください。

<div id="endpoint-rate-limits">
  #### エンドポイントのレート制限
</div>

Auth0 では、API エンドポイントに対するリクエスト数を制限しており、場合によってはエンドポイントの操作回数も制限しています。 API エンドポイントの制限は、次の要素によっても異なります。

* API
* テナントの種類
* サブスクリプションレベル

たとえば、無料の非本番テナントには、有料サブスクリプションの本番テナントとは異なる制限が適用されます。

<div id="tenant-request-limits-order">
  ### テナントのリクエスト制限の適用順序
</div>

テナントへのリクエストが行われると、Auth0 はまず API 全体のグローバル制限に照らしてそのリクエストを評価し、その後、特定の API エンドポイントに設定されたレート制限に照らして評価します。

<div id="miscellaneous-limits">
  ### その他の制限
</div>

<div id="database-login-limits">
  #### データベースログインの制限
</div>

データベース接続では、Auth0 はユーザーアカウントと IP アドレスに応じて、特定の種類の繰り返しログイン試行を制限します。システム全体の健全性を保つため、Auth0 では負荷を軽減するためにユーザー名/パスワードに対するレート制限を設けています。Auth0 は高度にカスタマイズできるため、サービス低下のリスクが生じることがあります。原因には、次のようなものがあります。

* 高負荷のストレステスト
* ベンチマークテスト
* ユーザーが何度もログインする原因となる非効率なコード

リクエストには、Auth0 API の各ポリシーに定められた制限が適用されます。

さらに、同一ユーザーに対するログインのレート制限もあります。1 つの IP アドレスから 1 分間に同じユーザーアカウントへ 20 回ログインを試行すると、レート制限が適用されます。その後、そのユーザーに許可される試行回数は 1 分あたり 10 回になります。ログイン成功とログイン失敗は、どのような組み合わせでもこの制限の対象としてカウントされます。

<Card title="ユーザーを保護する制限">
  Auth0 の [ブルートフォース対策](/docs/ja-jp/secure/attack-protection/brute-force-protection) と [不審な IP のスロットリング](/docs/ja-jp/secure/attack-protection/suspicious-ip-throttling) でもログインやサインアップが制限されることがありますが、これらはレート制限とは別のものです。Auth0 が悪意のある可能性がある異常をどのように検出して対処するかについて詳しくは、[攻撃対策](/docs/ja-jp/secure/attack-protection) を参照してください。
</Card>

<div id="sms-message-limits-for-multi-factor-authentication-end-users-only">
  #### 多要素認証のSMSメッセージ送信制限 (エンドユーザーのみ)
</div>

1時間以内にお使いの端末へ11件以上のSMSメッセージを送信しようとすると、レート制限の超過に関するエラーメッセージが表示されます。

メッセージ送信制限を超えた場合は、最初のメッセージのリクエストから少なくとも1時間待ってから、次のリクエストを行う必要があります。以降は、さらに1時間経過するごとに1回ずつ追加で試行できます。

<div id="native-social-login-limits">
  #### ネイティブソーシャルログインの制限
</div>

ネイティブソーシャルログインフローのリクエストに適用される制限は、以下の初期条件に基づいてリクエスト本文から識別されます。

| リクエストタイプ             | 本文                                                   |
| -------------------- | ---------------------------------------------------- |
| `grant_type`         | `urn:ietf:params:oauth:grant-type:token-exchange`    |
| `subject_token_type` | `http://auth0.com/oauth/token-type/apple-authz-code` |

<div id="public-performance-burst">
  #### Public Performance Burst
</div>

Public Performance Burst は、既存の Public Cloud デプロイメントを強化する、エンタープライズサブスクリプション向けのアドオンです。このオファリングにより、Authentication API のリクエスト上限を、デフォルトのエンタープライズ向けリクエスト上限である 100 RPS の倍率まで、毎月最大 48 時間動的に引き上げることができます。

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  このアドオンで拡張されるのは Authentication API のリクエスト上限のみであり、Management API や、Authentication API の範囲外でレート制限されるその他のエンドポイントには適用されません。
</Callout>

現在、Public Performance Burst には 3 種類の倍率 (2x、3x、4x) があり、Authentication API に対してそれぞれ 200、300、400 RPS を毎月最大 48 時間まで利用できます。この 48 時間は 5 分単位で集計され、毎月の許容量から差し引かれるため、毎月 576 回の 5 分間隔にわたって API をその倍率で利用できます。

Authentication API へのリクエスト量がデフォルトの 100 RPS を超えると、5 分間隔が毎月の許容量から差し引かれ、その倍率に応じたレートでトラフィックが許可されます。その時点から連続する 5 分間は、追加の差し引きなしで、トラフィックをその倍率の範囲内に収めることができます。

差し引き間隔イベントは、[テナントログ](/docs/ja-jp/deploy-monitor/logs/log-event-type-codes) で監視できます。差し引きが発生するたびに、すでに消費した許容量と残りの許容量に関する情報を含む、対応する `appi` テナントログイベントタイプが生成されます。

詳しくは、[Rate Limits - Enterprise](/docs/ja-jp/troubleshoot/customer-support/operational-policies/rate-limit-policy/rate-limit-configurations/enterprise-public) の Authentication API セクションを参照してください。

<div id="private-performance-burst">
  #### Private Performance Burst
</div>

Private Performance Burst の提供内容 (現在は AWS の 30x および 60x ティアで利用可能) には、月あたり最大 80 時間まで利用できる、30x (3,000 RPS) または 60x (6,000 RPS) のバースト (ピーク) 性能が含まれます。バースト性能の半分にあたる基本性能は、それ以外の期間に利用できます。

つまり、30x Private Performance Burst では次の性能が提供されます。

* 基本容量: 月間を通して 1,500 RPS
* バースト/ピーク容量: 月あたり最大 80 時間まで 3,000 RPS

認証トランザクションが基本 API リクエスト上限を超えてバーストすると、月間割り当てから 1 時間分が差し引かれます。その時点から連続する 1 時間は、トラフィックを高いレートのまま維持できます。再びしきい値を超えた場合も、同様に追加で差し引かれます。

80 時間分の割り当てを使い切ると、新しい月間割り当てが適用されるまで、認証トラフィックには基本容量までのレート制限が適用されます。

<div id="extensibility-concurrency-limits">
  #### 拡張機能の同時実行数の上限
</div>

システムの可用性とシステムリソースの公平な利用を確保するため、Auth0 ではすべての拡張機能製品 (Actions、Hooks、Rules、Custom Database Connections、Extensions、Custom OAuth2 接続) 全体で、処理中の同時リクエスト数を制限しています。同時リクエスト数の上限を超えたテナントでは、処理中のリクエストが完了するまで、新しいリクエストでエラーが発生する可能性があります。同時実行数の上限は以下のとおりです。

| Subscription                                                            | Concurrency limit (per Tenant) |
| ----------------------------------------------------------------------- | ------------------------------ |
| Public Cloud                                                            | 250                            |
| Tier Dev Private Cloud                                                  | 100                            |
| Private Cloud Basic 100 RPS (1x)                                        | 200                            |
| Private Cloud Performance 500 RPS (5x)                                  | 400                            |
| Private Cloud Performance 1500 RPS (15x)                                | 1200                           |
| Private Cloud Performance 3000 RPS (30x) and 3000 RPS Burst (30x Burst) | 1200                           |
| Private Cloud Performance 6000 RPS (60x) and 6000 RPS Burst (60x Burst) | 1200                           |

同時実行数は、想定される RPS に各リクエストのレイテンシを掛けることで計算できます。たとえば、post-login Actions が 2 つバインドされているテナントで、それぞれの実行時間が 250ms、ログイン全体の RPS が 400 の場合、想定される同時実行数は (2 \* (400 requests / 1 second) \* (.25 seconds / 1 request)) = 200 です。

これらの同時実行数の上限によってテナントが影響を受けないよう、外部 API の呼び出しなど、長時間実行される可能性がある拡張機能ロジックには適切なタイムアウトを設定してください。

<div id="rate-limit-algorithm">
  ## レート制限アルゴリズム
</div>

Auth0 では、API にレート制限とバースト制限を設定しています。レート制限は、システムが継続的に許容できる最大トラフィック量を指し、バースト制限は、一定の時間間隔内でシステムが短期的に許容できる最大トラフィック量を指します。Auth0 のレート制限とバースト制限は連携して機能し、変動するトラフィック量に対して、より適切な制限機能を提供します。

Auth0 のレート制限には、次の構成を含むトークンバケットアルゴリズムが使用されています。

* **制限キー:**

  * 通常、レート制限キーは主に次の 2 つの要因に基づきます。

    * API とエンドポイント
    * テナントの種類
  * 場合によっては、次の追加要因が含まれます。

    * 送信元 IP
    * 対象ユーザー ID
* **制限値:**

  * **バケットサイズ:** 新しいリクエストが追加されるまでに、API またはエンドポイント全体、あるいは特定のユーザーや IP アドレスから受け取ることのできるリクエストの最大数。
  * **補充率:** バケットに新しいリクエストが追加される速度。

Auth0 は、これら 2 つの数値からバースト制限と持続レート制限を計算します。

* **バースト制限:** バケットサイズに等しい。
* **持続レート制限:** 1 分あたりまたは 1 秒あたりのリクエスト数で表される補充率。

持続レート制限が 1 秒あたりのリクエスト数で計算される場合、新しいリクエストはミリ秒単位で追加されます。持続レート制限が 1 分あたりのリクエスト数で計算される場合、新しいリクエストは秒単位で追加されます。

<div id="learn-more">
  ## 詳しくはこちら
</div>

* [エンティティ制限ポリシー](/docs/ja-jp/troubleshoot/customer-support/operational-policies/entity-limit-policy)
* [レート制限のユースケース](/docs/ja-jp/troubleshoot/customer-support/operational-policies/rate-limit-policy/rate-limit-use-cases)
