メインコンテンツへスキップ
場合によっては、リソースを管理対象から除外すると便利です。たとえば、テナント内に特定種類のリソースが大量にあり、それらを管理することが運用上の負担になる場合や、開発ワークフローが特定のリソースのサブセットのみに関係していて、パフォーマンス向上のためにそれ以外のリソースをすべて除外したい場合などです。いずれの場合も、Deploy CLI の使用時にリソースを除外するためのオプションがいくつか用意されています。

種類ごとにリソース全体を除外する

より複雑なテナントでは、リソースの種類単位でまとめて除外したいことがあります。たとえば、次のようなケースです。
  • 数千の組織を持つエンタープライズテナントで、それらすべてを管理するのは運用上の負担が大きい場合。
  • CI/CD プロセスではロールの管理のみに注力しており、それ以外はすべて除外したい場合。
  • hook に関する機能開発を行っており、パフォーマンス最適化のために、それ以外を一時的にすべて除外したい場合。
この種の除外は、AUTH0_EXCLUDEDまたはAUTH0_INCLUDED_ONLYの設定プロパティのいずれかに、リソース名の配列を渡すことで指定します。AUTH0_EXCLUDED設定プロパティは、指定したリソースの種類のみを除外します。一方、AUTH0_INCLUDED_ONLYプロパティは、指定したもの以外のすべてのリソースの種類を除外します。除外は双方向に機能します。つまり、リソース設定ファイルの有無にかかわらず、Auth0 からエクスポートするときと Auth0 にインポートするときの両方に適用されます。 除外でサポートされるすべてのリソース値: actions, attackProtection, branding, clientGrants, clients, connections, customDomains, databases, emailProvider, emailTemplates, guardianFactorProviders, guardianFactorTemplates, guardianFactors, guardianPhoneFactorMessageTypes, guardianPhoneFactorSelectedProvider, guardianPolicies, logStreams, migrations, organizations, pages, prompts, resourceServers, roles, tenant, triggers

除外の例

次の例では、Deploy CLI の管理対象から clientsconnectionsdatabasesorganizations を除外する方法を示します。
{
  "AUTH0_DOMAIN": "example-site.us.auth0.com",
  "AUTH0_CLIENT_ID": "<YOUR_AUTH0_CLIENT_ID>",
  "AUTH0_EXCLUDED": ["clients", "connections", "databases", "organizations"]
}

含める例

次の例は、Deploy CLI で actionsclientsconnections のみを管理するよう指定する方法を示しています。
{
  "AUTH0_DOMAIN": "example-site.us.auth0.com",
  "AUTH0_CLIENT_ID": "<YOUR_AUTH0_CLIENT_ID>",
  "AUTH0_INCLUDED_ONLY": ["actions", "clients", "connections"]
}

ID で個別のリソースを除外する

一部のリソースの種類では、ID を指定して個別のリソースを除外できます。これは、複数の環境で運用していて、本番環境固有のリソースを下位環境から除外したい場合に便利です。 この方法は、Rules、クライアント、データベース、接続、および でサポートされており、それぞれ AUTH0_EXCLUDED_RULESAUTH0_EXCLUDED_CLIENTSAUTH0_EXCLUDED_DATABASESAUTH0_EXCLUDED_CONNECTIONSAUTH0_EXCLUDED_RESOURCE_SERVERS の設定値を使用します。

{
  "AUTH0_DOMAIN": "example-site.us.auth0.com",
  "AUTH0_CLIENT_ID": "<YOUR_AUTH0_CLIENT_ID>",
  "AUTH0_EXCLUDED_CLIENTS": ["Your Application Name"],
  "AUTH0_EXCLUDED_CONNECTIONS": ["con_O1H3KyRMFP1IWRq3", "con_9avEYuj19ihqKBOs"]
}
ID を指定したリソースの除外は、将来のメジャーバージョンで非推奨とすることが検討されています。詳細については、リソース除外の提案を参照してください。

省略と空の状態

双方向で設定を強制的に無視するリソースの除外に加えて、Auth0 Deploy CLI は、これに類似した 2 つの概念である省略と空の状態をサポートしています。

省略

意図的かどうかを問わず、存在しないリソース設定は、インポート時にスキップされます。たとえば、リソース設定が削除されている場合、その設定はインポート時にスキップされ、リモート テナントの状態は変更されません。 エクスポートでは、省略という概念はありません。明示的に除外しない限り、すべてのテナント設定がリソース設定ファイルに書き出されます。

roles: # rolesの設定は省略されていない
  - name: Admin
    description: Can read and write things
    permissions: []
  - name: Reader
    description: Can only read things
    permissions: []
# 他のすべての設定を省略すると、それらはスキップされる

明示的に空として定義されたリソース設定です。Hooks、組織、Actions などの集合ベースの構成では、これらの構成を空集合に設定することで、それらのリソースを意図的に空にすることを示します。これは、削除設定プロパティ AUTH0_ALLOW_DELETE が有効になっている場合に、削除を示すシグナルとなります。このプロパティの詳細については、Deploy CLI の設定 を参照してください。 テナントやブランディングなどの非集合ベースのリソース設定では、空という概念は適用されないため、削除や除去はトリガーされません。

空の例

hooks: [] # 空のHooks
connections: [] # 空の接続
tenant: {} # 実質的にno-op。空は未設定のリソース設定には適用されない