Concepts relatifs aux marqueurs et aux espaces de noms de marqueur

Oracle Cloud Infrastructure prend en charge deux types de marqueur : marqueurs à structure libre et marqueurs définis. En créant et en appliquant des marqueurs, vous pouvez extraire des listes de ressources marquées avec des clés spécifiques à partir de n'importe quel service prenant en charge le marquage.

Conseil

Regardez une vidéo qui décrit les concepts et les fonctions du marquage : Présentation du marquage.

Politique GIA requise

Si vous faites partie du groupe d'administrateurs, vous disposez des droits d'accès nécessaires pour gérer les espaces de noms de marqueur et les marqueurs.

Pour obtenir plus d'exemples de politique spécifiques à l'utilisation des marqueurs et des espaces de noms de marqueur, voir Autorisations requises pour l'utilisation de marqueurs définis.

Pour en savoir plus sur les politiques, voir Gestion des domaines d'identité et Politiques communes. Pour en savoir plus sur l'écriture de politiques pour des groupes ou d'autres composants IAM, voir Informations détaillées sur le service IAM sans domaine d'identité.

Aperçu des marqueurs et des espaces de noms de marqueur

Les marqueurs définis offrent plus de fonctionnalités et de contrôle que les marqueurs à structure libre. Avant de créer une clé de marqueur défini, vous devez d'abord configurer un espace de noms de marqueur pour cette clé. Un espace de noms de marqueur est un conteneur pour un jeu de clés de marqueur.

