In diesem Dokument wird beschrieben, wie Sie Ihre vorhandenen Tag-Schlüssel/Wert-Paare verwalten, mit denen Sie Ihre Projekte in Google Distributed Cloud (GDC) mit Air Gap organisieren. Tags können von Administratoren mit IAM-Berechtigungen (Identity and Access Management) aufgerufen werden. Sie können Berechtigungen für Ihre Schlüssel/Wert-Paare für Tags festlegen, um zu bestimmen, wer sie sehen kann, wenn sie an ein Projekt gebunden sind. Sie können auch vorhandene Tag-Attribute aufrufen, um nachzuvollziehen, wie Ihre Tags in Ihrer Organisation angewendet werden. Beispiele:
Weitere Informationen zu Tags finden Sie unter Tags – Übersicht.
Dieses Dokument richtet sich an IT-Administratoren in der Gruppe der Plattformadministratoren, die für die Organisation und Verwaltung von Projekten in einem GDC-Universum verantwortlich sind. Weitere Informationen finden Sie unter Dokumentation zu Zielgruppen für GDC mit Air Gap.
Hinweis
Bitten Sie Ihren IAM-Administrator der Organisation, Ihnen die Rolle „Tag-Administrator“ (
tag-admin) zuzuweisen, damit Sie die Berechtigungen erhalten, die Sie benötigen, um anderen Nutzern Tag-Berechtigungen zu erteilen oder Tag-Namespace für Schlüssel/Wert-Paare zu prüfen.Bitten Sie Ihren IAM-Administrator der Organisation, Ihnen die Rolle „Projektbetrachter“ (
project-viewer) zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Auflisten eines Projekts mit einem Tag benötigen.
Berechtigungen auf Ihr Tag-Schlüssel/Wert-Paar anwenden
Für jeden Tag-Schlüssel und Tag-Wert sind bestimmte Rollenbindungen erforderlich, damit Nutzer darauf zugreifen und sie verwalten können.
Weisen Sie Ihren Tag-Schlüsseln und ‑Werten die entsprechenden Rollen zu, um Berechtigungen anzuwenden.
Ermitteln Sie den gewünschten Rollennamen und die erforderlichen Namespaces, um diese Rolle anzuwenden. Weitere Informationen finden Sie unter Tag-Verwendung.
Gewähren Sie die Rollenberechtigungen für ein Tag, indem Sie die
RoleBinding-Ressource für jeden definierten Namespace anwenden:kubectl apply -f - <<EOF apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: BINDING_NAME namespace: NAMESPACE subjects: - kind: GROUP_SUBJECT name: GROUP_NAME apiGroup: rbac.authorization.k8s.io roleRef: kind: Role name: TAG_ROLE_NAME apiGroup: rbac.authorization.k8s.io EOFErsetzen Sie Folgendes:
BINDING_NAME: Der benutzerdefinierte Name für die Rollenbindung.NAMESPACE: Der Namespace, auf den die Rollenbindung angewendet werden soll, z. B.platform, der Verwaltungs-Namespace des Tag-Schlüssels oder der Richtlinien-Namespace des Tag-Werts.GROUP_SUBJECT: Die Art des Subjekts, auf das die Rollenberechtigungen angewendet werden sollen. Dieser Wert kannUser,GroupoderServiceAccountsein. Weitere Informationen finden Sie in der Kubernetes-Dokumentation unter Referring to subjects.GROUP_NAME: der Name der benutzerdefinierten Gruppe.TAG_ROLE_NAME: Der Name der anzuwendenden Tag-Rolle, z. B.tag-adminodertag-KEY_NAME-admin.
Wenn Sie einem Nutzer beispielsweise die Berechtigung für die Rolle
tag-adminfür ein Tag-Schlüssel/Wert-Paar erteilen möchten, stellen Sie die folgenden benutzerdefiniertenRoleBinding-Ressourcen im Namespaceplatform, demmanagementNamespacedes Tag-Schlüssels und dempolicyNamespacedes Tag-Werts bereit:kubectl apply -f - <<EOF apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: tag-admin-binding namespace: platform subjects: - kind: User name: user-1 apiGroup: rbac.authorization.k8s.io roleRef: kind: Role name: tag-admin apiGroup: rbac.authorization.k8s.io --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: tag-admin-mgmt-binding namespace: g-t-tag-key-1 subjects: - kind: User name: user-1 apiGroup: rbac.authorization.k8s.io roleRef: kind: Role name: tag-admin apiGroup: rbac.authorization.k8s.io --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: tag-admin-policy-binding namespace: g-t-tag-value-1 subjects: - kind: User name: user-1 apiGroup: rbac.authorization.k8s.io roleRef: kind: Role name: tag-admin apiGroup: rbac.authorization.k8s.io EOF
Verwaltungs-Namespace finden
Ein Verwaltungs-Namespace ist der vom System generierte Namespace, der für einen Tag-Schlüssel erstellt wird.
Suchen Sie den Verwaltungs-Namespace des jeweiligen Tag-Schlüssels:
kubectl get tagkey TAG_KEY_NAME --namespace platform \ -o jsonpath='{.status.managementNamespace}'Ersetzen Sie
TAG_KEY_NAMEdurch den Namen Ihres Tag-Schlüssels.
Richtlinien-Namespace suchen
Ein Richtlinien-Namespace ist der vom System generierte Namespace, der für einen Tag-Wert erstellt wird.
So finden Sie den Richtlinien-Namespace des jeweiligen Tag-Werts:
kubectl get tagvalue TAG_VALUE_NAME --namespace MANAGEMENT_NAMESPACE \ -o jsonpath='{.status.policyNamespace}'Ersetzen Sie Folgendes:
TAG_VALUE_NAME: der Name des Tag-Werts.MANAGEMENT_NAMESPACE: Der Name des Management-Namespace für den entsprechenden Tag-Schlüssel des Tag-Werts. Weitere Informationen finden Sie unter Verwaltungs-Namespace finden.
Projekte mit einem Tag auflisten
So listen Sie alle Projekte auf, die an ein bestimmtes Schlüssel/Wert-Paar gebunden sind:
Alle Projekte auflisten, die Ihrem Schlüssel/Wert-Paar für Tags entsprechen:
kubectl get project --namespace platform --label tag.resourcemanager.gdc.goog/TAG_KEY_NAME=TAG_VALUE_NAMEErsetzen Sie Folgendes:
TAG_KEY_NAME: der Name des Tag-Schlüssels.TAG_VALUE_NAME: der Name des Tag-Werts.
Die Ausgabe sieht etwa so aus:
NAME AGE project-1 17d project-2 10d project-3 4d
Nächste Schritte
- Ressourcenhierarchie
- Mit Dienstkonten authentifizieren
- Einrichtung von Berechtigungen für das Design