Mit GKE Identity Service auf Cluster zugreifen
GKE Identity Service ist ein Authentifizierungsdienst, mit dem Sie sich mit den vorhandenen Identitätsanbietern Ihrer Organisation bei Clustern in mehreren GKE Enterprise-Umgebungen authentifizieren können. So können Sie sich mit derselben ID in Clustern bei Google Cloud, lokal und in anderen öffentlichen Clouds anmelden. Dieses Dokument richtet sich an Entwickler und andere GKE-Clusternutzer, die über diesen Dienst auf Cluster zugreifen müssen. Wenn Sie sich stattdessen mit Ihrer Google Cloud-ID über das Connect Gateway in Clustern anmelden müssen, finden Sie weitere Informationen unter Connect Gateway verwenden.
Wenn Sie ein Cluster- oder Plattformadministrator sind und GKE Identity Service für Ihre Organisation oder Ihr Team einrichten müssen, finden Sie in der Übersicht zu GKE Identity Service Informationen zu unterstützten Clusterumgebungen, anderen Voraussetzungen und den entsprechenden Einrichtungsanleitungen.
Über die Befehlszeile bei Clustern anmelden
Zur Authentifizierung bei Clustern über die Befehlszeile müssen Sie gcloud
-Authentifizierungsbefehle mit einer speziellen Anmeldekonfigurationsdatei ausführen, die von Ihrem Clusteradministrator bereitgestellt wird.
Hinweis
Prüfen Sie, ob die folgenden Befehlszeilentools installiert sind:
- Die neueste Version der Google Cloud CLI, die
gcloud
, das Befehlszeilentool für die Interaktion mit Google Cloud, enthält. Informationen zur Installation des Google Cloud CLI finden Sie in der Installationsanleitung. kubectl
zum Ausführen von Befehlen für Kubernetes-Cluster. Informationen zur Installation vonkubectl
finden Sie in der Installationsanleitung.
- Die neueste Version der Google Cloud CLI, die
Führen Sie die folgenden Befehle aus, um die Komponente
anthos-auth
zu installieren oder zu aktualisieren:gcloud components update gcloud components install anthos-auth
Prüfen Sie mit dem folgenden Befehl, ob das Tool erfolgreich installiert wurde:
gcloud anthos auth version
Wenn eine Version zurückgegeben wird, war Ihre Installation erfolgreich.
Konfigurationsdatei abrufen
Die gcloud CLI geht von einem Standarddateinamen und -speicherort auf Ihrem lokalen Computer für die Konfigurationsdatei für die Authentifizierung aus. Ihr Administrator kann die Datei für Sie auf Ihren Computer kopieren. Wenn Ihnen die Datei manuell zur Verfügung gestellt wurde und auf Ihrem Computer gespeichert werden muss, verwenden Sie die Standardeinstellungen, um die gcloud
-Authentifizierungsbefehle zu vereinfachen.
Verwenden Sie die im Folgenden aufgeführten Befehle, um die Konfigurationsdatei für die Authentifizierung an den Standardspeicherort zu kopieren:
Linux
mkdir -p $HOME/.config/google/anthos/ cp [AUTH_CONFIG_FILE] $HOME/.config/google/anthos/kubectl-anthos-config.yaml
Dabei ist [AUTH_CONFIG_FILE] der Name Ihrer Konfigurationsdatei für die Authentifizierung. Beispiel: kubectl-anthos-config.yaml
.
macOS
mkdir -p $HOME/Library/Preferences/google/anthos/ cp [AUTH_CONFIG_FILE] $HOME/Library/Preferences/google/anthos/kubectl-anthos-config.yaml
Dabei ist [AUTH_CONFIG_FILE] der Name Ihrer Konfigurationsdatei für die Authentifizierung. Beispiel: kubectl-anthos-config.yaml
.
Windows
md "%APPDATA%\google\anthos" copy [AUTH_CONFIG_FILE] "%APPDATA%\google\anthos\kubectl-anthos-config.yaml"
Dabei ist [AUTH_CONFIG_FILE] der Name Ihrer Konfigurationsdatei für die Authentifizierung. Beispiel: kubectl-anthos-config.yaml
.
Wenn Sie oder Ihr Administrator einen anderen Dateinamen oder Speicherort verwenden (z. B. wenn Ihr Administrator die Datei unter einer sicheren URL bereitstellt), können Sie diese mit dem Flag --login-config
bei jeder Authentifizierungsanfrage angeben. Weitere Informationen finden Sie im folgenden Abschnitt.
Authentifizieren Sie sich beim Cluster
Zum Authentifizieren bei Ihren Clustern verwenden Sie gcloud
-Befehle.
Führen Sie den Befehl
gcloud anthos auth login
aus, um den Authentifizierungsvorgang zu starten:gcloud anthos auth login \ --cluster [CLUSTER_NAME] \ --user [USER_NAME] \ --login-config [AUTH_CONFIG_FILE_PATH] \ --login-config-cert [CA_CERT_PEM_FILE] \ --kubeconfig [CLUSTER_KUBECONFIG]
Dabei gilt:
[CLUSTER_NAME] (optional) den Namen des Clusters angibt. Wenn dieses Flag weggelassen wird, werden Sie aufgefordert, einen der Cluster auszuwählen, die in Ihrer Konfigurationsdatei für die Authentifizierung angegeben sind.
[USER_NAME] ist optional und gibt den Nutzernamen für die in der
kubeconfig
-Datei gespeicherten Anmeldedaten an. Der Standardwert ist[CLUSTER_NAME]-anthos-default-user
.[AUTH_CONFIG_FILE_PATH] ist optional und gibt den benutzerdefinierten Pfad oder die URL an, unter dem bzw. unter der die Konfigurationsdatei für die Authentifizierung gespeichert ist oder gehostet wird. Sie können diesen Parameter weglassen, wenn sich die Datei am Standardspeicherort befindet. Beispiel:
--login-config /path/to/custom/authentication-config.yaml
.[CA_CERT_PEM_FILE] ist optional und gibt den Pfad zu einer PEM-Zertifikatsdatei von Ihrer Zertifizierungsstelle an. Wenn Ihre Konfigurationsdatei für die Authentifizierung sicher gehostet wird, können Sie über eine HTTPS-Verbindung auf die Datei zugreifen. Beispiel:
--login-config-cert my-cert.pem
[CLUSTER_KUBECONFIG] ist optional und gibt den benutzerdefinierten Pfad zur
kubeconfig
-Datei Ihres Clusters an. Die OIDC-ID-Tokens, die von Ihrem OpenID-Anbieter zurückgegeben werden, sind in derkubeconfig
-Datei gespeichert.Verwenden Sie dieses Flag, wenn sich die
kubeconfig
-Datei nicht am Standardspeicherort befindet. Wenn dieses Flag weggelassen wird, werden am Standardspeicherort Authentifizierungstokens zur Dateikubeconfig
hinzugefügt. Beispiel:--kubeconfig /path/to/custom.kubeconfig
Beispiele:
Bei einem bestimmten Cluster authentifizieren:
gcloud anthos auth login --cluster my-production-cluster
Mithilfe einer Eingabeaufforderung den Cluster für die Authentifizierung auswählen:
gcloud anthos auth login
Ergebnis:
Please use the --cluster flag to specify a cluster from the list below: Source: $HOME/.config/google/anthos/kubectl-anthos-config.yaml 1. Cluster: projects/1000000000000/locations/global/memberships/gke-gcp-cluster ServerIP: https://104.198.180.50:440 2. Cluster: projects/1000000000000/locations/global/memberships/gke-baremetal-cluster ServerIP: https://104.198.180.51:440 3. Cluster: projects/1000000000000/locations/global/memberships/gke-onprem-cluster ServerIP: https://104.198.180.52:440 4. Cluster: projects/1000000000000/locations/global/memberships/gke-aws-cluster ServerIP: https://104.198.180.53:440
Gehostete Konfigurationsdatei für die Authentifizierung verwenden:
gcloud anthos auth login \ --cluster my-production-cluster \ --login-config HTTPS://my-secure-server/kubectl-anthos-config.yaml \ --login-config-cert my-cert.pem
Wählen Sie bei der Auswahl einer Authentifizierungsoption eine Aufforderung aus. Weitere Informationen, einschließlich eines Beispiels, finden Sie unten im Abschnitt Authentifizierungsoption auswählen.
Geben Sie im browserbasierten Zustimmungsbildschirm Ihre Anmeldedaten ein. Wenn der Vorgang erfolgreich war, sollte die Datei
kubeconfig
jetzt ein ID-Token enthalten, das von Ihrenkubectl
-Befehlen zur Authentifizierung beim Kubernetes API-Server auf Ihrem Cluster verwendet wird.Überprüfen Sie, ob die Authentifizierung erfolgreich war, indem Sie einen der
kubectl
-Befehle ausführen, um auf eine Ressource in Ihrem Cluster zuzugreifen. Wenn Sie beispielsweise Zugriff auf die Ressource "nodes" im Cluster haben (dieser Zugriff wird von Ihrem Clusteradministrator konfiguriert), sollten Sie in der Lage sein, den folgenden Befehl auszuführen und die Knoten des Clusters anzusehen:kubectl get nodes --kubeconfig [CLUSTER_KUBECONFIG]
Informationen zur Fehlerbehebung im Zusammenhang mit dem Nutzerzugriff finden Sie unter Probleme mit dem Nutzerzugriff beheben.
Authentifizierungsmethode auswählen
Wenn der Clusteradministrator mehrere Identitätsanbieter für den Cluster konfiguriert hat (z. B. einen OIDC-Anbieter und einen LDAP-Server), aber keinen Standardanbieter für den Cluster konfiguriert hat, werden Sie bei der Anmeldung aufgefordert, eine Authentifizierungsoption auszuwählen, wie im folgenden Beispiel:
gcloud anthos auth login
Please select your preferred authentication option for cluster [gke-onprem-ldap]
[1] LDAP Server
[2] OIDC
[3] cancel
Please enter your numeric choice:
1
Setting Preferred Authentication option to [LDAP Server]
Geben Sie eine numerische Option ein und melden Sie sich wie oben unter Bei dem Cluster authentifizieren beschrieben an.
Die ausgewählte Authentifizierungsoption wird gespeichert, bis entweder der Clusteradministrator den Standardanbieter für diesen Cluster ändert oder Sie ihn selbst ändern. Mit dem Flag --set-preferred-authentication
können Sie Ihre bevorzugte Authentifizierungsoption ändern.
gcloud anthos auth login --set-preferred-authentication
Sie sollten ein Ergebnis wie das folgende Beispiel sehen, das Sie eine neue bevorzugte Authentifizierungsoption wählen lässt:
Your current authentication method is [1] AD Server. Please select your preferred authentication option for cluster [gke-onprem-ldap]
[1] LDAP Server
[2] OIDC
[3] cancel
Please enter your numeric choice:
2
Setting Preferred Authentication option to [OIDC]
SSH zur Authentifizierung über einen Remote-Computer verwenden
Angenommen, Sie möchten eine SSH-Verbindung zu einem Remote-Computer herstellen und sich bei einem Cluster vom Remote-Computer authentifizieren. Dazu muss sich Ihre Konfigurationsdatei für die Authentifizierung auf dem Remote-Computer befinden und Sie müssen Ihren Open-ID-Anbieter von Ihrem lokalen Computer aus erreichen können.
Führen Sie auf Ihrem lokalen Computer den folgenden Befehl aus:
ssh [USER_NAME]@[REMOTE_MACHINE] -L [LOCAL_PORT]:localhost:[REMOTE_PORT]
Dabei gilt:
[USER_NAME] und [REMOTE_MACHINE] sind die Standardwerte, die für die Anmeldung mit SSH verwendet werden.
[LOCAL_PORT] ist ein offener Port Ihrer Wahl auf Ihrem lokalen Computer, über den Sie auf den Remote-Computer zugreifen.
[REMOTE_PORT] ist der Port, den Sie für Ihre OIDC-Weiterleitungs-URL konfiguriert haben. Diesen Port finden Sie im Feld
kubectlRedirectURI
Ihrer Konfigurationsdatei für die Authentifizierung.
Führen Sie in Ihrer SSH-Shell den folgenden Befehl aus, um die Authentifizierung zu starten:
gcloud anthos auth login --login-config [AUTH_CONFIG_FILE]
Dabei ist [AUTH_CONFIG_FILE] der Pfad Ihrer Konfigurationsdatei für die Authentifizierung auf dem Remote-Computer.
Geben Sie auf Ihrem lokalen Computer in einem Browser http://localhost:[LOCAL_PORT]/login ein und schließen Sie den OIDC-Anmeldevorgang ab.
Die Datei „kubeconfig“ enthält jetzt das Token, das Sie für den Zugriff auf den Cluster benötigen.
Prüfen Sie in der SSH-Shell, ob Sie Zugriff auf den Cluster haben:
kubectl --kubeconfig [CLUSTER_KUBECONFIG] get nodes
Über die Google Cloud Console bei Clustern anmelden
Informationen zur Anmeldung bei Clustern über die Google Cloud Console finden Sie unter Über die Google Cloud Console mit Clustern arbeiten.