Op rollen gebaseerd toegangsbeheer in Azure Operator Nexus Kubernetes-clusters
Dit artikel bevat een uitgebreide handleiding over het beheren van toegang tot Nexus Kubernetes-clusters met behulp van Microsoft Entra ID. We richten ons met name op op rollen gebaseerd toegangsbeheer, waarmee u machtigingen kunt verlenen aan gebruikers op basis van hun rollen of verantwoordelijkheden binnen uw organisatie.
Voordat u begint
- Maak eerst een Microsoft Entra-groep voor uw clusterbeheerders en wijs er leden aan toe. Met Microsoft Entra ID kan toegang worden verleend aan de groep als geheel in plaats van machtigingen voor elke gebruiker afzonderlijk te beheren.
- Gebruik de groeps-id die u hebt gemaakt als de waarde voor adminGroupObjectIds bij het maken van het Nexus Kubernetes-cluster om ervoor te zorgen dat de leden van de groep machtigingen krijgen om het cluster te beheren. Raadpleeg de quickstartgids voor instructies over het maken en openen van het Nexus Kubernetes-cluster.
toegang tot het cluster Beheer istrator
Nexus maakt een Kubernetes-clusterrolbinding met de standaard Kubernetes-rol cluster-admin
en de Microsoft Entra-groepen die u hebt opgegeven als adminGroupObjectIds
. De clusterbeheerders hebben volledige toegang tot het cluster en kunnen alle bewerkingen op het cluster uitvoeren. De clusterbeheerders kunnen ook toegang verlenen aan andere gebruikers door ze toe te wijzen aan de juiste Microsoft Entra-groep.
Notitie
Wanneer u een Nexus Kubernetes-cluster maakt, maakt Nexus automatisch een beheerde resourcegroep die is toegewezen aan het opslaan van de clusterresources, binnen deze groep, wordt de met Arc verbonden clusterresource tot stand gebracht.
Voor toegang tot uw cluster moet u de clusterverbinding kubeconfig
instellen. Nadat u zich hebt aangemeld bij Azure CLI met de relevante Microsoft Entra-entiteit, kunt u de kubeconfig
benodigde gegevens verkrijgen om te communiceren met het cluster vanaf elke locatie, zelfs buiten de firewall eromheen.
Stel
CLUSTER_NAME
enRESOURCE_GROUP
SUBSCRIPTION_ID
variabelen in.CLUSTER_NAME="myNexusK8sCluster" RESOURCE_GROUP="myResourceGroup" SUBSCRIPTION_ID=<set the correct subscription_id>
Query's uitvoeren op beheerde resourcegroep met
az
en opslaan inMANAGED_RESOURCE_GROUP
az account set -s $SUBSCRIPTION_ID MANAGED_RESOURCE_GROUP=$(az networkcloud kubernetescluster show -n $CLUSTER_NAME -g $RESOURCE_GROUP --output tsv --query managedResourceGroupConfiguration.name)
Met de volgende opdracht wordt een connectedk8s-proxy gestart waarmee u verbinding kunt maken met de Kubernetes-API-server voor het opgegeven Nexus Kubernetes-cluster.
az connectedk8s proxy -n $CLUSTER_NAME -g $MANAGED_RESOURCE_GROUP &
Gebruik
kubectl
dit om aanvragen naar het cluster te verzenden:kubectl get pods -A
U ziet nu een antwoord van het cluster met de lijst met alle knooppunten.
Notitie
Als u het foutbericht 'Kan geen toegangstoken posten naar clientproxyFailed om verbinding te maken met MSI' wordt weergegeven, moet u mogelijk een az login
nieuwe verificatie uitvoeren bij Azure.
Op rollen gebaseerd toegangsbeheer
Als beheerder kunt u op rollen gebaseerd toegangsbeheer voor het cluster bieden door een rolbinding te maken met de object-id van de Microsoft Entra-groep. Voor gebruikers die alleen machtigingen voor weergeven nodig hebben, kunt u de taak uitvoeren door ze toe te voegen aan een Microsoft Entra-groep die is gekoppeld aan de rol 'weergave'.
Maak een Microsoft Entra-groep voor gebruikers die toegang tot weergave nodig hebben, die verwijst naar de standaard Kubernetes-rol met de naam
view
. Deze rol is slechts een voorbeeld. Indien nodig kunt u aangepaste rollen maken en deze gebruiken. Voor meer informatie over gebruikersgerichte rollen in Kubernetes raadpleegt u de officiƫle documentatie in Kubernetes-toegangsrollen.Noteer de microsoft Entra-groepsobject-id die is gegenereerd bij het maken.
Gebruik de kubectl-opdracht om een clusterrolebinding te maken met de rol 'view' en deze te koppelen aan de Microsoft Entra-groep. Vervang
AZURE_AD_GROUP_OBJECT_ID
door de object-id van uw Microsoft Entra-groep.kubectl create clusterrolebinding nexus-read-only-users --clusterrole view --group=AZURE_AD_GROUP_OBJECT_ID
Met deze opdracht maakt u een clusterrolbinding met de naam
nexus-read-only-users
die deview
rol toewijst aan de leden van de opgegeven Microsoft Entra-groep.Controleer of de rolbinding is gemaakt.
kubectl get clusterrolebinding nexus-read-only-users
Nu hebben de gebruikers in de Microsoft Entra-groep 'view' toegang tot het cluster. Ze hebben toegang tot het cluster om
az connectedk8s proxy
de resources weer te geven, maar kunnen geen wijzigingen aanbrengen
Volgende stappen
U kunt toegangsbeheer verder verfijnen door aangepaste rollen met specifieke machtigingen te maken. Het maken van deze rollen omvat Kubernetes native RoleBinding- of ClusterRoleBinding-resources. U kunt de officiƫle Kubernetes-documentatie raadplegen voor gedetailleerde richtlijnen voor het maken van meer aangepaste rollen en rolbindingen op basis van uw vereisten.