2026年4月以前からサードパーティアプリケーションを使用しているテナントが少なくとも1つあるお客様では、アプリケーションがパーミッシブモードで動作している場合があります。このモードでは、後方互換性のために従来の動作が維持されます。
パーミッシブモードは、2026年4月より前にサードパーティアプリケーションを含むテナントを少なくとも1つ保有していたお客様のみが利用できます。そのお客様のアカウント配下にあるすべてのテナントでは、以前はサードパーティアプリケーションを保有していなかったテナントも含めて、パーミッシブなサードパーティアプリケーションを作成できます。
これらのお客様は、次のことができます。
- 既存のサードパーティアプリケーションを現在の動作のまま継続して運用する
- Management API を使用して
third_party_security_mode: "permissive" を指定し、新しいサードパーティアプリケーションを作成する
- 強化されたセキュリティ制御を備えた新しいアプリケーションをいつでも作成する
これまでにサードパーティアプリケーションを使用したことがないお客様は、常に強化されたセキュリティ制御を備えたアプリケーションを作成します。パーミッシブモードは使用できません。
パーミッシブモードのサードパーティアプリケーションは、利用できる機能という点では、ファーストパーティアプリケーションとほぼ同様に動作します。
- ほとんどのグラントタイプを利用できます (authorization code、implicit、client credentials、device code)
- OIDCのスコープとIDトークンがサポートされます
- API へのアクセスは、API に設定されたAPIアクセスポリシー に従います (クライアントグラントが必須になるよう強制されません)
- 標準のクライアントID形式 (
tpc_ プレフィックスなし)
- すべてのクライアントプロパティを設定できます
パーミッシブモードでは、セキュリティ制御を適用するために、管理者による追加の設定作業が必要です。次の項目は管理者の責任となります。
- 各 API で API アクセスポリシー を設定し、どのサードパーティアプリケーションがアクセスできるかを制御する
- 各アプリケーションで有効になっているグラントタイプと機能を確認する
- テナントログ を通じてサードパーティアプリケーションの動作を監視する
third_party_security_mode プロパティ
すべてのサードパーティアプリケーションには、セキュリティモードを示す third_party_security_mode プロパティがあります。このプロパティは作成時に設定され、後から変更することはできません。
| Value | Meaning |
|---|
strict | セキュリティ制御を強化したモード。OAuth 2.1 への準拠、明示的な API 認可、限定的な機能セットを備えます。 |
permissive | 従来どおりの動作。すべての機能を利用でき、管理者がセキュリティ制御を手動で設定します。 |
セキュリティモードの導入前に作成されたサードパーティアプリケーションは、API レスポンスで third_party_security_mode: "permissive" を返します。
| 機能 | 強化されたセキュリティ制御 (strict) | 従来の動作 (permissive) |
|---|
| グラントタイプ | authorization_code, refresh_token, client_credentials | ほとんどのグラントタイプ (password を除く) |
| PKCE | 必須 | 任意 |
| OIDC | サポートされていません。今後のリリースで対応予定です。 | サポートされています |
| API認可 | 常に明示的なクライアントグラントが必要 | APIアクセスポリシーに従う |
| Classic Login | サポートされていません | サポートされています |
| レガシーエンドポイント | サポートされていません | 利用可能 |
| クライアントIDの形式 | tpc_ プレフィックス | 標準形式 |
| 設定可能なプロパティ | 限定されたプロパティセット | すべてのプロパティ |
| 今後の機能 | レート制限、および今後追加されるセキュリティ機能と管理機能の強化 | 利用不可 |
| Dashboard からの作成 | サポートされています | Dashboard からは作成できません |
アカウントが パーミッシブモードの対象で、動的クライアント登録を使用している場合は、別のテナント設定を使用して、動的に登録されたクライアントのセキュリティモードを制御できます。
Auth0 Dashboard
Management API
- Settings > Advanced に移動します。
- Dynamic Client Registration (DCR) Security Mode で、Permissive を選択します。
- Save を選択します。
curl --request PATCH \
--url 'https://{yourDomain}/api/v2/tenants/settings' \
--header 'Authorization: Bearer {YOUR_MANAGEMENT_API_TOKEN}' \
--header 'Content-Type: application/json' \
--data '{
"dynamic_client_registration_security_mode": "permissive"
}'
dynamic_client_registration_security_mode 設定は、POST /api/v2/clients で作成されるアプリケーションのデフォルト設定とは独立しています。この設定はいつでも構成できます。
dynamic_client_registration_security_mode を strict に設定する場合は、先にデフォルトの API 権限を構成してください。これを行わないと、動的に登録されたクライアントはどの API にもアクセスできません。
Auth0 では、すべての新規サードパーティアプリケーションで強化されたセキュリティ制御を採用することを推奨しています。third_party_security_mode プロパティは、アプリケーションの作成後に変更できません。つまり、既存の permissive アプリケーションを strict に変更することも、その逆もできません。代わりに、今後新しいアプリケーションを作成する際に、使用するセキュリティモードを選択します。
新しいアプリケーションのデフォルトがどのように変わるのか、またその準備方法については、Migrate to Enhanced Security for Third-Party Applications を参照してください。
既存の permissive アプリケーションを strict なアプリケーションに置き換える必要がある場合は、新しいアプリケーションを作成する必要があります。これにより、古いアプリケーションの既存のリフレッシュトークンとユーザー許可はすべて無効になります。影響を最小限に抑えるため、外部パーティと切り替え時期を調整してください。