Veilige toegang krijgen voor Azure-resources in Azure Kubernetes Service met behulp van vertrouwde toegang
In dit artikel leest u hoe u beveiligde toegang krijgt voor uw Azure-services naar uw Kubernetes API-server in Azure Kubernetes Service (AKS) met vertrouwde toegang.
De functie Vertrouwde toegang biedt services beveiligde toegang tot de AKS-API-server met behulp van de Azure-back-end zonder dat hiervoor een privé-eindpunt nodig is. In plaats van te vertrouwen op identiteiten met Microsoft Entra-machtigingen , kan deze functie uw door het systeem toegewezen beheerde identiteit gebruiken om te verifiëren met de beheerde services en toepassingen die u wilt gebruiken met uw AKS-clusters.
Notitie
De Trusted Access-API is algemeen beschikbaar. We bieden algemene beschikbaarheidsondersteuning voor de Azure CLI, maar deze is nog in preview en vereist het gebruik van de aks-preview-extensie.
Overzicht van vertrouwde toegangsfuncties
Vertrouwde toegang heeft betrekking op de volgende scenario's:
- Als een geautoriseerd IP-bereik is ingesteld of zich in een privécluster bevindt, hebben Azure-services mogelijk geen toegang tot de Kubernetes-API-server, tenzij u een toegangsmodel voor privé-eindpunten implementeert.
- Het verlenen van toegang door een Azure-servicebeheerder tot de Kubernetes-API volgt niet de best practice voor toegang met minimale bevoegdheden en kan leiden tot escalatie van bevoegdheden of het risico op lekken van referenties. U moet bijvoorbeeld machtigingen voor service-naar-service met hoge bevoegdheden implementeren en ze zijn niet ideaal in een controlebeoordeling.
U kunt Vertrouwde toegang gebruiken om expliciet toestemming te geven voor uw door het systeem toegewezen beheerde identiteit van toegestane resources voor toegang tot uw AKS-clusters met behulp van een Azure-resource die een rolbinding wordt genoemd. Uw Azure-resources hebben toegang tot AKS-clusters via de regionale AKS-gateway via door het systeem toegewezen beheerde identiteitverificatie. De juiste Kubernetes-machtigingen worden toegewezen via een Azure-resource die een rol wordt genoemd. Via Vertrouwde toegang hebt u toegang tot AKS-clusters met verschillende configuraties, waaronder maar niet beperkt tot privéclusters, clusters waarvoor lokale accounts zijn uitgeschakeld, Microsoft Entra-clusters en geautoriseerde IP-bereikclusters.
Vereisten
- Een Azure-account met een actief abonnement. Gratis een account maken
- Resourcetypen die door het systeem toegewezen beheerde identiteit ondersteunen.
- Azure CLI versie 2.53.0 of hoger. Voer de opdracht uit
az --version
om uw versie te vinden. Als u Azure CLI 2.0 wilt installeren of upgraden, raadpleegt u Azure CLI 2.0 installeren. - Zie de volgende artikelen voor meer informatie over welke rollen in verschillende scenario's moeten worden gebruikt:
- Maak in hetzelfde abonnement als de Azure-resource waartoe u toegang wilt krijgen tot het cluster een AKS-cluster.
Verbinding maken met uw cluster
Configureer kubectl
deze om verbinding te maken met uw cluster met behulp van de az aks get-credentials
opdracht.
export RESOURCE_GROUP_NAME="myResourceGroup"
export CLUSTER_NAME="myClusterName"
az aks get-credentials --resource-group ${RESOURCE_GROUP_NAME} --name ${CLUSTER_NAME} --overwrite-existing
Controleer de verbinding met uw cluster met behulp van de kubectl get
opdracht.
kubectl get nodes
De vereiste vertrouwde toegangsrollen selecteren
Welke rollen u selecteert, is afhankelijk van de Azure-services waartoe u toegang wilt krijgen tot het AKS-cluster. Azure-services helpen bij het maken van rollen en rolbindingen die de verbinding van de Azure-service naar AKS bouwen.
Zie de documentatie voor de Azure-service waarmee u verbinding wilt maken met AKS om de rollen te vinden die u nodig hebt. U kunt de Azure CLI ook gebruiken om de rollen weer te geven die beschikbaar zijn voor de Azure-service met behulp van de az aks trustedaccess role list --location <location>
opdracht.
Een rolbinding voor vertrouwde toegang maken
Nadat u hebt bevestigd welke rol u wilt gebruiken, gebruikt u de Azure CLI om een binding voor vertrouwde toegangsrollen te maken in het AKS-cluster. De rolbinding koppelt uw geselecteerde rol aan de Azure-service.
export ROLE_BINDING_NAME="myRoleBindingName"
export SOURCE_RESOURCE_ID="mySourceResourceID"
export ROLE_NAME_1="myRoleName1"
export ROLE_NAME_2="myRoleName2"
az aks trustedaccess rolebinding create --resource-group ${RESOURCE_GROUP_NAME} --cluster-name ${CLUSTER_NAME} --name ${ROLE_BINDING_NAME} --source-resource-id ${SOURCE_RESOURCE_ID} --roles ${ROLE_NAME_1},${ROLE_NAME_2}
Resultaten:
{
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/${RESOURCE_GROUP_NAME}/providers/Microsoft.ContainerService/managedClusters/${CLUSTER_NAME}/trustedAccessRoleBindings/${ROLE_BINDING_NAME}",
"name": "${ROLE_BINDING_NAME}",
"provisioningState": "Succeeded",
"resourceGroup": "${RESOURCE_GROUP_NAME}",
"roles": [
"${ROLE_NAME_1}",
"${ROLE_NAME_2}"
],
"sourceResourceId": "${SOURCE_RESOURCE_ID}",
"systemData": null,
"type": "Microsoft.ContainerService/managedClusters/trustedAccessRoleBindings"
}
Een bestaande rolbinding voor vertrouwde toegang bijwerken
Voor een bestaande rolbinding met een gekoppelde bronservice kunt u de rolbinding bijwerken met nieuwe rollen met behulp van de az aks trustedaccess rolebinding update --resource-group $RESOURCE_GROUP_NAME --cluster-name $CLUSTER_NAME --name $ROLE_BINDING_NAME --roles $ROLE_NAME_3,$ROLE_NAME_4
opdracht. Met deze opdracht wordt de rolbinding bijgewerkt met de nieuwe rollen die u opgeeft.
Notitie
De invoegtoepassingsbeheerder werkt clusters om de vijf minuten bij, dus het kan vijf minuten duren voordat de nieuwe rolbinding van kracht wordt. Voordat de nieuwe rolbinding van kracht wordt, werkt de bestaande rolbinding nog steeds.
U kunt de az aks trusted access rolebinding list
opdracht gebruiken om de huidige rolbinding te controleren.
Een rolbinding voor vertrouwde toegang weergeven
Een specifieke rolbinding voor vertrouwde toegang weergeven met behulp van de az aks trustedaccess rolebinding show --name $ROLE_BINDING_NAME --resource-group $RESOURCE_GROUP_NAME --cluster-name $CLUSTER_NAME
opdracht.
Alle rolbindingen voor vertrouwde toegang voor een cluster weergeven
Geef met de az aks trustedaccess rolebinding list --resource-group $RESOURCE_GROUP_NAME --cluster-name $CLUSTER_NAME
opdracht een lijst weer van alle rolbindingen voor vertrouwde toegang voor een cluster.
Gerelateerde inhoud
Azure Kubernetes Service