Passer au contenu principal
Dans certains cas, il peut être utile d’exclure certaines ressources de la gestion. Par exemple, votre locataire peut contenir un grand nombre d’un type de ressource donné, ce qui rend leur gestion lourde sur le plan opérationnel. Ou encore, votre flux de travail de développement peut ne concerner qu’un sous-ensemble précis de ressources, et vous souhaitez omettre toutes les autres pour améliorer les performances. Quoi qu’il en soit, plusieurs options s’offrent à vous pour exclure des ressources lorsque vous utilisez le Deploy CLI.

Exclure des ressources entières par type

Pour les locataires plus complexes, vous pourriez vouloir omettre des types de ressources entiers. Par exemple :
  • Un locataire d’entreprise avec des milliers d’organisations, dont la gestion complète représenterait un lourd fardeau opérationnel.
  • Le processus CI/CD porte uniquement sur la gestion des rôles, et vous voulez exclure tout le reste.
  • Le développement d’une fonctionnalité concerne un hook, et vous voulez temporairement exclure tout le reste pour optimiser les performances.
Ce type d’exclusion s’exprime en passant un tableau de noms de ressources à l’une ou l’autre des propriétés de configuration AUTH0_EXCLUDED ou AUTH0_INCLUDED_ONLY. La propriété de configuration AUTH0_EXCLUDED exclut uniquement les types de ressources qui lui sont fournis. Inversement, la propriété AUTH0_INCLUDED_ONLY exclut toutes les propriétés, sauf celles qui sont définies. L’exclusion fonctionne dans les deux sens, c’est-à-dire à la fois lors de l’exportation depuis Auth0 et de l’importation vers Auth0, que les fichiers de configuration des ressources existent ou non. Toutes les valeurs de ressource prises en charge pour l’exclusion : 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.

Exemple d’exclusion

L’exemple suivant montre comment faire en sorte que le Deploy CLI ne gère pas clients, connections, databases et organizations.
{
  "AUTH0_DOMAIN": "example-site.us.auth0.com",
  "AUTH0_CLIENT_ID": "<YOUR_AUTH0_CLIENT_ID>",
  "AUTH0_EXCLUDED": ["clients", "connections", "databases", "organizations"]
}

Exemple d’inclusion

L’exemple suivant montre comment indiquer que seules les ressources actions, clients et connections doivent être gérées par le Deploy CLI.
{
  "AUTH0_DOMAIN": "example-site.us.auth0.com",
  "AUTH0_CLIENT_ID": "<YOUR_AUTH0_CLIENT_ID>",
  "AUTH0_INCLUDED_ONLY": ["actions", "clients", "connections"]
}

Exclure des ressources individuelles par ID

Certains types de ressources permettent d’exclure une ressource précise par ID. Cela peut être utile si vous travaillez dans un contexte multienvironnement et souhaitez omettre une ressource propre à la production de vos environnements inférieurs. Cette méthode est prise en charge pour les Rules, les applications, les bases de données, les connexions et les au moyen des valeurs de configuration AUTH0_EXCLUDED_RULES, AUTH0_EXCLUDED_CLIENTS, AUTH0_EXCLUDED_DATABASES, AUTH0_EXCLUDED_CONNECTIONS, AUTH0_EXCLUDED_RESOURCE_SERVERS, respectivement.

Exemple

{
  "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"]
}
L’exclusion de ressources par ID pourrait être dépréciée dans de futures versions majeures. Consultez la proposition d’exclusion de ressources pour en savoir plus.

Omission et états vides

En plus de l’exclusion de ressources, qui force l’ignorance des configurations dans les deux sens, Auth0 Deploy  CLI prend en charge deux concepts similaires : l’omission et les états vides.

Omission

Toute configuration de ressource absente, intentionnellement ou non, sera ignorée lors de l’importation. Par exemple, si la configuration de votre ressource a été supprimée, elle sera ignorée lors de l’importation et ne modifiera pas l’état du locataire distant. La notion d’omission ne s’applique pas à l’exportation. Sauf exclusion explicite, toutes les configurations de votre locataire seront écrites dans des fichiers de configuration de ressource.

Exemple

roles: # la configuration des rôles n'est pas omise
  - name: Admin
    description: Can read and write things
    permissions: []
  - name: Reader
    description: Can only read things
    permissions: []
# L'omission de toutes les autres configurations signifie qu'elles seront ignorées

Vide

Configuration de ressource explicitement définie comme étant vide. Pour les configurations fondées sur des ensembles, comme les Hooks, les organisations et les Actions, définir ces configurations comme un ensemble vide indique qu’on souhaite intentionnellement vider ces ressources. Cela serait interprété comme une suppression, à condition que la propriété de configuration de suppression AUTH0_ALLOW_DELETE soit activée. Pour en savoir plus sur cette propriété, consultez Configurer le Deploy CLI. Pour les configurations de ressources qui ne sont pas fondées sur des ensembles, comme le locataire et l’image de marque, le concept de vide ne s’applique pas et ne déclenchera aucune suppression ni aucun retrait.

Exemple d’absence de contenu

hooks: [] # Hooks vides
connections: [] # Connexions vides
tenant: {} # Sans effet en pratique, le vide ne s'applique pas aux configurations de ressources non définies