Concepts relatifs aux balises et aux espaces de noms de balise
Oracle Cloud Infrastructure prend en charge deux types de balise : les balises à format libre et les balises définies. En créant et en appliquant des balises, vous pouvez extraire les listes des ressources balisées avec des clés spécifiques à partir de tout service prenant en charge le balisage.
Regardez une vidéo qui présente les concepts et les fonctionnalités de Tagging : Introduction à Tagging.
Stratégie IAM requise
Si vous êtes membre du groupe d'administrateurs, vous disposez de l'accès requis pour gérer les espaces de noms de balise et les balises.
Pour obtenir plus d'exemples de stratégies propres à l'utilisation de balises et d'espaces de noms de balise, reportez-vous à Droits d'accès requis pour utiliser des balises définies.
Si vous ne connaissez pas les stratégies, reportez-vous à Gestion des domaines d'identité et à Stratégies courantes. Si vous voulez en savoir plus sur l'écriture de stratégies pour les groupes ou d'autres composants IAM, reportez-vous à Détails relatifs à IAM sans domaine d'identité.
Présentation des balises et des espaces de noms de balise
Les balises définies fournissent davantage de fonctionnalités et de contrôle que les balises à format libre. Avant de créer une clé de balise définie, vous devez d'abord configurer un espace de noms de balise pour celle-ci. Voyez l'espace de noms de balise comme un conteneur pour un ensemble de clés de balise.
Lorsque vous créez la définition de clé de balise, vous devez choisir le type de valeur (qui détermine également la façon dont l'utilisateur appliquant la balise ajoute la valeur) :
- Vous pouvez la laisser vide afin qu'un utilisateur puisse saisir la valeur.
- Vous pouvez créer une liste de valeurs afin que l'utilisateur puisse effectuer une sélection parmi ces valeurs.
Les caractères autorisés pour les espaces de noms de balise et les clés 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.
Evitez de saisir des informations confidentielles.
Pour appliquer une balise définie à une ressource, l'utilisateur sélectionne d'abord l'espace de noms de balise, puis la clé de balise dans l'espace de noms. Il peut ensuite affecter la valeur. Si la clé de balise contient une valeur vide, l'utilisateur peut saisir une valeur ou la laisser vide. Si la clé de balise contient une liste, l'utilisateur doit sélectionner une valeur dans cette liste.
Les balises définies prennent en charge la stratégie pour vous permettre de contrôler les personnes autorisées à les appliquer. L'espace de noms de balise est l'entité à laquelle vous pouvez appliquer la stratégie. Les administrateurs peuvent contrôler les groupes d'utilisateurs autorisés à utiliser chaque espace de noms.
Les diagrammes suivants illustrent les balises définies. Deux espaces de noms de balise sont configurés : Operations et HumanResources. Les clés de balise sont définies dans les espaces de noms. Au sein de chaque espace de noms, les clés de balise doivent être uniques, mais un nom de clé de balise peut être répété dans les espaces de noms. Dans l'exemple, les deux espaces de noms comportent une clé appelée "Environment".
La première instance est balisée avec deux balises de l'espace de noms de balise Operations, ce qui indique qu'elle appartient à l'environnement de production Operations et au projet Operations "Alpha". La seconde instance est balisée avec des balises provenant de l'espace de noms de balise HumanResources et de l'espace de noms de balise Operations, ce qui indique qu'elle appartient à l'environnement HumanResources "Production", au centre de coûts HumanResources "42" et également au projet Operations "Beta".
Utilisation des balises standard
Pour réduire la complexité de la création et de la gestion des balises, Oracle Cloud Infrastructure Tagging fournit des modèles d'espaces de noms de balise standard et de définitions de balise.
Vous pouvez utiliser ce modèle pour créer un espace de noms de balise et assurer la cohérence dans votre location.
Pour plus d'informations, reportez-vous à Présentation des balises standard. Pour savoir comment importer des balises standard à l'aide de la console, reportez-vous à Import de balises standard.
Utilisation des balises définies
Vous devez configurer l'espace de noms de balise et les clés de balise dans votre location pour que les utilisateurs puissent appliquer une balise définie à une ressource. Dans le cadre du processus de configuration, vous devez également accorder des droits d'accès aux groupes d'utilisateurs qui doivent utiliser l'espace de noms.
Les espaces de noms de balise et les définitions de clé de balise commençant par "oci" et "orcl" sont réservés à un usage interne.
Les fonctionnalités des balises définies sont les suivantes :
- Les balises définies se composent d'un espace de noms de balise, d'une clé et d'une valeur.
- L'espace de noms de balise et la définition de clé de balise doivent être configurés dans votre location pour que les utilisateurs puissent appliquer une balise définie à une ressource.
- Vous pouvez créer la clé de balise avec une valeur de balise de type chaîne (dans ce cas, l'utilisateur peut ajouter une valeur ou la laisser vide) ou avec une liste de valeurs (dans laquelle l'utilisateur doit faire son choix).
- Lors de l'application d'une balise définie, les utilisateurs effectuent leur sélection dans la liste des clés de balise.
- Les utilisateurs peuvent appliquer une balise définie à une ressource existante ou lors de la création d'une ressource.
- Les clés de balise définies ne respectent pas la casse.
- Les valeurs de balise définies respectent la casse. Par exemple, "alpha" et "Alpha" sont des valeurs distinctes.
- Vous pouvez utiliser des variables de balise.
- Vous pouvez créer une liste de variables prédéfinies à associer à une clé de balise. Les utilisateurs qui appliquent la balise à une ressource doivent sélectionner une valeur dans la liste que vous créez.
Les administrateurs de balises créent et gèrent les balises définies, et les utilisateurs appliquent ces dernières aux ressources. Utilisez la stratégie IAM pour sélectionner les administrateurs de balises autorisés à créer des balises. Accordez à tous les autres utilisateurs de la location le droit d'appliquer des balises uniquement.
Droits d'accès requis pour utiliser des balises définies
Afin d'appliquer, de mettre à jour ou d'enlever des balises définies pour une ressource, l'utilisateur doit disposer de droits d'accès sur la ressource et de droits d'accès l'autorisant à utiliser l'espace de noms de balise.
L'accès use
doit être accordé aux utilisateurs sur l'espace de noms de balise pour appliquer, mettre à jour ou enlever une balise définie sur une ressource.
Voici des exemples de stratégies pour les espaces de noms de balise :
Pour autoriser un groupe à visualiser simplement les espaces de noms de balise dans la location (ou dans un compartiment), l'accès inspect
doit lui être octroyé :
Allow group GroupA to inspect tag-namespaces in tenancy
Pour appliquer des balises à une ressource lors de l'utilisation de la console, un utilisateur doit disposer du droit d'accès
inspect tag-namespaces in tenancy
. Si l'utilisateur ne dispose pas de ce droit d'accès, la liste des espaces de noms de balise ne peut pas lui être présentée dans le menu de la boîte de dialogue.Pour autoriser un groupe à lire les définitions de balise contenues dans les espaces de noms de balise, l'accès read
doit lui être octroyé :
Allow group GroupA to read tag-namespaces in tenancy
Pour autoriser un groupe à appliquer, à mettre à jour ou à enlever une balise définie pour une ressource, l'accès use
doit lui être octroyé sur l'espace de noms de balise :
Allow group GroupA to use tag-namespaces in tenancy
Pour autoriser l'utilisation d'espaces de noms de balise spécifiques, employez 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'
Pour spécifier plusieurs espaces de noms de balise, utilisez la stratégie suivante :
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 balise et les définitions qui s'y trouvent, le groupe doit disposer d'un accès manage
:
Allow group GroupA to manage tag-namespaces in tenancy
Outre les droits d'accès permettant d'utiliser l'espace de noms de balise, d'appliquer ou d'enlever des balises définies sur une ressource, vous devez disposer des droits d'accès permettant de mettre à jour la ressource. Pour de nombreuses ressources, le droit d'accès permettant d'effectuer une mise à jour est accordé avec le verbe use
. Par exemple, les utilisateurs pouvant utiliser des instances dans CompartmentA peuvent également appliquer, mettre à jour ou enlever des balises définies pour les instances dans CompartmentA.
Pour certaines ressources, le verbe use
ne permet pas d'effectuer une mise à jour. Afin d'autoriser un groupe à appliquer, à mettre à jour ou à enlever des balises définies pour ces ressources sans accorder les droits d'accès complets de manage
, vous pouvez ajouter une instruction de stratégie visant à octroyer uniquement le droit <RESOURCE>_UPDATE du verbe manage
. Par exemple, pour autoriser un groupe NetworkUsers à utiliser des balises définies avec des réseaux cloud virtuels dans CompartmentA, vous pouvez écrire une stratégie semblable à la suivante :
Allow group NetworkUsers to use vcns in compartment CompartmentA
Allow group NetworkUsers to manage vcns in compartment CompartmentA where request.permission='VCN_UDPATE'
Le droit d'accès inspect
sur une ressource octroie des droits permettant de visualiser les balises définies pour cette ressource. Par exemple, les utilisateurs qui peuvent inspecter (inspect
) des instances peuvent également visualiser les balises définies qui y sont appliquées.
Pour plus d'informations sur les droits d'accès aux ressources, reportez-vous à Référence de stratégie.
Exemple de scénario
Votre entreprise dispose d'un service nommé Operations. Le service Operations regroupe plusieurs centres de coûts. Vous souhaitez pouvoir baliser les ressources appartenant au service Operations avec le centre de coûts approprié.
- Créez une définition d'espace de noms de balise appelée Operations.
- Dans l'espace de noms Operations, créez une définition de clé de balise appelée CostCenter.
Alice appartient déjà au groupe InstanceLaunchers. Elle peut gérer les instances dans CompartmentA. Vous souhaitez qu'Alice et d'autres membres du groupe InstanceLaunchers puissent appliquer la balise Operations.CostCenter aux instances de CompartmentA.
Pour accorder au groupe InstanceLaunchers l'accès à l'espace de noms de balise Operations (et uniquement à cet espace de noms de balise), ajoutez les instructions suivantes à la stratégie InstanceLaunchers :
Allow group InstanceLaunchers to use tag-namespaces in compartment CompartmentA where target.tag-namespace.name='Operations'
Alice peut maintenant appliquer la balise Operations.CostCenter aux ressources dans CompartmentA.
Héritage de balises de compartiment
Les compartiments enfant et leurs ressources dans les services de mesure tels que l'analyse des coûts, les rapports d'utilisation et le budget héritent des balises définies appliquées à un compartiment. Toutefois, en cas de conflit entre les balises héritées et les balises appliquées directement aux ressources ou aux compartiments enfant, les balises appliquées aux ressources sont prioritaires sur les balises héritées. Vous pouvez appliquer de façon dynamique des balises définies aux ressources d'un compartiment.
Par exemple, prenons une location appelée TenancyA avec TagKey1=TagValueP et un compartiment appelé Compartiment P avec TagKey3=TagValueQ et TagKey4=TagValueS. Vous disposez d'une instance de calcul dans le compartiment P avec TagKey2=TagValueR, TagKey3=TagValueT. Lorsque la logique d'héritage de balises est appliquée, les balises suivantes sont appliquées à l'instance de calcul : TagKey2=TagValueR, TagKey3=TagValueT, TagKey4=TagValueS. La ressource a hérité TagKey4=TagValueS du compartiment parent. Cependant, la valeur TagKey3 appliquée à l'instance de calcul remplace la valeur TagKey3 appliquée au compartiment parent.
Vous pouvez filtrer à l'aide de balises héritées dans l'analyse des coûts, créer des budgets avec des balises héritées et afficher ces balises dans les rapports d'utilisation.
Mise hors service des définitions de clé et d'espace de noms
Vous pouvez mettre hors service une définition de clé de balise ou une définition d'espace de noms de balise.
Lorsque vous mettez hors service une définition de clé de balise, vous ne pouvez plus l'appliquer aux ressources. Cependant, cette balise n'est pas enlevée des ressources auxquelles elle a été appliquée. La balise existe toujours en tant que métadonnée sur ces ressources et vous pouvez toujours appeler la balise mise hors service dans les opérations (par exemple pour répertorier, trier ou générer des rapports).
La mise hors service d'une balise entraîne l'arrêt du suivi des coûts de celle-ci, mais si vous ne désactivez pas l'option de suivi des coûts sur la définition de clé de balise, la balise mise hors service continue d'être comptabilisée dans la limite maximale de 10 balises 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 balise. Pour désactiver le suivi des coûts après avoir mis hors service une balise, vous devez réactiver la définition de clé de balise. Vous ne pouvez pas mettre à jour des définitions de clé de balise qui sont mises hors service.
Réactivation des définitions de clé de balise et d'espace de noms
Vous pouvez réactiver les définitions de clé de balise et les définitions d'espace de noms de balise mises hors service.
- Lorsque vous réactivez une clé de balise, elle peut à nouveau être appliquée à des ressources.
- Lorsque vous réactivez un espace de noms de balise, vous pouvez créer des définitions de clé de balise dans cet espace de noms. Toutefois, si vous voulez utiliser l'une des définitions de clé de balise qui ont été mises hors service avec l'espace de noms, vous devez réactiver explicitement chaque définition de clé de balise.
Déplacement d'espaces de noms de balise vers un autre compartiment
Vous pouvez déplacer un espace de noms de balise vers un autre compartiment. L'espace de noms de balise peut être actif ou mis hors service lors de son déplacement. Lorsque vous déplacez l'espace de noms de balise, toutes ses définitions de clé de balise sont déplacées avec lui.
Cette fonctionnalité s'avère utile si vous devez réorganiser la hiérarchie de compartiments ou supprimer un compartiment contenant un espace de noms de balise mis hors service. N'oubliez pas que vous ne pouvez pas supprimer un compartiment qui contient des ressources. Un espace de noms de balise, même s'il est mis hors service, est toujours une ressource existante. Le déplacement de l'espace de noms de balise mis hors service vers un autre compartiment peut permettre de supprimer son compartiment d'origine.
Pour déplacer un espace de noms de balise, vous devez disposer du droit d'accès manage tag-namespaces
dans les deux compartiments.
Reportez-vous à Déplacement d'un espace de noms de balise vers un autre compartiment.
Suppression des espaces de noms et des définitions de clé de balise
Vous pouvez supprimer des définitions de clé de balise et des espaces de noms de balise.
Lorsque vous supprimez une définition de clé de balise, vous démarrez un processus qui enlève la balise de toutes les ressources de la location. Ces opérations ont lieu immédiatement :
- S'il s'agissait d'une balise de suivi des coûts, elle n'est plus prise en compte dans la limite de 10 balises de suivi des coûts, que vous l'ayez ou non désactivée.
- Si la balise était utilisée avec des groupes dynamiques, aucune des règles contenant la balise ne sera évaluée par rapport à la balise.
L'action de suppression est asynchrone et lance une demande de travail. Une fois que vous avez lancé l'opération de suppression, l'état de la balise passe à Suppression et la suppression de la balise des ressources commence. Ce processus peut prendre jusqu'à 48 heures, selon le nombre de ressources balisées et les régions dans lesquelles ces ressources résident. Lorsque toutes les balises sont enlevées, l'état passe à Supprimé. Vous ne pouvez pas restaurer une balise supprimée. Une fois que la balise prend l'état Supprimé, vous pouvez réutiliser son nom.
Pour supprimer une définition de clé de balise, vous devez d'abord la mettre hors ligne. Pour supprimer un espace de noms de balise, vous devez d'abord le mettre hors service. Lorsque vous mettez hors service un espace de noms de balise contenant des définitions de clé de balise, toutes les clés de balise de l'espace de noms sont mises hors service, ce qui vous permet de supprimer l'espace de noms de balise.