Verwenden von Azure RBAC auf Azure Arc-fähigen Kubernetes-Clustern
Die Kubernetes-Objekttypen „ClusterRoleBinding“ und „RoleBinding“ bieten Unterstützung bei der nativen Definition der Autorisierung in Kubernetes. Wenn Sie dieses Feature verwenden, können Sie unter Verwendung von Microsoft Entra ID und Rollenzuweisungen in Azure die Autorisierungsüberprüfungen für das Cluster steuern. Mit Azure-Rollenzuweisungen können Sie präzise steuern, welche Benutzer Kubernetes-Objekte wie Bereitstellung, Pod und Dienst lesen, schreiben und löschen können.
Eine konzeptionelle Übersicht zu dieser Funktion finden Sie unter Azure RBAC für Kubernetes mit Azure Arc-Unterstützung.
Voraussetzungen
Installieren Sie die Azure-Befehlszeilenschnittstelle, oder upgraden Sie sie auf die neueste Version.
Installieren Sie die neueste Version der Azure CLI-Erweiterung
connectedk8s
:az extension add --name connectedk8s
Wenn die Erweiterung
connectedk8s
bereits installiert ist, kann sie mit dem folgenden Befehl auf die neueste Version aktualisiert werden:az extension update --name connectedk8s
Herstellen einer Verbindung mit einem vorhandenen Kubernetes-Cluster mit Azure Arc-Unterstützung:
- Wenn Sie noch keine Verbindung mit einem Cluster hergestellt haben, verwenden Sie unseren Schnellstart.
- Aktualisieren Sie Ihre Agents auf die neueste Version.
Hinweis
Azure RBAC ist für Red Hat OpenShift- oder verwaltete Kubernetes-Angebote nicht verfügbar, bei denen der Benutzerzugriff auf den API-Server eingeschränkt ist (z. B. Amazon Elastic Kubernetes Service (EKS), Google Kubernetes Engine (GKE)).
Azure RBAC unterstützt derzeit keine Kubernetes-Cluster, die auf der ARM64-Architektur ausgeführt werden. Verwenden Sie Kubernetes RBAC, um die Zugriffssteuerung für ARM64-basierte Kubernetes-Cluster zu verwalten.
Für Azure Kubernetes Service-Cluster (AKS) ist dieses Feature nativ verfügbar und erfordert nicht, dass der AKS-Cluster mit Azure Arc verbunden ist.
Für Azure Kubernetes Service (AKS)-Cluster mit Azure Arc-Unterstützung in Azure Stack HCI 23H2 wird die Aktivierung von Azure RBAC derzeit nur während der Erstellung von Kubernetes-Clustern unterstützt. Zum Erstellen eines Azure Arc-fähigen AKS-Clusters mit aktiviertem Azure RBAC folgen Sie der Anleitung Verwenden von Azure RBAC für die Kubernetes-Autorisierung. Beachten Sie, dass Azure RBAC für Azure Stack HCI, Version 22H2, nicht unterstützt wird.
Das Aktivieren von Azure RBAC auf dem Cluster
Rufen Sie die CLUSTER-MSI-Identität ab, indem Sie den folgenden Befehl ausführen:
az connectedk8s show -g <resource-group> -n <connected-cluster-name>
Rufen Sie die ID (
identity.principalId
) aus der Ausgabe ab, und führen Sie den folgenden Befehl aus, um der Cluster-MSI die Rolle Connected Cluster Managed Identity CheckAccess Reader (CheckAccess-Leser für verwaltete Identitäten verbundener Cluster) zuzuweisen:az role assignment create --role "Connected Cluster Managed Identity CheckAccess Reader" --assignee "<Cluster MSI ID>" --scope <cluster ARM ID>
Aktivieren Sie die rollenbasierte Zugriffssteuerung in Azure (Azure RBAC) in Ihrem Kubernetes-Cluster mit Azure Arc-Unterstützung, indem Sie den folgenden Befehl ausführen:
az connectedk8s enable-features -n <clusterName> -g <resourceGroupName> --features azure-rbac
Hinweis
Stellen Sie vor der Ausführung des obigen Befehls sicher, dass die
kubeconfig
-Datei auf dem Computer auf den Cluster verweist, für den Sie die Azure RBAC-Funktion aktivieren möchten.Verwenden Sie
--skip-azure-rbac-list
mit dem vorherigen Befehl, um eine kommagetrennte Liste mit Benutzernamen, E-Mails und OpenID-Verbindungen zu erhalten, die den Berechtigungsprüfungen unterzogen werden. Verwenden Sie hierzu native KubernetesClusterRoleBinding
- undRoleBinding
-Objekte anstelle von Azure RBAC.
Ein generisches Cluster ohne ausgeführte Synchronisierung in der apiserver
-Spezifikation
Stellen Sie über SSH eine Verbindung mit jedem Masterknoten des Clusters her, folgen Sie den nachstehenden Schritten:
Wenn Ihr
kube-apiserver
ein statischer Pod ist:Das
azure-arc-guard-manifests
-Geheimnis imkube-system
-Namespace enthält zwei Dateien:guard-authn-webhook.yaml
undguard-authz-webhook.yaml
. Kopieren Sie diese Dateien in das Verzeichnis/etc/guard
des Knotens.sudo mkdir -p /etc/guard kubectl get secrets azure-arc-guard-manifests -n kube-system -o json | jq -r '.data."guard-authn-webhook.yaml"' | base64 -d > /etc/guard/guard-authn-webhook.yaml kubectl get secrets azure-arc-guard-manifests -n kube-system -o json | jq -r '.data."guard-authz-webhook.yaml"' | base64 -d > /etc/guard/guard-authz-webhook.yaml
Öffnen Sie das
apiserver
-Manifest im Bearbeitungsmodus:sudo vi /etc/kubernetes/manifests/kube-apiserver.yaml
Fügen Sie unter
volumes
die folgende Spezifikation hinzu:- hostPath path: /etc/guard type: Directory name: azure-rbac
Fügen Sie unter
volumeMounts
die folgende Spezifikation hinzu:- mountPath: /etc/guard name: azure-rbac readOnly: true
Wenn Ihr
kube-apiserver
kein statischer Pod ist:Öffnen Sie das
apiserver
-Manifest im Bearbeitungsmodus:sudo vi /etc/kubernetes/manifests/kube-apiserver.yaml
Fügen Sie unter
volumes
die folgende Spezifikation hinzu:- name: azure-rbac secret: secretName: azure-arc-guard-manifests
Fügen Sie unter
volumeMounts
die folgende Spezifikation hinzu:- mountPath: /etc/guard name: azure-rbac readOnly: true
Fügen Sie die folgenden
apiserver
-Argumente hinzu:- --authentication-token-webhook-config-file=/etc/guard/guard-authn-webhook.yaml - --authentication-token-webhook-cache-ttl=5m0s - --authorization-webhook-cache-authorized-ttl=5m0s - --authorization-webhook-config-file=/etc/guard/guard-authz-webhook.yaml - --authorization-webhook-version=v1 - --authorization-mode=Node,RBAC,Webhook
Wenn Sie das Kubernetes-Cluster mit der Version 1.19.0 oder höher verwenden, müssen Sie auch das folgende
apiserver
-Argument festlegen:- --authentication-token-webhook-version=v1
Speichern und schließen Sie den Editor, um den
apiserver
-Pod zu aktualisieren.
Mit Cluster-API erstellte Cluster
Kopieren Sie das Wächtergeheimnis, das die Authentifizierungs- und Autorisierungs-Webhookkonfigurationsdateien aus dem Workloadcluster enthält, auf Ihren Computer:
kubectl get secret azure-arc-guard-manifests -n kube-system -o yaml > azure-arc-guard-manifests.yaml
Ändern Sie das Feld
namespace
in der Datei azure-arc-guard-manifests.yaml in den Namespace innerhalb des Verwaltungsclusters in dem Sie die benutzerdefinierten Ressourcen zur Erstellung von Workloadclustern hinzufügen.Wenden Sie dieses Manifest an:
kubectl apply -f azure-arc-guard-manifests.yaml
Bearbeiten Sie das Objekt
KubeadmControlPlane
durch Ausführung vonkubectl edit kcp <clustername>-control-plane
:Fügen Sie unter
files
den folgenden Codeausschnitt hinzu:- contentFrom: secret: key: guard-authn-webhook.yaml name: azure-arc-guard-manifests owner: root:root path: /etc/kubernetes/guard-authn-webhook.yaml permissions: "0644" - contentFrom: secret: key: guard-authz-webhook.yaml name: azure-arc-guard-manifests owner: root:root path: /etc/kubernetes/guard-authz-webhook.yaml permissions: "0644"
Fügen Sie unter
apiServer
>extraVolumes
den folgenden Codeausschnitt hinzu:- hostPath: /etc/kubernetes/guard-authn-webhook.yaml mountPath: /etc/guard/guard-authn-webhook.yaml name: guard-authn readOnly: true - hostPath: /etc/kubernetes/guard-authz-webhook.yaml mountPath: /etc/guard/guard-authz-webhook.yaml name: guard-authz readOnly: true
Fügen Sie unter
apiServer
>extraArgs
den folgenden Codeausschnitt hinzu:authentication-token-webhook-cache-ttl: 5m0s authentication-token-webhook-config-file: /etc/guard/guard-authn-webhook.yaml authentication-token-webhook-version: v1 authorization-mode: Node,RBAC,Webhook authorization-webhook-cache-authorized-ttl: 5m0s authorization-webhook-config-file: /etc/guard/guard-authz-webhook.yaml authorization-webhook-version: v1
Wählen Sie speichern und schließen, um das Objekt
KubeadmControlPlane
zu aktualisieren. Warten Sie, bis diese Änderungen auf dem Workloadcluster angezeigt werden.
Erstellen von Rollenzuweisungen für Benutzer zum Zugriff auf den Cluster
Die Besitzer*innen der Azure Arc-fähigen Kubernetes-Ressource können entweder integrierte oder benutzerdefinierte Rollen verwenden, um anderen Benutzer*innen den Zugriff auf die Kubernetes-Cluster zu gewähren.
Integrierte Rollen
Rolle | Beschreibung |
---|---|
Anzeigeberechtigter für Azure Arc Kubernetes | Ermöglicht schreibgeschützten Zugriff, um die meisten Objekte in einem Namespace anzuzeigen. Diese Rolle lässt das Anzeigen von geheimen Schlüsseln nicht zu, da die read -Berechtigung für geheime Schlüssel den Zugriff auf ServiceAccount -Anmeldeinformationen im Namespace ermöglichen würde. Diese Anmeldeinformationen würden wiederum den API-Zugriff über den Wert ServiceAccount (eine Form der Rechteauswertung) ermöglichen. |
Schreibberechtigter für Azure Arc Kubernetes | Ermöglicht Lese-/Schreibzugriff auf die meisten Objekte in einem Namespace. Diese Rolle lässt das Anzeigen oder Ändern von Rollen oder Rollenbindungen nicht zu. Diese Rolle ermöglicht jedoch den Zugriff auf Geheimnisse und das Ausführen von Pods als beliebigen ServiceAccount -Wert im Namespace, sodass sie verwendet werden kann, um die API-Zugriffsebenen für einen beliebigen ServiceAccount -Wert im Namespace zu erhalten. |
Azure Arc Kubernetes-Administrator | Mit dieser Rolle wird Administratorzugriff gewährt. Sie soll innerhalb eines Namespace durch RoleBinding vergeben werden. Wenn Sie sie in RoleBinding verwenden, wird der Lese-/Schreibzugriff auf die meisten Ressourcen in einem Namespace gewährt, einschließlich der Möglichkeit zum Erstellen von Rollen und Rollenbindungen innerhalb des Namespace. Diese Rolle lässt keinen Schreibzugriff auf das Ressourcenkontingent oder den Namespace selbst zu. |
Azure Arc Kubernetes-Clusteradministrator | Es ermöglicht den Administratoren-Zugriff, um beliebige Aktionen für beliebige Ressourcen auszuführen. Wenn Sie sie in ClusterRoleBinding verwenden, wird die vollständige Steuerung über jede Ressource in dem Cluster und in allen Namespaces gewährt. Wenn Sie sie in RoleBinding verwenden, wird die vollständige Steuerung über jede Ressource im Namespace der Rollenbindung, einschließlich des Namespace selbst gewährt. |
Sie können Rollenzuweisungen, die auf den Azure Arc-fähigen Kubernetes-Cluster beschränkt sind, im Azure-Portal im Bereich Zugriffssteuerung (IAM) der Clusterressource erstellen. Sie können auch die folgenden Azure CLI-Befehle verwenden:
az role assignment create --role "Azure Arc Kubernetes Cluster Admin" --assignee <AZURE-AD-ENTITY-ID> --scope $ARM_ID
Bei diesen Befehlen kann AZURE-AD-ENTITY-ID
ein Benutzername (z. B. testuser@mytenant.onmicrosoft.com
) oder sogar der appId
-Wert eines Dienstprinzipals sein.
Hier sehen Sie ein weiteres Beispiel für die Erstellung einer Rollenzuweisung, die auf einen bestimmten Namespace innerhalb des Clusters bezogen ist:
az role assignment create --role "Azure Arc Kubernetes Viewer" --assignee <AZURE-AD-ENTITY-ID> --scope $ARM_ID/namespaces/<namespace-name>
Hinweis
Sie können auf den Cluster bezogene Rollenzuweisungen erstellen, indem Sie entweder das Azure-Portal oder die Azure CLI verwenden. Rollenzuweisungen, die auf Namespaces bezogen sind, können aber nur mithilfe der Azure CLI erstellt werden.
Benutzerdefinierte Rollen
Sie können Ihre eigene Rollendefinition für die Verwendung in den Rollenzuweisungen erstellen.
Das folgende Beispiel zeigt eine Rollendefinition, die zulässt, dass der Benutzer die Bereitstellungen nur lesen kann. Weitere Informationen finden Sie in der vollständigen Liste der Datenaktionen, die zum Erstellen einer Rollendefinition verwendet werden können.
Kopieren Sie das nachstehende JSON-Objekt in eine Datei mit dem Namen custom-role.json. Ersetzen Sie den Platzhalter <subscription-id>
durch die tatsächliche Abonnement-ID. Die benutzerdefinierte Rolle verwendet eine der Datenaktionen. Sie ermöglicht Ihnen die Anzeige aller Bereitstellungen in dem Bereich (Cluster oder Namespace), in dem die Rollenzuweisung erstellt wird.
{
"Name": "Arc Deployment Viewer",
"Description": "Lets you view all deployments in cluster/namespace.",
"Actions": [],
"NotActions": [],
"DataActions": [
"Microsoft.Kubernetes/connectedClusters/apps/deployments/read"
],
"NotDataActions": [],
"assignableScopes": [
"/subscriptions/<subscription-id>"
]
}
Das Erstellen Sie die Rollendefinition, indem Sie den folgenden Befehl aus dem Ordner ausführen, in dem Sie die Datei custom-role.json gespeichert haben:
az role definition create --role-definition @custom-role.json
Das Erstellen einer Rollenzuweisung unter Verwendung dieser benutzerdefinierten Rollendefinition:
az role assignment create --role "Arc Deployment Viewer" --assignee <AZURE-AD-ENTITY-ID> --scope $ARM_ID/namespaces/<namespace-name>
Konfigurieren von kubectl mit Benutzeranmeldeinformationen
Es gibt zwei Möglichkeiten, die kubeconfig-Datei abzurufen, die Sie für den Zugriff auf den Cluster benötigen:
- Verwenden Sie die Funktion für die Clusterverbindung (
az connectedk8s proxy
) des Kubernetes-Clusters mit Azure Arc-Unterstützung. - Der Clusteradministrator gibt die kubeconfig-Datei für jeden anderen Benutzer frei.
Verwenden der Clusterverbindung
Führen Sie den folgenden Befehl aus, um den Proxy-Prozess zu starten:
az connectedk8s proxy -n <clusterName> -g <resourceGroupName>
Nachdem der Proxy-Prozess ausgeführt wird, können Sie eine weitere Registerkarte in Ihrer Konsole öffnen, um Anforderungen an den Cluster zu senden.
Verwenden einer freigegebenen kubeconfig-Datei
Die Verwendung einer freigegebenen Kubeconfig erfordert je nach Kubernetes-Version geringfügig unterschiedliche Schritte.
Führen Sie den folgenden Befehl aus, um die Anmeldeinformationen für den Benutzer festzulegen. Geben Sie
serverApplicationId
als6256c85f-0aad-4d50-b960-e6e9b21efe35
undclientApplicationId
als3f4439ff-e698-4d6d-84fe-09c9d574f06b
an:kubectl config set-credentials <testuser>@<mytenant.onmicrosoft.com> \ --auth-provider=azure \ --auth-provider-arg=environment=AzurePublicCloud \ --auth-provider-arg=client-id=<clientApplicationId> \ --auth-provider-arg=tenant-id=<tenantId> \ --auth-provider-arg=apiserver-id=<serverApplicationId>
Öffnen Sie die kubeconfig-Datei, die Sie vorher erstellt haben. Überprüfen Sie unter
contexts
, dass der mit dem Cluster verknüpfte Kontext auf die Benutzeranmeldeinformationen verweist, die Sie im vorherigen Schritt erstellt haben. Führen Sie den folgenden Befehl aus, um den aktuellen Kontext auf diese Benutzeranmeldeinformationen festzulegen:kubectl config set-context --current=true --user=<testuser>@<mytenant.onmicrosoft.com>
Hinzufügen der config-mode-Einstellung unter
user
>config
:name: testuser@mytenant.onmicrosoft.com user: auth-provider: config: apiserver-id: $SERVER_APP_ID client-id: $CLIENT_APP_ID environment: AzurePublicCloud tenant-id: $TENANT_ID config-mode: "1" name: azure
Hinweis
Das Exec-Plug-In ist eine Kubernetes-Authentifizierungsstrategie, mit der
kubectl
einen externen Befehl ausführen kann, um Benutzeranmeldeinformationen zu empfangen, die anapiserver
gesendet werden sollen. Ab Kubernetes Version 1.26 ist das standardmäßige Azure-Autorisierungs-Plug-In nicht mehr inclient-go
undkubectl
enthalten. Mit späteren Versionen müssen Sie Azure Kubelogin, einclient-go
exec-Plug-In, das die Azure-Authentifizierung implementiert, verwenden, um das exec-Plug-In zu verwenden, um Benutzeranmeldeinformationen zu erhalten.Azure Kubelogin installieren:
Folgen Sie für Windows oder Mac den Installationsanweisungen von Azure Kubelogin.
Laden Sie für Linux oder Ubuntu die neueste Version von Kubelogin herunter und führen Sie dann die folgenden Befehle aus:
curl -LO https://github.com/Azure/kubelogin/releases/download/"$KUBELOGIN_VERSION"/kubelogin-linux-amd64.zip unzip kubelogin-linux-amd64.zip sudo mv bin/linux_amd64/kubelogin /usr/local/bin/ sudo chmod +x /usr/local/bin/kubelogin
Mit Kubelogin können Sie sich mit Azure Arc-fähigen Clustern authentifizieren, indem Sie ein PoP-Token (Proof-of-Possession) anfordern. Konvertieren Sie den kubeconfig mithilfe von kubelogin so, dass der richtige Anmeldemodus verwendet wird. Für die Gerätecodeanmeldung bei einem Microsoft Entra-Benutzer würden die Befehle z. B. wie folgt aussehen:
export KUBECONFIG=/path/to/kubeconfig kubelogin convert-kubeconfig --pop-enabled --pop-claims 'u=<ARM ID of cluster>"
Versenden von Anforderungen an den Cluster
Führen Sie einen beliebigen
kubectl
-Befehl aus. Beispiel:kubectl get nodes
kubectl get pods
Wenn Sie zur Durchführung der browserbasierten Authentifizierung aufgefordert werden, kopieren Sie die URL (
https://microsoft.com/devicelogin
) für die Geräteanmeldung, und öffnen Sie diese in Ihrem Webbrowser.Geben Sie den auf Ihrer Konsole aufgedruckten Code ein. Kopieren Sie den Code und fügen Sie ihn auf Ihrem Endgerät in die Eingabeaufforderung für die Geräteauthentifizierung ein.
Geben Sie den Benutzernamen (
testuser@mytenant.onmicrosoft.com
) und das zugehörige Kennwort ein.Falls eine Fehlermeldung, wie die folgende, angezeigt wird, sind Sie nicht berechtigt auf die angeforderte Ressource zuzugreifen:
Error from server (Forbidden): nodes is forbidden: User "testuser@mytenant.onmicrosoft.com" cannot list resource "nodes" in API group "" at the cluster scope: User doesn't have access to the resource in Azure. Update role assignment to allow access.
Ein Administrator muss eine neue Rollenzuweisung erstellen, die diesem Benutzer den Zugriff auf die Ressource gewährt.
Bedingten Zugriff mit Microsoft Entra ID verwenden
Wenn Sie Microsoft Entra ID mit Ihrem Azure Arc-fähigen Kubernetes-Cluster integrieren, können Sie den Zugriff darauf auch mithilfe des bedingten Zugriffs steuern.
Hinweis
Microsoft Entra Conditional Access ist eine Microsoft Entra ID P2-Funktion.
So erstellen Sie eine Beispielrichtlinie für bedingten Zugriff, die mit dem Cluster verwendet werden soll
Suchen Sie ganz oben im Azure-Portal nach Microsoft Entra ID und wählen Sie den Eintrag aus.
Wählen Sie im Menü für Microsoft Entra-ID auf der linken Seite Enterprise-Anwendungenaus.
Wählen Sie auf der linken Seite im Menü „Unternehmensanwendungen“ Bedingter Zugriff aus.
Wählen Sie auf der linken Seite im Menü „Bedingter Zugriff“ Richtlinien>Neue Richtlinie aus.
Geben Sie einen Namen für die Richtlinie, z. B. arc-k8s-Richtlinie, ein.
Wählen Sie Benutzer und Gruppen aus. Wählen Sie unter Einschließen die Option Benutzer und Gruppen auswählenaus. Wählen Sie dann die Benutzer und Gruppen aus, auf die Sie die Richtlinie anwenden möchten. Wählen Sie in diesem Beispiel dieselbe Microsoft Entra-Gruppe aus, die Administratorzugriff auf Ihr Cluster hat.
Wählen Sie Cloud-Apps oder -aktionen aus. Wählen Sie unter Einschließen die Option Apps auswählen aus. Suchen Sie dann nach der Serveranwendung, die Sie zuvor erstellt haben, und wählen Sie sie aus.
Klicken Sie unter Zugriffssteuerungen auf Gewähren. Wählen Sie Zugriff gewähren>Markieren des Geräts als konform erforderlich aus.
Wählen Sie unter Richtlinie aktivieren die Option An>Erstellen aus.
Ein erneutes Zugreifen auf den Cluster. Das Ausführen des kubectl get nodes
-Befehls zum Anzeigen der Knoten im Cluster:
kubectl get nodes
Befolgen Sie die Anweisungen zum erneuten Anmelden. Eine Fehlermeldung zeigt an, dass Sie erfolgreich angemeldet sind. Ihr Administrator fordert aber an, dass das Zugriff anfordernde Gerät von Ihrem Microsoft Entra ID verwaltet werden muss, damit es auf die Ressource zugreifen kann. Führen Sie folgende Schritte aus:
Navigieren Sie im Azure-Portal zu Microsoft Entra ID.
Wählen Sie Unternehmensanwendungen. Wählen Sie dann unter Aktivität die Option Anmeldungen aus.
Ein Eintrag oben zeigt einen Fehler für den Status und den Erfolg für den bedingten Zugriff an. Wählen Sie den Eintrag und dann unter Details die Option Bedingter Zugriff aus. Wie Sie sehen können, ist Ihre Richtlinie für den bedingten Zugriff aufgeführt.
Konfigurieren des Just-in-Time-Clusterzugriffs mit Microsoft Entra ID
Eine weitere Option für die Clusterzugriffssteuerung ist die Verwendung von Privileged Identity Management (PIM) für Just-In-Time-Anforderungen.
Hinweis
Microsoft Entra PIM ist eine Microsoft Entra ID P2-Funktion. Weitere Informationen zu Microsoft Entra ID SKUs finden Sie im Preisleitfaden.
Führen Sie die folgenden Schritte aus, um die Just-In-Time-Zugriffsanforderungen für Ihren Cluster zu konfigurieren:
Suchen Sie ganz oben im Azure-Portal nach Microsoft Entra ID und wählen Sie den Eintrag aus.
Notieren Sie die Mandanten-ID. Im nachfolgenden Teil dieser Anleitung bezeichnen wir diese ID als
<tenant-id>
.Wählen Sie im Menü für die Microsoft Entra-ID auf der linken Seite unter Verwalten Gruppen>Neue Gruppe aus.
Stellen Sie sicher, dass die Sicherheit als Gruppentyp ausgewählt ist. Die Eingabe eine Gruppennamens, z. B. myJITGroup. Wählen Sie unter Microsoft Entra-Rollen können der Gruppe zugewiesen werden (Vorschau) die Option Ja aus. Wählen Sie abschließend Erstellen.
Sie werden zur Seite Gruppen zurückgeleitet. Wählen Sie Ihre neu erstellte Gruppe aus, und notieren Sie die Objekt-ID. Im nachfolgenden Teil dieser Anleitung bezeichnen wir diese ID als
<object-id>
.Zurück im Azure-Portal, wählen Sie auf der linken Seite im Menü Aktivität die Option Privilegierter Zugriff (Vorschau) aus. Wählen Sie dann Privilegierten Zugriff aktivieren aus.
Wählen Sie Zuweisungen hinzufügen aus, um mit der Zugriffsgewährung zu beginnen.
Wählen Sie eine Rolle für das Mitglied und anschließend die Benutzer und Gruppen aus, denen Sie Clusterzugriff gewähren möchten. Ein Gruppenadministrator kann diese Zuweisungen jederzeit ändern. Wenn Sie so weit sind, wählen Sie Weiter aus.
Wählen Sie einen Zuweisungstyp von Aktiv und die gewünschte Dauer aus, und geben Sie eine Begründung an. Wenn Sie so weit sind, wählen Sie Zuweisen aus. Weitere Informationen zu Zuweisungstypen finden Sie unter Zuweisen eines Besitzers oder Mitglieds einer Gruppe.
Überprüfen Sie sich nach dem Einrichtung der Zuweisungen, dass der Just-In-Time-Zugriff funktioniert, indem Sie auf den Cluster zugreifen. Verwenden Sie dafür z. B. den kubectl get nodes
-Befehl zum Anzeigen der Knoten im Cluster:
kubectl get nodes
Beachten Sie die Authentifizierungsanforderung, und führen Sie die Authentifizierungsschritte aus. Wenn der Authentifizierungsvorgang erfolgreich war, sollte eine Ausgabe wie diese angezeigt werden:
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code AAAAAAAAA to authenticate.
NAME STATUS ROLES AGE VERSION
node-1 Ready agent 6m36s v1.18.14
node-2 Ready agent 6m42s v1.18.14
node-3 Ready agent 6m33s v1.18.14
Nächste Schritte
- Stellen Sie eine sichere Verbindung mit dem Cluster über Cluster Connect her.
- Erfahren Sie mehr über die Architektur von Azure RBAC in Kubernetes mit Arc-Unterstützung.