Auf dieser Seite werden die Best Practices für die Identitäts- und Zugriffsverwaltung (Identity and Access Management, IAM) für den Application Operator (AO) auf der Air-Gap-Appliance von Google Distributed Cloud (GDC) beschrieben.
Ein Identitätsanbieter (IdP) ist eine Systementität, die Identitätsinformationen für Principals erstellt, verwaltet und pflegt. Der IdP bietet auch Authentifizierungsdienste für Anwendungen in einer Föderation oder einem verteilten Netzwerk.
Anmelden
In diesem Abschnitt wird beschrieben, wie Sie über die Web-Benutzeroberfläche oder die Befehlszeilenschnittstelle auf Ihre Arbeitslasten zugreifen.
In der Web-UI anmelden
Auf dieser Seite wird beschrieben, wie Sie auf Ihre Arbeitslasten und Ressourcen in der Air-Gap-Appliance von Google Distributed Cloud (GDC) zugreifen und sie verwalten. Darin wird beschrieben, wie Sie sich authentifizieren, kubeconfig-Dateien für einen Management API-Server und einen Kubernetes-Cluster generieren und Sitzungsaktivität verwalten. Wenn Sie diese Prozesse verstehen, können Sie sicher und zuverlässig auf Ihre Projekte und Arbeitslasten zugreifen.
Sie können über die GDC-Konsole oder die gdcloud CLI auf Ihre Arbeitslasten zugreifen.
Anmelden
So melden Sie sich in der GDC-Konsole oder in einem Cluster an:
Console
Öffnen Sie die folgende URL in einem neuen Browsertab, um auf die Benutzeroberfläche der GDC-Appliance ohne Internetverbindung zuzugreifen:
https://GDC_URL
Ersetzen Sie GDC_URL
durch den Domainnamen, den Sie für den Zugriff auf GDC verwenden und der vom Infrastructure Operator (IO) bereitgestellt wird. Wenn Sie eine URL zum ersten Mal öffnen, werden Sie von GDC zur Anmeldeseite Ihres Identitätsanbieters weitergeleitet, wenn der Infrastruktur-Operator (IO) die Seite konfiguriert hat.
Die folgende Seite wird beispielsweise nach der Anmeldung in der Console für eine Organisation mit dem Namen „org-1“ angezeigt:
Befehlszeile
Sie können sich in jedem Cluster anmelden, für den Sie die Berechtigung zum Zugriff haben. Der CLI-Anmeldevorgang ist für alle Cluster identisch. Sie müssen nur den Clusternamen und die zugehörige kubeconfig
-Datei angeben und sich separat in jedem Cluster anmelden.
Bevor Sie sich anmelden, müssen Sie Folgendes tun:
- Laden Sie die Binärdatei für die gdcloud CLI herunter und installieren Sie sie auf Ihrem System. Weitere Informationen finden Sie unter gcloud CLI herunterladen.
- Richten Sie die Standardkonfiguration der gcloud CLI ein und initialisieren Sie sie. Achten Sie darauf, die richtige Organisations-URL festzulegen, die zum Abrufen des Anmeldekonfigurationsendpunkts verwendet wird. Weitere Informationen finden Sie unter gcloud CLI installieren.
- Installieren Sie das Authentifizierungs-Plug-in
gdcloud-k8s-auth-plugin
. Weitere Informationen finden Sie unter Authentifizierung der gcloud CLI.
Führen Sie die folgenden Schritte aus, um sich bei einem Cluster anzumelden:
Authentifizieren Sie Ihre gcloud CLI-Instanz, um sich anzumelden. Es gibt zwei Möglichkeiten zur Authentifizierung:
Standardanmeldung im Browser:Verwenden Sie diesen Authentifizierungsablauf, wenn Sie sich über einen Browser anmelden.
gdcloud auth login
Anmeldung auf einem sekundären Gerät:Verwenden Sie diesen Authentifizierungsvorgang, wenn auf Ihrem primären Gerät kein Browser verfügbar ist. Bei diesem Ablauf wird die Anmeldung auf dem Hauptgerät ohne Browserzugriff gestartet und auf dem Zweitgerät mit Browserzugriff fortgesetzt.
So starten Sie die Anmeldung auf Ihrem Hauptgerät ohne Browser:
gdcloud auth login --no-browser
Der Befehl auf dem primären Gerät gibt einen weiteren
gdcloud
-Befehl aus, den Sie in Schritt c auf dem sekundären Gerät ausführen müssen.Wiederholen Sie Schritt 1 von Bei einem Cluster anmelden, um das Zertifikat auf das sekundäre Gerät herunterzuladen.
Schließen Sie die Anmeldung auf dem sekundären Gerät ab, indem Sie den Befehl eingeben, der auf dem primären Gerät in Schritt a angezeigt wird.
Dadurch wird ein Browser geöffnet, in dem Sie sich beim konfigurierten Identitätsanbieter (IdP) anmelden können. Geben Sie den Nutzer und das Passwort an, die Sie bei der ersten Einrichtung der gcloud CLI festgelegt haben, um sich anzumelden.
Exportieren Sie die Datei mit Ihrer Nutzeridentität
kubeconfig
als Variable:export KUBECONFIG=/tmp/admin-kubeconfig-with-user-identity.yaml
Generieren Sie eine
kubeconfig
-Datei mit Ihrer Nutzeridentität:gdcloud clusters get-credentials CLUSTER_NAME
Eine
kubeconfig
-Datei wird mit Ihrer Nutzeridentität generiert. Die folgende YAML-Datei zeigt ein Beispiel:apiVersion: v1 clusters: - cluster: certificate-authority-data: <REDACTED> server: https://10.200.0.32:443 name: cluster-name contexts: - context: cluster: cluster-name user: cluster-name-anthos-default-user name: cluster-name-cluster-name-anthos-default-user current-context: cluster-name-cluster-name-anthos-default-user kind: Config preferences: {} users: - name: cluster-name-anthos-default-user user: exec: apiVersion: client.authentication.k8s.io/v1 args: - --audience=root-admin command: gdcloud-k8s-auth-plugin env: null installHint: Run 'gdcloud components install gdcloud-k8s-auth-plugin' to use plugin interactiveMode: Never provideClusterInfo: false
So prüfen Sie, ob Sie auf den Cluster zugreifen können: Melden Sie sich mit der generierten
kubeconfig
-Datei mit einer Nutzeridentität an:kubectl --kubeconfig /tmp/admin-kubeconfig-with-user-identity.yaml version
Abmelden
So melden Sie sich von der GDC Console ab:
Console
Klicken Sie in der Menüleiste auf
Abmelden.Befehlszeile
Von der CLI abmelden:
gdcloud auth revoke
kubeconfig-Datei manuell generieren
Wenn Sie Ressourcen mit der kubectl-Befehlszeile verwalten, indem Sie KRM-APIs direkt aufrufen, müssen Sie die kubeconfig-Datei für den Cluster generieren, der Ihre Ressource hostet. Das hängt vom Ressourcentyp ab, den Sie verwalten. In der Dokumentation der Ressource finden Sie Informationen zur benötigten kubeconfig-Datei.
Führen Sie die entsprechende Einrichtung basierend auf Ihrem Ressourcentyp durch.
Verwaltungs-API-Serverressourcen
Führen Sie die folgenden Schritte aus, um die kubeconfig-Datei für den Management API-Server zu generieren:
Legen Sie die Umgebungsvariable
MANAGEMENT_API_SERVER
fest:export MANAGEMENT_API_SERVER="root-admin"
Generieren Sie die kubeconfig-Datei des Management API-Servers und validieren Sie die Anmeldedaten:
export KUBECONFIG=${HOME}/${MANAGEMENT_API_SERVER:?}-kubeconfig.yaml rm ${KUBECONFIG:?} gdcloud clusters get-credentials ${MANAGEMENT_API_SERVER:?} [[ $(kubectl config current-context) == *${MANAGEMENT_API_SERVER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"
Mit dem Befehl
rm ${KUBECONFIG:?}
wird die vorhandene kubeconfig-Datei im Home-Verzeichnis entfernt. Wenn Sie eine neue kubeconfig-Datei generieren, wird die vorhandene Datei überschrieben. Wenn Sie die vorhandene Datei nicht überschreiben oder entfernen möchten, sichern Sie sie an einem anderen sicheren Ort.
Kubernetes-Clusterressourcen
Führen Sie die folgenden Schritte aus, um die kubeconfig-Datei für den Bare Metal-Kubernetes-Cluster zu generieren:
Legen Sie die Umgebungsvariable
KUBERNETES_CLUSTER
fest:export KUBERNETES_CLUSTER="root-infra"
Generieren Sie die kubeconfig-Datei für den Kubernetes-Cluster und validieren Sie die Anmeldedaten:
export KUBECONFIG=${HOME}/${KUBERNETES_CLUSTER:?}-kubeconfig.yaml rm ${KUBECONFIG:?} gdcloud clusters get-credentials ${KUBERNETES_CLUSTER:?} [[ $(kubectl config current-context) == *${KUBERNETES_CLUSTER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"
Mit dem Befehl
rm ${KUBECONFIG:?}
wird die vorhandene kubeconfig-Datei im Home-Verzeichnis entfernt. Wenn Sie eine neue kubeconfig-Datei generieren, wird die vorhandene Datei überschrieben. Wenn Sie die vorhandene Datei nicht überschreiben oder entfernen möchten, sichern Sie sie an einem anderen sicheren Ort.
Abmeldung bei Inaktivität
Nach 15 Minuten oder mehr Inaktivität in einer Sitzung werden Sie von der GDC-Konsole und der gdcloud-CLI abgemeldet. Bei GDC gilt eine Sitzung als inaktiv, wenn während einer offenen Sitzung keine aktiven Aktionen von Ihnen erfolgen, z. B. keine Maus- oder Tastaturbewegungen. Eine aktive Sitzung kann bis zu zwölf Stunden dauern, wenn Nutzeraktivitäten gemessen werden.
Console
Bei Inaktivität während einer Sitzung werden Sie aus der GDC-Konsole abgemeldet. Zwei Minuten bevor Sie aufgrund von Inaktivität von der GDC-Konsole abgemeldet werden, wird ein Dialogfeld angezeigt, in dem Sie vor der Abmeldung gewarnt werden:
Nachdem Sie aufgrund von Inaktivität abgemeldet wurden, wird der folgende Bildschirm angezeigt:
Wenn Sie sich wieder in der GDC-Konsole anmelden möchten, wählen Sie Ihren Identitätsanbieter aus und geben Sie Ihre Anmeldedaten ein. Wenn Sie einen Dienst wie das Monitoring-Dashboard verwenden und Sie aufgrund von Inaktivität aus der GDC-Konsole abgemeldet werden, melden Sie sich wieder an, um Zugriff zu erhalten.
Befehlszeile
Bei Inaktivität während der Sitzung werden Sie von der gcloud CLI abgemeldet. Nachdem Sie sich mit der gcloud CLI abgemeldet haben und versuchen, einen Befehl auszuführen, erhalten Sie einen Autorisierungsfehler:
Error: error when creating kube client: unable to create k8sclient: Unauthorized
Wenn Sie sich wieder in der gcloud CLI anmelden möchten, folgen Sie der CLI-Anleitung unter Anmelden.
kubectl
Die gdcloud CLI lässt Ihre kubeconfig-Dateien nach Inaktivität der Sitzung ablaufen. Wenn Sie versuchen, einen kubectl
-Befehl nach einer Inaktivitätsphase auszuführen, erhalten Sie einen Autorisierungsfehler:
error: You must be logged in to the server (Unauthorized)
Wenn Sie sich wieder anmelden und Ihre kubeconfig-Datei verwenden möchten, folgen Sie der Anleitung unter Anmelden. Bei jedem Sitzungs-Timeout müssen Sie Ihre kubeconfig-Dateien neu generieren.
IAM-Zulassungsrichtlinien festlegen
Beschreibungen vordefinierter Rollen
Ein Anwendungsoperator (Application Operator, AO) ist Mitglied des Entwicklungsteams in der Organisation des Plattformadministrators (Platform Administrator, PA). AOs interagieren mit Ressourcen auf Projektebene. Sie können Teammitgliedern die folgenden vordefinierten Rollen zuweisen:
- Projekt-IAM-Administrator:Verwaltet die IAM-Zulassungsrichtlinien von Projekten.
- AI OCR Developer: Zugriff auf den Dienst zur optischen Zeichenerkennung, um Text in Bildern zu erkennen.
- AI Speech Developer: Zugriff auf den Speech-to-Text-Dienst zur Spracherkennung und Audiotranskription.
- AI Translation Developer: Zugriff auf den Vertex AI Translation-Dienst zum Übersetzen von Text.
- Artifact Management Admin: Hat Administratorzugriff auf Ressourcen in allen Harbor-Projekten im Projekt-Namespace.
- Artifact Management Editor: Hat Lese- und Schreibzugriff auf Ressourcen in allen Harbor-Projekten im Projekt-Namespace.
- Certificate Authority Service-Administrator: Hat Zugriff zum Verwalten von Zertifizierungsstellen und Zertifikatsanfragen in seinem Projekt.
- Certificate Service Admin (Administrator des Zertifikatdienstes): Hat Zugriff zum Verwalten von Zertifikaten und Zertifikatausstellern in seinem Projekt.
- Dashboard Editor (Dashboard-Bearbeiter): Hat Lese- und Schreibzugriff auf benutzerdefinierte
Dashboard
-Ressourcen. - Dashboard-Betrachter: Hat Lesezugriff auf benutzerdefinierte
Dashboard
-Ressourcen. - Harbor-Instanzadministrator: Hat vollständigen Zugriff zum Verwalten von Harbor-Instanzen in einem Projekt.
- Harbor Instance Viewer: Hat schreibgeschützten Zugriff zum Anzeigen von Harbor-Instanzen in einem Projekt.
- Harbor Project Creator: Hat Zugriff zum Verwalten von Harbor-Instanzprojekten.
- K8s Network Policy Admin: Verwaltet Netzwerkrichtlinien in Kubernetes-Clustern.
- LoggingRule Creator: Erstellt benutzerdefinierte
LoggingRule
-Ressourcen im Projekt-Namespace. - LoggingRule Editor: Bearbeitet benutzerdefinierte
LoggingRule
-Ressourcen im Projekt-Namespace. - LoggingRule Viewer: Zeigt benutzerdefinierte
LoggingRule
-Ressourcen im Projekt-Namespace an. - LoggingTarget Creator: Erstellt benutzerdefinierte
LoggingTarget
-Ressourcen im Namespace des Projekts. - LoggingTarget Editor: Bearbeitet benutzerdefinierte
LoggingTarget
-Ressourcen im Projekt-Namespace. - LoggingTarget Viewer: Zeigt
LoggingTarget
-benutzerdefinierte Ressourcen im Projekt-Namespace an. - Load Balancer Admin: Hat Lese- und Schreibberechtigungen für alle Load-Balancer-Ressourcen im Projekt-Namespace.
- MonitoringRule Editor (Bearbeiter von Monitoring-Regeln): Hat Lese- und Schreibzugriff auf
MonitoringRule
-Ressourcen. - MonitoringRule Viewer (Betrachter von MonitoringRule): Hat schreibgeschützten Zugriff auf benutzerdefinierte
MonitoringRule
-Ressourcen. - MonitoringTarget Editor (MonitoringTarget-Bearbeiter): Hat Lese- und Schreibzugriff auf
MonitoringTarget
-Benutzerressourcen. - MonitoringTarget Viewer: Hat Lesezugriff auf
MonitoringTarget
-Benutzerressourcen. - NAT Viewer (NAT-Betrachter): Hat Lesezugriff auf Deployments in Kubernetes-Clustern.
- Namespace-Administrator: Verwaltet alle Ressourcen im Projekt-Namespace.
- ObservabilityPipeline Editor: Hat Lese- und Schreibzugriff auf benutzerdefinierte
ObservabilityPipeine
-Ressourcen. - ObservabilityPipeline Viewer (Betrachter für ObservabilityPipeline): Hat schreibgeschützten Zugriff auf benutzerdefinierte
ObservabilityPipeline
-Ressourcen. - Project Bucket Admin (Projekt-Bucket-Administrator): Verwaltet die Speicher-Buckets und Objekte in Buckets.
- Project Bucket Object Admin (Projekt-Bucket-Objektadministrator): Hat Lesezugriff auf Buckets in einem Projekt und Lese-/Schreibzugriff auf die Objekte in diesen Buckets.
- Project Bucket Object Viewer (Betrachter von Projekt-Bucket-Objekten): Hat Lesezugriff auf Buckets in einem Projekt und die Objekte in diesen Buckets.
- Project Cortex Alertmanager Editor: Gewährt Berechtigungen zum Bearbeiten der Cortex Alertmanager-Instanz im Projekt-Namespace.
- Project Cortex Alertmanager Viewer: Gewährt Berechtigungen für den Zugriff auf die Cortex Alertmanager-Instanz im Projekt-Namespace.
- Project Cortex Prometheus Viewer: Gewährt Berechtigungen für den Zugriff auf die Cortex Prometheus-Instanz im Projekt-Namespace.
- Project Grafana Viewer: Greift auf die Grafana-Instanz im Projekt-Namespace des Flottenadministratorclusters zu.
- Project NetworkPolicy Admin:Verwaltet die Projekt-NetworkPolicies im Projekt-Namespace.
- Projektbetrachter:Hat schreibgeschützten Zugriff auf alle Ressourcen in Projekt-Namespaces.
- Project VirtualMachine Admin: Verwaltet VMs im Projekt-Namespace.
- Project VirtualMachine Image Admin: Verwaltet VM-Images im Projekt-Namespace.
- Secret Admin: Verwaltet Kubernetes-Secrets in Projekten.
- Secret Viewer: Zeigt Kubernetes-Secrets in Projekten an.
- Service Configuration Admin: Hat Lese- und Schreibzugriff auf Dienstkonfigurationen in einem Projekt-Namespace.
- Service Configuration Viewer: Hat Lesezugriff auf Dienstkonfigurationen in einem Projekt-Namespace.
- Volume Replication Admin (Administrator für Volume-Replikation): Verwaltet Ressourcen für die Volume-Replikation.
- Workbench Notebooks-Administrator: Lese- und Schreibzugriff auf alle Notebook-Ressourcen in einem Projektnamespace.
- Workbench Notebooks Viewer: Lesezugriff auf alle Notebook-Ressourcen in einem Projektnamespace und Zugriff auf die Vertex AI Workbench-Benutzeroberfläche.
- Workload Viewer (Arbeitslastbetrachter): Hat Lesezugriff auf Arbeitslasten in einem Projekt.
Häufige Rollen
Die folgenden vordefinierten allgemeinen Rollen gelten für alle authentifizierten Nutzer:
- AI Platform-Betrachter: Gewährt Berechtigungen zum Aufrufen vortrainierter Dienste.
- DNS Suffix Viewer: Greift auf die Konfigurationszuordnung für das DNS-Suffix (Domain Name Service) zu.
- Flow Log Admin (Flow-Log-Administrator): Hat Lese- und Schreibzugriff auf alle Flow-Log-Ressourcen.
- Flow Log Viewer (Flow-Log-Betrachter): Hat Lesezugriff auf alle Flow-Log-Ressourcen.
- Project Discovery Viewer: Hat Lesezugriff für alle authentifizierten Nutzer auf die Projektansicht.
- Public Image Viewer: Hat Lesezugriff für alle authentifizierten Nutzer auf die öffentlichen VM-Images im Namespace
vm-images
. - System Artifact Registry anthos-creds secret Monitor: Hat schreibgeschützten Zugriff auf Secrets im Namespace
anthos-creds
. - System Artifact Registry gpc-system secret Monitor: Hat schreibgeschützten Zugriff auf Secrets im Namespace
gpc-system
. - System Artifact Registry harbor-system secret Monitor: Hat schreibgeschützten Zugriff auf Secrets im Namespace
harbor-system
. - Virtual Machine Type Viewer: Hat Lesezugriff auf virtuelle Maschinentypen auf Clusterebene.
- VM Type Viewer: Hat Lesezugriff auf die vordefinierten VM-Typen in den Administratorclustern.
Rollendefinitionen
In den Tabellen in diesem Abschnitt werden verschiedene vordefinierte Rollen und ihre Berechtigungen beschrieben. Die Tabellen enthalten die folgenden Spalten:
- Name:Der Name einer Rolle, die in der Benutzeroberfläche angezeigt wird.
- Name der Kubernetes-Ressource:Der Name der entsprechenden benutzerdefinierten Kubernetes-Ressource.
- Ebene:Gibt an, ob diese Rolle auf die Organisation oder ein Projekt beschränkt ist.
- Typ:Der Typ dieser Rolle. Mögliche Werte sind beispielsweise
Role
,ProjectRole
,ClusterRole
oderProjectClusterRole
. - Bindungstyp:Der Bindungstyp, den Sie auf diese Rolle anwenden müssen.
- Berechtigungen für den Management API-Server oder den Kubernetes-Cluster:Die Berechtigungen, die diese Rolle für den Management API-Server oder den Kubernetes-Cluster hat. Einige mögliche Werte sind „Lesen“, „Schreiben“, „Lesen und Schreiben“ oder „Nicht zutreffend“ (N/A).
- Wird eskaliert an:Gibt an, ob diese Rolle an andere Rollen eskaliert wird.
AO-Persona, vordefinierte Identitäts- und Zugriffsrollen
AO-Persona | ||||
---|---|---|---|---|
Name | Kubernetes-Ressourcenname | Erster Administrator | Level | Typ |
Projekt-IAM-Administrator | project-iam-admin |
Wahr | Projekt | Role |
AI OCR Developer | ai-ocr-developer |
Falsch | Projekt | Role |
AI Platform-Betrachter | ai-platform-viewer |
Falsch | Projekt | Role |
AI Speech-Entwickler | ai-speech-developer |
Falsch | Projekt | Role |
AI Translation-Entwickler | ai-translation-developer |
Falsch | Projekt | Role |
Administrator für die Artefaktverwaltung | artifact-management-admin |
Falsch | Projekt | Role |
Artifact Management Editor | artifact-management-editor |
Falsch | Projekt | Role |
Certificate Authority Service-Administrator | certificate-authority-service-admin |
Falsch | Projekt | Role |
Zertifikatsdienstadministrator | certificate-service-admin |
Falsch | Projekt | Role |
Dashboard-Editor | dashboard-editor |
Falsch | Projekt | Role |
Dashboard-Betrachter | dashboard-viewer |
Falsch | Projekt | Role |
Harbor-Instanzadministrator | harbor-instance-admin |
Falsch | Projekt | Role |
Harbor Instance Viewer | harbor-instance-viewer |
Falsch | Projekt | Role |
Harbor-Projektersteller | harbor-project-creator |
Falsch | Projekt | Role |
K8s Network Policy Admin | k8s-networkpolicy-admin |
Falsch | Projekt | ProjectRole |
Lastenausgleichsmodul-Administrator | load-balancer-admin |
Falsch | Projekt | ProjectRole |
LoggingRule Creator | loggingrule-creator |
Falsch | Projekt | Role |
LoggingRule Editor | loggingrule-editor |
Falsch | Projekt | Role |
LoggingRule Viewer | loggingrule-viewer |
Falsch | Projekt | Role |
LoggingTarget Creator | loggingtarget-creator |
Falsch | Projekt | Role |
LoggingTarget-Bearbeiter | loggingtarget-editor |
Falsch | Projekt | Role |
LoggingTarget Viewer | loggingtarget-viewer |
Falsch | Projekt | Role |
MonitoringRule Editor | monitoringrule-editor |
Falsch | Projekt | Role |
MonitoringRule Viewer | monitoringrule-viewer |
Falsch | Projekt | Role |
MonitoringTarget Editor | monitoringtarget-editor |
Falsch | Projekt | Role |
MonitoringTarget Viewer | monitoringtarget-viewer |
Falsch | Projekt | Role |
Namespace-Administrator | namespace-admin |
Falsch | Projekt | ProjectRole |
NAT-Betrachter | nat-viewer |
Falsch | Projekt | ProjectRole |
ObservabilityPipeline Editor | observabilitypipeline-editor |
Falsch | Projekt | Role |
ObservabilityPipeline-Betrachter | observabilitypipeline-viewer |
Falsch | Projekt | Role |
Project Bucket Admin | project-bucket-admin |
Falsch | Projekt | Role |
Projekt-Bucket-Objekt-Administrator | project-bucket-object-admin |
Falsch | Projekt | Role |
Project Bucket Object Viewer | project-bucket-object-viewer |
Falsch | Projekt | Role |
Project Cortex Alertmanager Editor | project-cortex-alertmanager-editor |
Falsch | Projekt | Role |
Project Cortex Alertmanager Viewer | project-cortex-alertmanager-viewer |
Falsch | Projekt | Role |
Project Cortex Prometheus Viewer | project-cortex-prometheus-viewer |
Falsch | Projekt | Role |
Grafana-Betrachter für Projekte | project-grafana-viewer |
Falsch | Projekt | Role |
Projektadministrator für NetworkPolicy | project-networkpolicy-admin |
Falsch | Projekt | Role |
Projektbetrachter | project-viewer |
Falsch | Projekt | Role |
Projekt-VirtualMachine-Administrator | project-vm-admin |
Falsch | Projekt | Role |
Administrator für VirtualMachine-Images für Projekte | project-vm-image-admin |
Falsch | Projekt | Role |
Secret-Administrator | secret-admin |
Falsch | Projekt | Role |
Secret-Betrachter | secret-viewer |
Falsch | Projekt | Role |
Administrator für Dienstkonfiguration | service-configuration-admin |
Falsch | Projekt | Role |
Betrachter von Dienstkonfigurationen | service-configuration-viewer |
Falsch | Projekt | Role |
Workbench Notebooks-Administrator | workbench-notebooks-admin |
Falsch | Projekt | Role |
Administrator für die Volume-Replikation | app-volume-replication-admin |
Falsch | Cluster | Role |
Workbench-Notebooks-Betrachter | workbench-notebooks-viewer |
Falsch | Projekt | Role |
Workload Viewer | workload-viewer |
Falsch | Projekt | Role |
AO-Persona, vordefinierte Identitäts- und Zugriffsrollen
AO-Persona | ||||
---|---|---|---|---|
Name | Bindungstyp | Serverberechtigungen für die Management API | Berechtigungen für Kubernetes-Cluster | Eskaliert an |
Projekt-IAM-Administrator | RoleBinding |
|
– | Alle anderen AO-Rollen |
AI OCR Developer | RoleBinding |
OCR-Ressourcen:Lesen und Schreiben | – | – |
AI Speech-Entwickler | RoleBinding |
Sprachressourcen:Lesen und Schreiben | – | – |
AI Translation-Entwickler | RoleBinding |
Übersetzungsressourcen:Lesen und Schreiben | – | – |
Administrator für die Artefaktverwaltung | RoleBinding |
HarborProjects :Administrator, erstellen, lesen, schreiben, löschen und ansehen |
– | – |
Artifact Management Editor | RoleBinding |
HarborProjects :Lesen, Schreiben und Ansehen |
– | – |
Certificate Authority Service-Administrator | RoleBinding |
Zertifizierungsstellen und Zertifikatsanfragen:Abrufen, Auflisten, Beobachten, Aktualisieren, Erstellen, Löschen und Patchen | – | – |
Zertifikatsdienstadministrator | RoleBinding |
Zertifikate und Zertifikataussteller:get, list, watch, update, create, delete und patch | – | – |
Dashboard-Editor | RoleBinding |
Benutzerdefinierte Dashboard -Ressourcen:Abrufen, Lesen, Erstellen, Aktualisieren, Löschen und Patchen |
– | – |
Dashboard-Betrachter | RoleBinding |
Dashboard :Abrufen und lesen |
– | – |
Harbor-Instanzadministrator | RoleBinding |
Harbor-Instanzen:Erstellen, lesen, aktualisieren, löschen und patchen | – | – |
Harbor Instance Viewer | RoleBinding |
Harbor-Instanzen:Lesen | – | – |
Harbor-Projektersteller | RoleBinding |
Harbor-Instanzprojekte:Erstellen, abrufen und beobachten | – | – |
K8s NetworkPolicy-Administrator | ProjectRoleBinding |
– | NetworkPolicy -Ressourcen: Erstellen, lesen, abrufen, aktualisieren, löschen und patchen |
– |
Lastenausgleichsmodul-Administrator | RoleBinding |
– |
|
– |
LoggingRule Creator | RoleBinding |
Benutzerdefinierte RessourcenLoggingRule :Erstellen, lesen, aktualisieren, löschen und patchen |
– | – |
LoggingRule Editor | RoleBinding |
Benutzerdefinierte RessourcenLoggingRule :Erstellen, lesen, aktualisieren, löschen und patchen |
– | – |
LoggingRule Viewer | RoleBinding |
Benutzerdefinierte LoggingRule -Ressourcen:Lesen |
– | – |
LoggingTarget Creator | RoleBinding |
Benutzerdefinierte RessourcenLoggingTarget :Erstellen, lesen, aktualisieren, löschen und patchen |
– | – |
LoggingTarget-Bearbeiter | RoleBinding |
Benutzerdefinierte RessourcenLoggingTarget :Erstellen, lesen, aktualisieren, löschen und patchen |
– | – |
LoggingTarget Viewer | RoleBinding |
Benutzerdefinierte LoggingTarget -Ressourcen:Lesen |
– | – |
MonitoringRule Editor | RoleBinding |
Benutzerdefinierte RessourcenMonitoringRule :Erstellen, lesen, aktualisieren, löschen und patchen |
– | – |
MonitoringRule Viewer | RoleBinding |
Benutzerdefinierte MonitoringRule -Ressourcen:Lesen |
– | – |
MonitoringTarget Editor | RoleBinding |
Benutzerdefinierte RessourcenMonitoringTarget :Erstellen, lesen, aktualisieren, löschen und patchen |
– | – |
MonitoringTarget Viewer | RoleBinding |
Benutzerdefinierte MonitoringTarget -Ressourcen:Lesen |
– | – |
Namespace-Administrator | ProjectRoleBinding |
– | Alle Ressourcen:Lese- und Schreibzugriff im Projekt-Namespace | – |
NAT-Betrachter | ProjectRoleBinding |
– | Deployments: Abrufen und lesen | – |
ObservabilityPipeline Editor | RoleBinding |
ObservabilityPipeline -Ressourcen:Get, Read, Create, Update, Delete und Patch |
– | – |
ObservabilityPipeline-Betrachter | RoleBinding |
ObservabilityPipeline -Ressourcen:Abrufen und lesen |
– | – |
Project Bucket Admin | RoleBinding |
Bucket:Lese- und Schreibzugriff im Projekt-Namespace | – | – |
Projekt-Bucket-Objekt-Administrator | RoleBinding |
|
– | – |
Project Bucket Object Viewer | RoleBinding |
Bucket und Objekte:Lesen | – | – |
Project Cortex Alertmanager Editor | RoleBinding |
Cortex-System und Cortex Alertmanager:Lesen und Schreiben | – | – |
Project Cortex Alertmanager Viewer | RoleBinding |
Cortex-System und Cortex Alertmanager: | – | – |
Project Cortex Prometheus Viewer | RoleBinding |
Cortex-System und Cortex Prometheus:Lesen | – | – |
Grafana-Betrachter für Projekte | RoleBinding |
Grafana-System und Grafana:Lesen und Schreiben | – | – |
Projektadministrator für NetworkPolicy | RoleBinding |
Projektnetzwerkrichtlinien:Lesen und Schreiben im Projekt-Namespace | – | – |
Projektbetrachter | RoleBinding |
Alle Ressourcen im Projekt-Namespace:Lesen | – | – |
Projekt-VirtualMachine-Administrator | RoleBinding |
|
– | – |
Administrator für VirtualMachine-Images für Projekte | RoleBinding |
|
– | – |
Secret-Administrator | RoleBinding |
Kubernetes-Secrets:Lesen, erstellen, aktualisieren, löschen und patchen | – | – |
Secret-Betrachter | RoleBinding |
Kubernetes-Secrets:Lesen | – | – |
Administrator für Dienstkonfiguration | RoleBinding |
ServiceConfigurations :Lesen und Schreiben
|
– | – |
Betrachter von Dienstkonfigurationen | RoleBinding |
ServiceConfigurations :Gelesen
|
– | – |
Administrator für die Volume-Replikation | ClusterRoleBinding |
Volume failovers, volume relationship replicas :create, get, list, watch, delete
|
– | – |
Workbench Notebooks-Administrator | RoleBinding |
– |
|
– |
Workbench-Notebooks-Betrachter | RoleBinding |
– |
|
– |
Workload Viewer | ProjectRoleBinding |
– |
|
– |
Häufig verwendete vordefinierte Identitäts- und Zugriffsrollen
Häufige Rollen | ||||
---|---|---|---|---|
Name | Kubernetes-Ressourcenname | Erster Administrator | Level | Typ |
AI Platform-Betrachter | ai-platform-viewer |
Falsch | Projekt | Role |
DNS Suffix Viewer | dnssuffix-viewer |
Falsch | Organisation | Role |
Flow Log-Administrator | flowlog-admin |
Falsch | Organisation | ClusterRole |
Flow-Log-Viewer | flowlog-viewer |
Falsch | Projekt | ClusterRole |
Betrachter für Projekterkennung | projectdiscovery-viewer |
Falsch | Projekt | ClusterRole |
Öffentliche Bildanzeige | public-image-viewer |
Falsch | Organisation | Role |
System-Artifact Registry-Secret „anthos-creds“ überwachen | sar-anthos-creds-secret-monitor |
Falsch | Organisation | Role |
System Artifact Registry gpc-system secret Monitor | sar-gpc-system-secret-monitor |
Falsch | Organisation | Role |
System-Secret „harbor-system“ für Artifact Registry-Monitor | sar-harbor-system-secret-monitor |
Falsch | Organisation | Role |
Virtual Machine Type Viewer | virtualmachinetype-viewer |
Falsch | Organisation | OrganizationRole |
VM-Typ-Betrachter | vmtype-viewer |
Falsch | Organisation | Role |
Häufig verwendete vordefinierte Identitäts- und Zugriffsrollen
Häufige Rollen | ||||
---|---|---|---|---|
Name | Bindungstyp | Berechtigungen für Administratorcluster | Berechtigungen für Kubernetes-Cluster | Eskaliert an |
AI Platform-Betrachter | RoleBinding |
Vortrainierte Dienste:Lesen | – | – |
DNS Suffix Viewer | ClusterRoleBinding |
DNS-Suffix-Konfigurationszuordnungen:Lesen | – | – |
Flow Log-Administrator | ClusterRoleBinding |
Ressourcen für Ablaufprotokolle:Abrufen und Lesen | Ressourcen für Ablaufprotokolle:Abrufen und Lesen | – |
Flow-Log-Viewer | ClusterRoleBinding |
Flow-Log-Ressourcen:Erstellen, abrufen, lesen, patchen, aktualisieren und löschen | Flow-Log-Ressourcen:Erstellen, abrufen, lesen, patchen, aktualisieren und löschen | – |
Betrachter für Projekterkennung | ClusterRoleBinding |
Projekte:Lesen | – | – |
Öffentliche Bildanzeige | RoleBinding |
VM-Images:Lesen | – | – |
System-Artifact Registry-Secret „anthos-creds“ überwachen | RoleBinding |
anthos-creds Secrets:Abrufen und lesen |
anthos-creds Secrets:Abrufen und lesen |
– |
System Artifact Registry gpc-system secret Monitor | RoleBinding |
gpc-system Secrets:Abrufen und lesen |
gpc-system Secrets:Abrufen und lesen |
– |
System-Secret „harbor-system“ für Artifact Registry-Monitor | RoleBinding |
harbor-system Secrets:Abrufen und lesen |
harbor-system Secrets:Abrufen und lesen |
– |
Virtual Machine Type Viewer | OrganizationRoleBinding |
– | VM-Typen:Lesen | – |
VM-Typ-Betrachter | ClusterRoleBinding |
VM-Typen:Lesen | – | – |
Es gibt zwei Möglichkeiten, Zugriff auf Ressourcen zu gewähren:
Rollenbindungen mit der Befehlszeile einrichten
AO-Zugriff im Administratorcluster
Im Gegensatz zu Infrastrukturbetreibern (Infrastructure Operators, IO) und Plattformadministratoren (Platform Administrators, PA) bindet GDC Anwendungsbetreiber (Application Operators, AO) über eine RoleBinding
an eine Project
anstelle einer ClusterRoleBinding
.
So gewähren Sie einem AO Zugriff auf den Administratorcluster:
Exportieren Sie die E‑Mail-Adresse, die Sie für den Zugriff auf AO verwenden. Beispiel:
ao-alice@example.com
export AO_EMAIL=AO_EMAIL
Erstellen Sie eine Rollenbindung, um den Zugriff als
${AO_EMAIL}
-Projekt-IAM-Administrator im Namespaceiam-test
zu gewähren:kubectl create --kubeconfig PA_KUBECONFIG \ rolebinding $AO_EMAIL-project-iam-admin \ --role=project-iam-admin --user=$AO_EMAIL \ --namespace=iam-test
Die Rolle
project-iam-admin
ist eine vordefinierte Rolle für GDC. Der Kubernetes-Namespaceiam-test
entspricht dem Projektiam-test
im Administratorcluster.Prüfen Sie, ob das AO-Konto Berechtigungen zum Erstellen von Rollenbindungen im Namespace
iam-test
hat:kubectl --kubeconfig AO_KUBECONFIG auth can-i create rolebinding -n iam-test
Die folgende Ausgabe wird angezeigt:
yes
Erstellen Sie eine Rollenbindung, um
${AO_EMAIL}
den Zugriff als Projektbetrachter im Namespacebar
zu gewähren:kubectl create --kubeconfig PA_KUBECONFIG \ rolebinding $AO_EMAIL-project-viewer \ --role=project-viewer --user=$AO_EMAIL \ --namespace=bar
Die Rolle
project-viewer
ist eine voreingestellte Rolle für GDC. Der Kubernetes-Namespacebar
entspricht dem Projektbar
im Administratorcluster der Organisation.Prüfen Sie, ob das AO-Konto keine Berechtigungen zum Erstellen von Rollenbindungen im Namespace
bar
hat:kubectl --kubeconfig AO_KUBECONFIG auth can-i create rolebinding -n bar
Die folgende Ausgabe wird angezeigt:
no
Optional: Löschen Sie die Rollenbindung, um die dem AO-Konto gewährte Berechtigung zu widerrufen:
kubectl --kubeconfig PA_KUBECONFIG delete rolebinding $AO_EMAIL-project-iam-admin -n iam-test
AO-Zugriff in Nutzerclustern
Ein AO verwendet ProjectRole
- und ProjectRoleBinding
-Ressourcen, um Namespace-Zugriff auf Nutzercluster zu erhalten. PAs können der AO jedoch organisationsweite Berechtigungen in Nutzerclustern mithilfe der voreingestellten Ressourcen OrganizationRole
und ProjectRoleBinding
erteilen.
Führen Sie die folgenden Schritte aus, um AOs Zugriff auf Nutzercluster zu gewähren:
Um Zugriff auf Nutzercluster zu gewähren, benötigen Sie die Rolle „Projekt-IAM-Administrator“.
Erstellen Sie eine
ProjectRoleBinding
-Ressource, um Administratorzugriff auf den Namespace${AO_EMAIL}
in allen Nutzerclustern im Namespaceiam-test
zu gewähren:kubectl --kubeconfig AO_KUBECONFIG apply -f - <<EOF apiVersion: resourcemanager.gdc.goog/v1 kind: ProjectRoleBinding metadata: name: ${AO_EMAIL%@*}-namespace-admin namespace: iam-test spec: roleRef: apiGroup: resourcemanager.gdc.goog kind: ProjectRole name: namespace-admin subjects: - apiGroup: rbac.authorization.k8s.io kind: User name: ${AO_EMAIL} EOF
Folgen Sie der Anleitung im Abschnitt Mit der CLI und kubectl anmelden, um Nutzeranmeldedaten für den Nutzercluster abzurufen und in der Variablen
AO_USER_CLUSTER_KUBECONFIG
zu exportieren:export AO_USER_CLUSTER_KUBECONFIG=GENERATED_KUBECONFIG
Prüfen Sie, ob das AO-Konto Berechtigungen zum Erstellen von Deployments im Namespace
iam-test
hat:kubectl --kubeconfig ${AO_USER_CLUSTER_KUBECONFIG} auth can-i create deployment -n iam-test
Die folgende Ausgabe wird angezeigt:
yes
Optional: Löschen Sie die Projektrollenbindungen, um die dem Test-AO-Konto gewährte Berechtigung zu widerrufen:
kubectl --kubeconfig ${AO_USER_CLUSTER_KUBECONFIG} delete projectrolebinding ${AO_EMAIL%@*}-namespace-admin -n iam-test
Projektweite Rollenbindungen über die Benutzeroberfläche einrichten
Ein Anwendungsoperator fügt dem Projekt andere Anwendungsoperatoren hinzu, damit diese Zugriff auf Projektressourcen haben.
Bitten Sie Ihren Projekt-IAM-Administrator, Ihnen die Rolle „Projekt-IAM-Administrator“ zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Einrichten von Rollenbindungen benötigen.
Führen Sie die folgenden Schritte aus, um Rollenbindungen einzurichten:
- Melden Sie sich in der Konsole der GDC-Appliance an, die nicht mit dem Internet verbunden ist.
- Wählen Sie ein Projekt aus.
- Klicken Sie im Navigationsmenü auf Zugriffsverwaltung.
- Klicken Sie auf Mitglied hinzufügen.
- Wählen Sie in der Liste Identitätsanbieter einen Identitätsanbieter aus.
- Wählen Sie aus, ob Sie einzelne Nutzer oder Gruppen hinzufügen möchten.
- Geben Sie im Feld Nutzername oder Gruppenalias den Nutzernamen, die E-Mail-Adresse oder den Alias ein.
- Wählen Sie in der Liste Rolle die Rolle aus, die Sie dem Nutzer oder der Gruppe zuweisen möchten, z. B. Projektbetrachter.
- Klicken Sie auf Hinzufügen.
Rollenbindungen über die Benutzeroberfläche entfernen
Wenn der Zugriff nicht mehr erforderlich ist, entfernen Sie ein Mitglied und seine zugehörigen Rollen, Berechtigungen und Zugriffsebenen.
So entfernen Sie Mitglieder:
- Melden Sie sich in der Konsole der GDC-Appliance an, die nicht mit dem Internet verbunden ist.
- Wählen Sie ein Projekt aus.
- Klicken Sie im Navigationsmenü auf Zugriffsverwaltung.
- Wählen Sie in der Liste Autorisierte Mitglieder ein Mitglied aus.
- Klicken Sie auf Mitglied entfernen.
- Wenn Sie dazu aufgefordert werden, klicken Sie zur Bestätigung auf Mitglied entfernen.