Zelfstudie: RBAC-rollen (op rollen gebaseerd toegangsbeheer) configureren in Azure Kubernetes Service (AKS) met behulp van Ansible
Artikel
Belangrijk
Ansible 2.8 (of hoger) is vereist om de voorbeeldplaybooks in dit artikel uit te voeren.
Met Azure Kubernetes Service (AKS) kunt u eenvoudig een beheerd Kubernetes-cluster implementeren in Azure. AKS verkleint de complexiteit en de operationele overhead die gepaard gaan met het beheer van Kubernetes door veel van deze taken naar Azure over te hevelen. Azure handelt als een gehoste Kubernetes-service cruciale taken voor u af zoals statuscontrole en onderhoud. De Kubernetes-modellen worden beheerd door Azure. U beheert en onderhoudt alleen de agentknooppunten. Als beheerde Kubernetes-service is AKS gratis. U betaalt alleen voor de agentknooppunten binnen uw clusters; niet voor de masters.
AKS kan worden geconfigureerd voor het gebruik van Microsoft Entra-id voor gebruikersverificatie. Zodra dit is geconfigureerd, gebruikt u uw Microsoft Entra-verificatietoken om u aan te melden bij het AKS-cluster. De RBAC kan zijn gebaseerd op de identiteit of het lidmaatschap van een directorygroep van een gebruiker.
In dit artikel leert u het volgende:
Een AKS-cluster met Microsoft Entra ID maken
Een RBAC-rol configureren in het cluster
Vereisten
Azure-abonnement: als u nog geen abonnement op Azure hebt, maakt u een gratis Azure-account aan voordat u begint.
Azure-service-principal: maak een service-principal, noteer de volgende waarden: appId, displayName, wachtwoord en tenant.
Ansible installeren: Voer een van de volgende opties uit:
De RedHat OpenShift-bibliotheek installeren - pip install openshift
Microsoft Entra-id configureren voor AKS-verificatie
Bij het configureren van Microsoft Entra-id voor AKS-verificatie worden twee Microsoft Entra-toepassingen geconfigureerd. Deze bewerking moet worden voltooid door een Azure-tenantbeheerder. Zie Microsoft Entra-id integreren met AKS voor meer informatie.
Haal bij de Azure-tenantbeheerder de volgende waarden op:
Server-app-geheim
Server-app-id
Client-app-id
Tenant-id
Deze waarden zijn nodig om het voorbeeldplaybook uit te voeren.
Hier volgen enkele belangrijke opmerkingen die u moet overwegen bij het werken met het voorbeeldplaybook:
Het playbook wordt geladen ssh_key van ~/.ssh/id_rsa.pub. Als u deze wijzigt, gebruikt u de indeling met één regel, te beginnen met 'ssh-rsa' (zonder de aanhalingstekens).
De client_id waarden en client_secret waarden worden geladen van ~/.azure/credentials, wat het standaardreferentiebestand is. U kunt deze waarden instellen op uw service-principal of deze waarden laden vanuit omgevingsvariabelen:
Vervang in de vars sectie de volgende tijdelijke aanduidingen door uw Microsoft Entra-gegevens:
<client id>
<server id>
<server secret>
<tenant id>
Voer het volledige playbook uit met behulp van de ansible-playbook opdracht:
Bash
ansible-playbook aks-rbac.yml
De resultaten controleren
In deze sectie gebruikt u de kubectl-lijst met de knooppunten die in dit artikel worden gemaakt.
Voer de volgende opdracht in bij een terminalprompt:
Bash
kubectl --kubeconfig aks-aksansibletest-kubeconfig-user get nodes
Met de opdracht wordt u naar een verificatiepagina geleid. Meld u aan met uw Azure-account.
Na verificatie geeft kubectl de knooppunten op dezelfde manier weer als de volgende resultaten:
txt
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code XXXXXXXX to authenticate.
NAME STATUS ROLES AGE VERSION
aks-nodepool1-33413200-0 Ready agent 49m v1.12.6
aks-nodepool1-33413200-1 Ready agent 49m v1.12.6
aks-nodepool1-33413200-2 Ready agent 49m v1.12.6
Resources opschonen
Verwijder de resources die u in dit artikel hebt gemaakt als u ze niet meer nodig hebt.
Gebruik Azure Policy om beleid en beveiliging op schaal af te dwingen op uw Kubernetes-clusters. Azure Policy zorgt ervoor dat uw cluster veilig, compatibel en consistent is binnen uw organisatie.
Demonstreer de functies van Microsoft Entra ID om identiteitsoplossingen te moderniseren, hybride oplossingen te implementeren en identiteitsbeheer te implementeren.