Delen via


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

  1. 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.
  2. 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 kubeconfiginstellen. 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.

  1. Stel CLUSTER_NAMEen RESOURCE_GROUP SUBSCRIPTION_ID variabelen in.

    CLUSTER_NAME="myNexusK8sCluster"
    RESOURCE_GROUP="myResourceGroup"
    SUBSCRIPTION_ID=<set the correct subscription_id>
    
  2. Query's uitvoeren op beheerde resourcegroep met az en opslaan in MANAGED_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)
    
  3. 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 &
    
  4. 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'.

  1. 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.

  2. Noteer de microsoft Entra-groepsobject-id die is gegenereerd bij het maken.

  3. 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 de view rol toewijst aan de leden van de opgegeven Microsoft Entra-groep.

  4. Controleer of de rolbinding is gemaakt.

    kubectl get clusterrolebinding nexus-read-only-users
    
  5. 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.