Tags und Tag-Namespace-Konzepte
Oracle Cloud Infrastructure unterstützt zwei Arten von Tags: Freiformtags und definierte Tags. Durch Erstellen und Anwenden von Tags können Sie Listen von Ressourcen abrufen, die mit bestimmten Schlüsseln getaggt sind, und zwar von jedem Service, der Tagging unterstützt.
Dieses Video bietet eine Einführung in die Konzepte und Features des Taggings: Introduction to Tagging.
Erforderliche IAM-Policy
Wenn Sie Teil der Administratorengruppe sind, verfügen Sie über die erforderlichen Zugriffsberechtigungen, um Tag-Namespaces und Tags zu verwalten.
Weitere Policy-Beispiele für das Arbeiten mit Tags und Tag-Namespaces finden Sie unter Erforderliche Berechtigungen für das Arbeiten mit definierten Tags.
Wenn Sie mit Policys nicht vertraut sind, finden Sie weitere Informationen unter Identitätsdomains verwalten und Allgemeine Policys. Weitere Informationen zum Schreiben von Policys für Gruppen oder andere IAM-Komponenten finden Sie unter Details zu IAM ohne Identitätsdomains.
Überblick über Tags und Tag-Namespaces
Definierte Tags bieten mehr Features und eine bessere Kontrolle als Freiformtags. Bevor Sie einen Schlüssel für ein definiertes Tag erstellen, müssen Sie zuerst einen Tag-Namespace dafür einrichten. Sie können sich einen Tag-Namespace wie einen Container für Tagschlüssel vorstellen.
Wenn Sie die Tagschlüsseldefinition erstellen, müssen Sie den Werttyp auswählen (damit wird auch festgelegt, wie der Benutzer, der das Tag anwendet, den Wert hinzufügt):
- Sie können ihn leer lassen, damit der Benutzer den Wert eingeben kann.
- Sie können eine Werteliste erstellen, damit der Benutzer aus den vorgegebenen Werten auswählen muss.
Die zulässigen Zeichen für Tag-Namespaces und -Schlüssel sind druckbare ASCII-Zeichen, mit Ausnahme von U+0020-Speicherplatz (" ") und U+002E-Vollständiger Stopp ("."). Namespace- und Schlüsselnamen dürfen nicht leer sein.
Geben Sie dabei keine vertraulichen Informationen ein.
Um auf eine Ressource ein definiertes Tag anzuwenden, muss der Benutzer zuerst den Tag-Namespace und dann den Tagschlüssel im Namespace auswählen. Anschließend kann er den Wert zuweisen. Wenn der Tagschlüssel einen leeren Wert enthält, kann der Benutzer einen Wert eingeben oder den Wert leer lassen. Wenn der Tagschlüssel eine Liste enthält, muss der Benutzer einen Wert aus der Liste auswählen.
Definierte Tags unterstützen Policys, mit denen Sie steuern können, wer die definierten Tags anwenden kann. Der Tag-Namespace ist die Entity, auf die Sie Policys anwenden können. Administratoren können steuern, welche Benutzergruppen welchen Namespace verwenden dürfen.
In den folgenden Diagrammen sind definierte Tags dargestellt. Es wurden zwei Tag-Namespaces eingerichtet: "Operations" und "HumanResources". Die Tagschlüssel sind in den Namespaces definiert. Die Tagschlüssel müssen in den einzelnen Namespaces eindeutig sein. Ein Tagschlüsselname kann sich jedoch in unterschiedlichen Namespaces wiederholen. Im Beispiel enthalten beide Namespaces einen Schlüssel mit dem Namen "Environment".
Die erste Instanz ist mit zwei Tags aus dem Tag-Namespace "Operations" getaggt. Damit wird angegeben, dass sie zur Umgebung "Production" von "Operations" und zum Projekt "Alpha" von "Operations" gehört. Die zweite Instanz ist mit Tags aus dem Tag-Namespace "HumanResources" und dem Tag-Namespace "Operations" getaggt. Damit wird angegeben, dass sie zur Umgebung "Production" von "HumanResources", zur Kostenstelle "42" von "HumanResources" und zum Projekt "Beta" von "Operations" gehört.
Mit Standard-Tags arbeiten
Um die Komplexität beim Erstellen und Verwalten von Tags zu reduzieren, stellt Oracle Cloud Infrastructure Tagging Vorlagen mit Standardtag-Namespaces und Tagdefinitionen bereit.
Mit dieser Vorlage können Sie einen Tag-Namespace erstellen und Konsistenz in Ihrem Mandanten gewährleisten.
Weitere Informationen finden Sie unter Standardtags. Informationen zum Importieren von Standardtags mit der Konsole finden Sie unter Standardtags importieren.
Mit definierten Tags arbeiten
Sie müssen in Ihrem Mandanten den Tag-Namespace und die Tagschlüssel einrichten, bevor Benutzer ein definiertes Tag auf eine Ressource anwenden können. Beim Einrichten müssen Sie außerdem den Benutzergruppen, die den Namespace verwenden müssen, Berechtigungen erteilen.
Mit "oci" und "orcl" beginnende Tag-Namespaces und Tagschlüsseldefinitionen sind für die interne Verwendung reserviert.
Definierte Tags haben folgende Features:
- Sie bestehen aus einem Tag-Namespace, einem Schlüssel und einem Wert.
- Sie müssen in Ihrem Mandanten den Tag-Namespace und die Tagschlüsseldefinition einrichten, bevor Benutzer ein definiertes Tag auf eine Ressource anwenden können.
- Sie können den Tagschlüssel entweder mit dem Tagwerttyp "Zeichenfolge" (damit der Benutzer einen Wert hinzufügen oder den Wert leer lassen kann) oder mit einer Werteliste (aus der der Benutzer einen Wert auswählen muss) erstellen.
- Beim Anwenden eines definierten Tags wählen Benutzer aus der Liste mit Tagschlüsseln aus.
- Benutzer können ein definiertes Tag beim Erstellen einer Ressource oder auf eine vorhandene Ressource anwenden.
- Bei Schlüsseln für definierte Tags muss die Groß- und Kleinschreibung nicht beachtet werden.
- Bei Werten für definierte Tags muss die Groß- und Kleinschreibung beachtet werden. Beispiel: "alpha" und "Alpha" sind unterschiedliche Werte.
- Sie können Tagvariablen verwenden.
- Sie können eine Liste vordefinierter Variablen erstellen, die einem Tagschlüssel zugeordnet werden sollen. Benutzer, die das Tag auf eine Ressource anwenden, müssen einen Wert aus der erstellten Liste auswählen.
Tagadministratoren erstellen und verwalten definierte Tags, und Benutzer wenden diese Tags auf Ressourcen an. Mit der IAM-Policy können Sie Tagadministratoren auswählen, die Tags erstellen können. Erteilen Sie allen anderen Benutzern im Mandanten nur die Berechtigung, Tags anzuwenden.
Erforderliche Berechtigungen für das Arbeiten mit definierten Tags
Damit Benutzer definierte Tags auf eine Ressource anwenden sowie definierte Tags einer Ressource aktualisieren oder entfernen können, benötigen sie Berechtigungen für die Ressource und zur Verwendung des Tag-Namespace.
Damit Benutzer definierte Tags auf eine Ressource anwenden sowie definierten Tags einer Ressource aktualisieren oder entfernen können, benötigen sie die Zugriffsberechtigung use
(verwenden) für den Tag-Namespace.
Im Folgenden finden Sie einige Beispiel-Policys für Tag-Namespaces:
Damit eine Gruppe die Tag-Namespaces im Mandanten (oder in einem Compartment) anzeigen kann, ist die Zugriffsberechtigung inspect
(prüfen) erforderlich:
Allow group GroupA to inspect tag-namespaces in tenancy
Um mit der Konsole Tags auf eine Ressource anwenden zu können, muss ein Benutzer die Berechtigungen zum Prüfen von Tag-Namespaces im Mandanten (
inspect tag-namespaces in tenancy
) haben. Verfügt der Benutzer nicht über diese Berechtigung, kann ihm die Liste der Tag-Namespaces im Dialogmenü nicht angezeigt werden.Damit eine Gruppe die in Tag-Namespaces enthaltenen Tagdefinitionen lesen kann, ist die Zugriffsberechtigung read
(lesen) erforderlich:
Allow group GroupA to read tag-namespaces in tenancy
Damit eine Gruppe definierte Tags auf eine Ressource anwenden sowie definierte Tags einer Ressource aktualisieren oder entfernen kann, ist die Zugriffsberechtigung use
(verwenden) für den Tag-Namespace erforderlich:
Allow group GroupA to use tag-namespaces in tenancy
Verwenden Sie eine where
-Klausel mit der target.tag-namespace.name
-Variablen, um die Nutzung eines bestimmten Tag-Namespace oder von Namespaces zu ermöglichen. Beispiel:
Allow group GroupA to use tag-namespaces in tenancy where target.tag-namespace.name='Operations'
Verwenden Sie folgende Klausel, um mehrere Tag-Namespaces anzugeben:
Allow group GroupA to use tag-namespaces in tenancy where any {target.tag-namespace.name='Operations', target.tag-namespace.name='HumanResources'}
Zum Verwalten von Tag-Namespaces und den darin enthaltenen Tagdefinitionen ist die Zugriffsberechtigung manage
(verwalten) erforderlich:
Allow group GroupA to manage tag-namespaces in tenancy
Neben den Berechtigungen zum Arbeiten mit dem Tag-Namespace müssen Sie zum Anwenden definierter Tags auf eine Ressource oder zum Entfernen solcher Tags über die Berechtigung zum Aktualisieren der Ressource verfügen. Bei vielen Ressourcen wird die Aktualisierungsberechtigung mit dem Verb use
(verwenden) erteilt. Beispiel: Benutzer, die Instanzen verwenden in CompartmentA können, können auch definierte Tags auf Instanzen in CompartmentA anwenden, aktualisieren oder entfernen.
Einige Ressourcen enthalten nicht die Aktualisierungsberechtigung mit dem Verb use
(verwenden). Damit eine Gruppe definierte Tags auf diese Ressourcen anwenden sowie definierte Tags dieser Ressource aktualisieren oder entfernen kann, ohne dass die vollständigen Berechtigungen für manage
(verwalten) erteilt werden müssen, können Sie eine Policy-Anweisung hinzufügen, um nur die Berechtigung <RESOURCE>_UPDATE mit dem Verb manage
(verwalten) zu erteilen. Um der Gruppe "NetworkUsers" die Arbeit mit definierten Tags inklusive VCNs in CompartmentA zu ermöglichen, könnten Sie beispielsweise eine Policy wie diese schreiben:
Allow group NetworkUsers to use vcns in compartment CompartmentA
Allow group NetworkUsers to manage vcns in compartment CompartmentA where request.permission='VCN_UDPATE'
Mit dem Verb inspect
(prüfen) für eine Ressource werden die Berechtigungen zur Anzeige von definierten Tags für diese Ressource erteilt. Benutzer, die für Instanzen den Befehl inspect
(prüfen) ausführen können, können auch alle definierten Tags anzeigen, die auf die Instanz angewendet wurden.
Informationen zu Ressourcenberechtigungen finden Sie unter Policy-Referenz.
Beispielszenario
Ihr Unternehmen verfügt über eine Abteilung "Operations". Innerhalb der Abteilung "Operations" gibt es mehrere Kostenstellen. Sie möchten Ressourcen, die zur Abteilung "Operations" gehören, mit der entsprechenden Kostenstelle taggen können.
- Erstellen Sie eine Tag-Namespace-Definition mit dem Namen "Operations".
- Erstellen Sie im Operations-Namespace eine Tagschlüsseldefinition "CostCenter".
Alice gehört bereits zur Gruppe InstanceLaunchers. Alice kann Instanzen in CompartmentA verwalten. Alice und andere Mitglieder der InstanceLaunchers-Gruppe sollen das Tag Operations.CostCenter auf Instanzen in CompartmentA anwenden können.
Um der InstanceLaunchers-Gruppen Zugriff auf den Tag-Namespace "Operations" (und nur auf den Tag-Namespace "Operations") zu erteilen, fügen Sie der InstanceLaunchers-Policy die folgenden Anweisungen hinzu:
Allow group InstanceLaunchers to use tag-namespaces in compartment CompartmentA where target.tag-namespace.name='Operations'
Alice kann jetzt das Tag "Operations.CostCenter" auf Ressourcen in CompartmentA anwenden.
Compartment-Tags übernehmen
Die untergeordneten Compartments und ihre Ressourcen in Metadatenservices wie Kostenanalyse, Nutzungsberichte und Budget übernehmen die definierten Tags, die auf ein Compartment angewendet wurden. Wenn jedoch ein Konflikt zwischen den geerbten Tags und den Tags besteht, die direkt auf die Ressourcen oder die untergeordneten Compartments angewendet werden, haben die auf die Ressourcen angewendeten Tags Vorrang vor den geerbten Tags. Sie können definierte Tags dynamisch auf Ressourcen in einem Compartment anwenden.
Beispiel: Ein Mandant mit dem Namen TenancyA mit TagKey1=TagValueP und ein Compartment mit dem Namen "Compartment P" mit TagKey3=TagValueQ und TagKey4=TagValueS. In Compartment P befindet sich eine Compute-Instanz mit TagKey2=TagValueR, TagKey3=TagValueT. Wenn die Tagvererbungslogik angewendet wird, werden die folgenden Tags auf die Compute-Instanz angewendet: TagKey2=TagValueR, TagKey3=TagValueT, TagKey4=TagValueS. Die Ressource hat TagKey4=TagValueS aus dem übergeordneten Compartment geerbt. Die auf die Compute-Instanz angewendete TagKey3 setzt jedoch den Wert TagKey3 außer Kraft, der auf das übergeordnete Compartment angewendet wird.
Sie können in der Kostenanalyse geerbte Tags filtern, Budgets mit geerbten Tags erstellen und diese Tags in den Nutzungsberichten anzeigen.
Schlüsseldefinitionen und Namespace-Definitionen einstellen
Sie können die Definition eines Tagschlüssels oder eines Tag-Namespace einstellen.
Wenn Sie die Definition eines Tagschlüssels einstellen, können Sie sie nicht mehr auf Ressourcen anwenden. Das Tag wird jedoch nicht aus den Ressourcen entfernt, auf die es angewendet wurde. Solche Tags sind weiterhin als Metadaten zu diesen Ressourcen vorhanden. Sie können eingestellte Tags auch weiterhin in Vorgängen wie Auflisten, Sortieren oder Reporting aufrufen.
Durch Einstellen eines Tags wird die Kostenverfolgung für das Tag gestoppt. Wenn Sie die Option zur Kostenverfolgung in der Tagschlüsseldefinition allerdings nicht deaktivieren, zählt das eingestellte Tag weiterhin zur maximalen Anzahl von 10 Kostenverfolgungstags für Ihren Mandanten. Deaktivieren Sie die Kostenverfolgung, bevor Sie die Tagschlüsseldefinition einstellen. Um die Kostenverfolgung zu deaktivieren, nachdem ein Tag eingestellt wurde, müssen Sie die Tagschlüsseldefinition erneut aktivieren. Sie können keine Tagschlüsseldefinitionen aktualisieren, die den Status "Eingestellt" haben.
Tagschlüsseldefinitionen und Tag-Namespace-Definitionen erneut aktivieren
Sie können eingestellte Tagschlüsseldefinitionen und Tag-Namespace-Definitionen erneut aktivieren.
- Wenn Sie einen Tagschlüssel erneut aktivieren, können Sie ihn auch wieder auf Ressourcen anwenden.
- Wenn Sie einen Tag-Namespace erneut aktivieren, können Sie in diesem Namespace neue Tagschlüsseldefinitionen erstellen. Wenn Sie jedoch eine der Tagschlüsseldefinitionen verwenden möchten, die zusammen mit dem Namespace eingestellt wurden, müssen Sie jede einzelne Tagschlüsseldefinition explizit erneut aktivieren.
Tag-Namespaces in ein anderes Compartment verschieben
Sie können einen Tag-Namespace in ein anderes Compartment verschieben. Der Tag-Namespace kann aktiv oder eingestellt sein, wenn Sie ihn verschieben. Wenn Sie den Tag-Namespace verschieben, werden alle seine Tagschlüsseldefinitionen zusammen mit ihm verschoben.
Diese Funktionalität ist hilfreich, wenn Sie die Compartment-Hierarchie neu organisieren oder ein Compartment löschen müssen, das einen eingestellten Tag-Namespace enthält. Sie können ein Compartment, das Ressourcen enthält, nicht löschen. Ein eingestellter Tag-Namespace gilt immer noch als vorhandene Ressource, obwohl er eingestellt ist. Wenn Sie den eingestellten Tag-Namespace in ein anderes Compartment verschieben, können Sie das Compartment löschen, in dem er sich ursprünglich befunden hat.
Damit Sie einen Tag-Namespace verschieben können, müssen Sie für beide Compartments die Berechtigung zum Verwalten von Tag-Namespaces (manage tag-namespaces
) haben.
Informationen hierzu finden Sie unter dem Thema unter Tag-Namespace in ein anderes Compartment verschieben.
Tagschlüsseldefinitionen und Tag-Namespaces löschen
Sie können Tagschlüsseldefinitionen und Tag-Namespaces löschen.
Wenn Sie eine Tagschlüsseldefinition löschen, starten Sie einen Prozess, mit dem das Tag aus allen Ressourcen in Ihrem Mandanten entfernt wird. Folgendes passiert dabei sofort:
- Wenn das Tag ein Kostenverfolgungstag war, zählt es nicht mehr zum Limit von 10 Kostenverfolgungstags, unabhängig davon, ob Sie es zuvor deaktiviert haben oder nicht.
- Wenn das Tag mit dynamischen Gruppen verwendet wurde, wird keine der Regeln, die das Tag enthalten, anhand des Tags ausgewertet.
Der Löschvorgang ist asynchron und löst eine Arbeitsanforderung aus. Sobald Sie den Löschvorgang starten, ändert sich der Status des Tags in "Wird gelöscht", und es wird begonnen, die Tags aus den Ressourcen zu entfernen. Dieser Prozess kann je nach Anzahl getaggter Ressourcen und je nach Regionen, in denen sich die Ressourcen befinden, bis zu 48 Stunden dauern. Wurden alle Tags entfernt, ändert sich der Status in "Gelöscht". Sie können ein gelöschtes Tag nicht wiederherstellen. Nachdem der Status des Tags in "Gelöscht" geändert wurde, können Sie den Tagnamen erneut verwenden.
Um eine Tagschlüsseldefinition zu löschen, müssen Sie sie zunächst einstellen. Um einen Tag-Namespace zu löschen, müssen Sie zuerst den Tag-Namespace einstellen. Wenn Sie einen Tag-Namespace einstellen, der Tagschlüsseldefinitionen enthält, werden alle Tagschlüssel im Namespace eingestellt, und Sie können den Tag-Namespace löschen.