Lorsque vous créez la définition de clé de marqueur, vous devez choisir le type de valeur (qui détermine également la manière dont l'utilisateur qui applique le marqueur ajoute la valeur) : 

  • Vous pouvez laisser le champ vide afin qu'un utilisateur puisse entrer la valeur.
  • Vous pouvez créer une liste de valeurs afin que l'utilisateur puisse effectuer un choix parmi ces valeurs.
Note

Les caractères autorisés pour les espaces de noms et les clés de marqueur sont ASCII imprimables, à l'exception de l'espace U+0020 (" ") et de l'arrêt complet U+002E ("."). Les noms d'espace de noms et de clé ne peuvent pas être vides.

Évitez d'entrer des informations confidentielles.

Pour appliquer un marqueur défini à une ressource, l'utilisateur sélectionne d'abord l'espace de noms de marqueur, puis la clé de marqueur dans l'espace de noms et lui affecte la valeur. Si la clé de marqueur contient une valeur vide, l'utilisateur peut entrer une valeur ou la laisser vide. Si la clé de marqueur contient une liste, l'utilisateur doit sélectionner une valeur dans la liste.

Les marqueurs définis vous permettent d'utiliser une politique pour contrôler qui peut appliquer vos marqueurs définis. L'espace de noms de marqueur est l'entité à laquelle vous pouvez appliquer la politique. Les administrateurs peuvent contrôler les groupes d'utilisateurs autorisés à utiliser chaque espace de noms.

Les illustrations suivantes présentent des marqueurs définis. Deux espaces de noms de marqueur sont configurés : Operations et HumanResources. Les clés de marqueurs sont définies dans les espaces de noms. Dans chaque espace de noms, les clés de marqueur doivent être uniques, mais un nom de clé de marqueur peut se répéter dans un autre espace de noms. Dans l'exemple, les deux espaces de noms comprennent une clé nommée "Environment".

Cette illustration montre deux espaces de noms avec des définitions de clé de marqueur

Deux marqueurs de l'espace de noms de marqueur Operations sont appliqués à la première instance pour indiquer qu'elle appartient à l'environnement de production Operations et au projet Operations "Alpha". La deuxième instance comporte des marqueurs des espaces de noms de marqueur HumanResources et Operations, ce qui indique qu'elle appartient à l'environnement HumanResources "Production", au centre de coûts HumanResources "42" et au projet Operations "Beta".

Cette image montre des marqueurs définis appliqués à des instances pour illustrer le concept d'espace de noms

Utilisation des marqueurs standard

Pour simplifier la création et la gestion des marqueurs, Oracle Cloud Infrastructure Tagging fournit des modèles d'espaces de noms de marqueur et de définitions de marqueur standard.

Vous pouvez utiliser ce modèle pour créer un espace de noms de marqueur et assurer la cohérence dans l'ensemble de votre location.

Pour plus d'informations, voir Présentation des marqueurs standard. Pour savoir comment importer des marqueurs standard à l'aide de la console, voir Importer des marqueurs standard.

Fonctionnement des marqueurs définis

Vous devez configurer l'espace de noms de marqueur et les clés de marqueur dans votre location avant que les utilisateurs puissent appliquer un marqueur défini à une ressource. Dans le cadre du processus de configuration, vous devez également accorder des autorisations aux groupes d'utilisateurs qui utiliseront l'espace de noms.

Note

Les espaces de noms de marqueur et les définitions de clé de marqueur commençant par "oci" et "orcl" sont réservés à un usage interne.

Caractéristiques des marqueurs définis :

  • Ils sont constitués de l'espace de noms de marqueur, d'une clé et d'une valeur.
  • L'espace de noms de marqueur et la définition de clé de marqueur doivent être configurés dans votre location avant que les utilisateurs puissent appliquer un marqueur défini à une ressource.
  • Vous pouvez créer la clé de marqueur avec une valeur de marqueur de type chaîne (pour que l'utilisateur puisse ajouter une valeur ou laisser vide) ou avec une liste de valeurs (à partir de laquelle l'utilisateur doit effectuer une sélection).
  • Lors de l'application d'un marqueur défini, les utilisateurs effectuent une sélection dans la liste des clés de marqueur.
  • Les utilisateurs peuvent appliquer un marqueur défini lors de la création d'une ressource ou à une ressource existante.
  • Les clés de marqueur défini ne sont pas sensibles à la casse.
  • Les valeurs des marqueurs définis sont sensibles à la casse. Par exemple, "alpha" et "Alpha" sont des valeurs distinctes.
  • Vous pouvez utiliser des variables de marqueur.
  • Vous pouvez créer une liste de variables prédéfinies à associer à une clé de marqueur. Les utilisateurs qui appliquent le marqueur à une ressource doivent sélectionner une valeur dans la liste que vous créez.

Les administrateurs de marqueurs créent et gèrent les marqueurs définis, et les utilisateurs appliquent ces marqueurs aux ressources. Utilisez la politique GIA pour sélectionner les administrateurs de marqueurs qui peuvent créer des marqueurs. Limitez tous les autres utilisateurs de la location à la possibilité d'appliquer des marqueurs.

Autorisations requises pour l'utilisation de marqueurs définis

Pour appliquer, mettre à jour ou supprimer des marqueurs définis sur une ressource, un utilisateur doit disposer d'autorisations pour la ressource et d'autorisations pour utiliser l'espace de noms de marqueur.

L'utilisateur doit avoir l'autorisation d'accès use sur l'espace de noms du marqueur pour pouvoir appliquer, mettre à jour ou supprimer un marqueur défini pour une ressource.

Exemples de politiques pour les espaces de noms de marqueur :

Pour permettre à un groupe de simplement voir les espaces de noms de marqueur dans la location (ou dans un compartiment), l'accès inspect est requis :

Allow group GroupA to inspect tag-namespaces in tenancy
Important

Pour appliquer des marqueurs à une ressource lors de l'utilisation de la console, l'utilisateur doit avoir l'autorisation inspect tag-namespaces in tenancy. Si l'utilisateur n'a pas cette autorisation, la liste des espaces de noms de marqueur ne peut pas lui être présentée dans le menu.

Pour permettre à un groupe de lire les définitions de marqueur contenues dans des espaces de noms de marqueur, l'accès read est requis :

Allow group GroupA to read tag-namespaces in tenancy

Pour autoriser l'application, la mise à jour ou la suppression d'un marqueur défini pour une ressource, l'accès use à l'espace de noms de marqueur est requis :

Allow group GroupA to use tag-namespaces in tenancy

Pour autoriser l'utilisation des espaces de noms de marqueur ou d'un espace spécifique, utilisez une clause where avec la variable target.tag-namespace.name. Par exemple :

Allow group GroupA to use tag-namespaces in tenancy where target.tag-namespace.name='Operations'

ou pour spécifier plusieurs espaces de noms de marqueur :

Allow group GroupA to use tag-namespaces in tenancy where any {target.tag-namespace.name='Operations', target.tag-namespace.name='HumanResources'}

Pour gérer les espaces de noms de marqueur et les définitions de marqueur qu'ils contiennent, l'accès manage est requis :

Allow group GroupA to manage tag-namespaces in tenancy

En plus des autorisations d'accès à l'espace de noms de marqueur, pour appliquer ou supprimer des marqueurs définis sur une ressource, vous devez avoir l'autorisation de mise à jour pour cette ressource. Pour de nombreuses ressources, l'autorisation de mise à jour est accordée avec le verbe use. Par exemple, les utilisateurs qui peuvent utiliser des instances dans CompartmentA peuvent également appliquer, mettre à jour ou supprimer des marqueurs définis pour les instances dans CompartmentA.

Pour certaines ressources, l'autorisation de mise à jour n'est pas incluse avec le verbe use. Pour permettre à un groupe d'appliquer, de mettre à jour ou de supprimer des marqueurs définis pour ces ressources sans accorder les autorisations complètes de manage, vous pouvez ajouter un énoncé de politique afin d'accorder seulement l'autorisation <RESOURCE>_UPDATE du verbe manage. Par exemple, pour permettre à un groupe NetworkUsers d'utiliser des marqueurs définis avec des réseaux en nuage virtuels dans CompartmentA, vous pouvez écrire une politique similaire à ceci :


Allow group NetworkUsers to use vcns in compartment CompartmentA
Allow group NetworkUsers to manage vcns in compartment CompartmentA where request.permission='VCN_UDPATE'

L'autorisation inspect pour une ressource permet de voir les marqueurs définis pour cette ressource. Par exemple, les utilisateurs qui ont l'autorisation inspect pour les instances peuvent également voir tous les marqueurs définis appliqués à ces instances.

Pour plus d'informations sur les autorisations d'accès aux ressources, voir Informations de référence sur les politiques.

Exemple de scénario

Votre société dispose d'un service Operations. Dans le service Operations figurent plusieurs centres de coûts. Vous voulez pouvoir marquer les ressources qui appartiennent au service Operations avec le centre de coûts approprié.

  1. Créez une définition d'espace de noms de marqueur appelée Operations.
  2. Dans l'espace de noms Operations, créez une définition de clé de marqueur appelée CostCenter.

Alice appartient déjà au groupe InstanceLaunchers. Alice peut gérer les instances dans CompartmentA. Vous voulez qu'Alice et d'autres membres du groupe InstanceLaunchers puissent appliquer le marqueur Operations.CostCenter aux instances de CompartmentA.

Pour accorder au groupe InstanceLaunchers l'accès à l'espace de noms de marqueur Operations (et seulement à l'espace de noms de marqueur Operations), ajoutez les énoncés suivants à la politique InstanceLaunchers :

Allow group InstanceLaunchers to use tag-namespaces in compartment CompartmentA where target.tag-namespace.name='Operations'

Alice peut maintenant appliquer le marqueur Operations.CostCenter aux ressources dans CompartmentA.

Héritage des marqueurs de compartiment

Les compartiments enfants et leurs ressources dans les services de mesure tels que Analyse de coûts, Rapports d'utilisation et Budget héritent des marqueurs définis appliqués à un compartiment. Toutefois, en cas de conflit entre les marqueurs hérités et les marqueurs appliqués directement aux ressources ou aux compartiments enfants, les marqueurs appliqués aux ressources sont prioritaires sur les marqueurs hérités. Vous pouvez appliquer des marqueurs définis de manière dynamique aux ressources d'un compartiment.

Par exemple, considérons une location nommée TenancyA avec TagKey1=TagValueP et un compartiment nommé Compartiment P avec TagKey3=TagValueQ et TagKey4=TagValueS. Vous avez une instance de calcul dans le compartiment P avec TagKey2=TagValueR, TagKey3=TagValueT. Lorsque la logique d'héritage de marqueurs est appliquée, les marqueurs suivants sont appliqués à l'instance de calcul : TagKey2=TagValueR, TagKey3=TagValueT, TagKey4=TagValueS. La ressource a hérité de TagKey4=TagValueS du compartiment parent. Toutefois, TagKey3 appliqué à l'instance de calcul remplace la valeur TagKey3 appliquée au compartiment parent.

Vous pouvez filtrer les marqueurs hérités dans l'analyse des coûts, créer des budgets avec des marqueurs hérités et voir ces marqueurs dans les rapports d'utilisation.

Mise hors service de définitions de clé et de définitions d'espace de noms

Vous pouvez mettre hors service une définition de clé de marqueur ou une définition d'espace de noms de marqueur.

Lorsque vous mettez hors service une définition de clé de marqueur, vous ne pouvez plus l'appliquer aux ressources. Le marqueur n'est toutefois pas supprimé des ressources auxquelles il a été appliqué. Le marqueur existe toujours en tant que métadonnées sur ces ressources et vous pouvez toujours appeler le marqueur mis hors service dans des opérations (liste, tri ou production de rapports, par exemple).

Important

La mise hors service d'un marqueur arrête le suivi des coûts pour le marqueur, mais si vous ne désactivez pas l'option de suivi des coûts dans la définition de clé de marqueur, le marqueur mis hors service continue de compter dans le maximum de 10 marqueurs de suivi des coûts pour votre location. Désactivez le suivi des coûts avant de mettre hors service la définition de clé de marqueur. Pour désactiver le suivi des coûts après mise hors service d'un marqueur, vous devez réactiver la définition de clé de marqueur. Vous ne pouvez pas mettre à jour les définitions de clé de marqueur mises hors service.

Réactivation des définitions de clé de marqueur et des définitions d'espace de noms

Vous pouvez réactiver les définitions de clé de marqueur et les définitions d'espace de noms de marqueur qui ont été mises hors service.

  • Lorsque vous réactivez une clé de marqueur, elle est à nouveau disponible pour être appliquée aux ressources.
  • Lorsque vous réactivez un espace de noms de marqueur, vous pouvez créer de nouvelles définitions de clé de marqueur dans cet espace de noms. Toutefois, si vous voulez utiliser n'importe laquelle des définitions de clé de marqueur qui ont été mises hors service avec l'espace de noms, vous devez réactiver chacune des définitions de clé de marqueur.

Déplacement d'espaces de noms de marqueur vers un autre compartiment

Vous pouvez déplacer un espace de noms de marqueur vers un autre compartiment. L'espace de noms du marqueur peut être actif ou mis hors service lorsque vous le déplacez. Lorsque vous déplacez l'espace de noms de marqueur, toutes ses définitions de clé de marqueur sont déplacées avec lui.

Cette fonctionnalité est utile si vous réorganisez la hiérarchie des compartiments ou supprimez un compartiment qui contient un espace de noms de marqueur mis hors service. Gardez à l'esprit que vous ne pouvez pas supprimer un compartiment qui contient des ressources. Un espace de noms de marqueur mis hors service est toujours une ressource existante, même s'il est hors service. Le déplacement de l'espace de noms de marqueur mis hors service vers un autre compartiment peut vous permettre de supprimer le compartiment qui le contenait initialement.

Pour déplacer un espace de noms de marqueur, vous devez avoir l'accès manage tag-namespaces pour les deux compartiments.

Voir la procédure Déplacement d'un espace de noms de marqueur vers un autre compartiment.

Suppression des définitions de clé et des espaces de noms de marqueur

Vous pouvez supprimer les définitions de clés de marqueur et les espaces de noms de marqueur.

Lorsque vous supprimez une définition de clé de marqueur, vous commencez un processus qui supprime le marqueur de toutes les ressources de votre location. Effets immédiats :

  • S'il s'agit d'un marqueur de suivi des coûts, il ne compte plus dans la limite de 10 marqueurs de suivi des coûts, que vous l'ayez d'abord désactivé ou non.
  • Si le marqueur était utilisé avec des groupes dynamiques, aucune des règles qui le contiennent ne sera évaluée en fonction de ce marqueur.

L'action de suppression est asynchrone et lance une demande de travail. Une fois l'opération de suppression lancée, l'état du marqueur passe à Suppression et sa suppression dans les ressources commence. Ce processus peut prendre jusqu'à 48 heures selon le nombre de ressources qui ont été marquées et les régions où sont stockées ces ressources. Lorsque tous les marqueurs sont supprimés, l'état passe à Supprimé. Vous ne pouvez pas restaurer un marqueur supprimé. Une fois que le marqueur est passé à l'état Supprimé, vous pouvez réutiliser son nom.

Pour supprimer une définition de clé de marqueur, vous devez d'abord la mettre hors service. Pour supprimer un espace de noms de marqueur, vous devez d'abord le mettre hors service. Lorsque vous mettez hors service un espace de noms de marqueur contenant des définitions de clés de marqueur, toutes les clés de marqueur dans cet espace de noms sont également mises hors service, ce qui vous permet de supprimer l'espace de noms de marqueur.