In diesem Dokument wird beschrieben, wie Sie in Standardclustern in Google Distributed Cloud (GDC) mit Air Gap Zugriff gewähren und Berechtigungen verwalten. Standardcluster sind projektbezogene, konfigurierbare Kubernetes-Umgebungen mit minimalen Standarddiensten, die mehr Flexibilität und Kontrolle für benutzerdefinierte Arbeitslasten bieten.
Informationen zum Verwalten des Lebenszyklus von Standardclustern, z. B. zum Erstellen oder Löschen von Clustern, finden Sie unter Standardcluster erstellen und Standardcluster löschen.
Weitere Informationen zu Standardclustern und anderen Clustertypen finden Sie unter Kubernetes-Clusterkonfigurationen.
Dieses Dokument richtet sich an Nutzer in der Gruppe der Anwendungsoperatoren, z. B. Entwickler oder Data Scientists, die Ressourcen in GDC-Projekten verwalten und schützen müssen. Weitere Informationen finden Sie unter Dokumentation zu Zielgruppen für GDC mit Air Gap.
Hinweis
Bevor Sie den Zugriff auf Standardcluster verwalten können, müssen Sie die erforderlichen Berechtigungen haben und Ihre Umgebung vorbereiten.
IAM-Rollen anfordern
Wenn Sie Berechtigungen zum Verwalten des Zugriffs auf Standardcluster benötigen, fordern Sie die folgenden Rollen an, je nachdem, welche Aufgaben Sie ausführen müssen:
- Wenn Sie IAM-Richtlinienbindungen auf Projektebene für Standardcluster gewähren und verwalten möchten, wenden Sie sich an Ihren IAM-Organisationsadministrator und bitten Sie ihn, Ihnen die Rolle IAM-Projektadministrator (
project-iam-admin) zuzuweisen. - Wenn Sie die rollenbasierte Zugriffssteuerung (Role-Based Access Control, RBAC) von Kubernetes im Cluster verwalten und Arbeitslasten in einem Standardcluster bereitstellen möchten, bitten Sie Ihren IAM-Projektadministrator, Ihnen die Rolle Cluster Admin (
cluster-admin) zuzuweisen.
Umgebung vorbereiten
Laden Sie die gcloud CLI herunter und installieren Sie sie, falls noch nicht geschehen.
Berechtigungen für den Standardclusterzugriff erteilen
Ein Nutzer mit der IAM-Rolle „Projektadministrator“ (project-iam-admin) kann anderen Nutzern die erforderlichen Rollen für die Verwaltung des Zugriffs in Standardclustern zuweisen:
Weisen Sie dem Nutzer die Rolle „Clusteradministrator“ (
cluster-admin) für das Projekt zu. Mit diesem Befehl wird der Nutzer an die Rolle gebunden, sodass er den Zugriff im Standardcluster verwalten kann.Weitere Informationen zu den Rollen finden Sie unter Beschreibungen vordefinierter Rollen und Rollendefinitionen für Projekte.
gdcloud projects add-iam-policy-binding PROJECT \ --role=ROLE \ --member=user:USER_ACCOUNTErsetzen Sie die folgenden Variablen:
PROJECT: der Name des Projekts, in dem der Standardcluster vorhanden ist.ROLE: Der Name der Rolle, die Sie zuweisen möchten, z. B.cluster-admin.USER_ACCOUNT: Das Nutzerkonto, dem Sie die Rolle zuweisen möchten, einschließlich des mit Ihrer Organisation verknüpften Identitätsanbieterpräfixes (z. B.idpprefix-user@example.com). Das verwendete Präfix hängt von der IdP-Konfiguration Ihrer Organisation ab. Weitere Informationen finden Sie unter Mit einem Identitätsanbieter verbinden.
Im folgenden Beispiel wird die Rolle „Clusteradministrator“ für
user@example.comgewährt, wobei davon ausgegangen wird, dass das Identitätsanbieterpräfix für das Projektfoofop-ist:gdcloud projects add-iam-policy-binding foo \ --role=cluster-admin \ --member=user:fop-user@example.com
Zugriff im Standardcluster verwalten
Ein Nutzer mit der Rolle „Cluster Admin“ (cluster-admin) kann Zugriff in einem Standardcluster gewähren:
Generieren Sie mit dem Flag
--standardeine kubeconfig-Datei für einen Standardcluster. Dieses Flag ist erforderlich, um einen Standardcluster auszurichten.export KUBECONFIG=KUBECONFIG_FILE gdcloud clusters get-credentials STANDARD_CLUSTER_NAME --standard --project=PROJECTErsetzen Sie die folgenden Variablen:
KUBECONFIG_FILE: der Pfad zur kubeconfig-Datei, z. B.standard-cluster-kubeconfig.yaml.STANDARD_CLUSTER_NAME: Der Name des Standardclusters.PROJECT: der Name des Projekts, in dem der Standardcluster vorhanden ist.
Definieren Sie Berechtigungen im Standardcluster mit
kubectl.Nutzer mit
cluster-admin-Berechtigungen können benutzerdefinierteRole- undClusterRole-Objekte erstellen. Um diese Berechtigungen zu gewähren, können sie die entsprechendenRolebinding- undClusterRoleBinding-Objekte erstellen, um die Rollen an bestimmte Subjekte wie Nutzer oder Dienstkonten zu binden.Im folgenden Beispiel wird
kubectlverwendet, um eine benutzerdefinierte Beispiel-Rolemit dem Namentest-roleim Namespacetestzu erstellen:kubectl apply -f - <<EOF apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: test-role namespace: test rules: - apiGroups: - "" resources: - configmaps verbs: - get EOFIm folgenden Beispiel wird der
RoleBindingfür denRolemit dem Namentest-roleim Namespacetesterstellt. Sie gewährt Berechtigungen für den Nutzer alice@example.com mit dem Identitätsanbieterpräfixfop-sowie für eineServiceAccountmit dem Namenmy-service-accountimdefault-Namespace:kubectl apply -f - <<EOF apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: test-role-binding namespace: test subjects: - kind: User name: fop-alice@example.com apiGroup: rbac.authorization.k8s.io - kind: ServiceAccount name: my-service-account namespace: default roleRef: kind: Role name: test-role apiGroup: rbac.authorization.k8s.io EOF