Získání zabezpečeného přístupu k prostředkům Azure ve službě Azure Kubernetes Service pomocí důvěryhodného přístupu

V tomto článku se dozvíte, jak získat zabezpečený přístup ke službám Azure k serveru rozhraní Kubernetes API ve službě Azure Kubernetes Service (AKS) pomocí důvěryhodného přístupu.

Funkce Důvěryhodného přístupu poskytuje službám zabezpečený přístup k serveru rozhraní API AKS pomocí back-endu Azure bez nutnosti privátního koncového bodu. Místo toho, abyste se museli spoléhat na identity, které mají oprávnění Microsoft Entra , může tato funkce použít spravovanou identitu přiřazenou systémem k ověřování pomocí spravovaných služeb a aplikací, které chcete používat s clustery AKS.

Poznámka

Rozhraní API důvěryhodného přístupu je nyní obecně dostupné. Poskytujeme podporu obecné dostupnosti (GA) pro Azure CLI, ale je stále ve verzi Preview a vyžaduje použití rozšíření aks-Preview.

Přehled funkcí důvěryhodného přístupu

Důvěryhodný přístup řeší následující scénáře:

  • Pokud je autorizovaný rozsah IP adres nastavený nebo v privátním clusteru, nemusí mít služby Azure přístup k serveru rozhraní API Kubernetes, pokud neimplementujete model přístupu privátního koncového bodu.
  • Poskytnutí přístupu správce služby Azure k rozhraní Kubernetes API nedodržuje osvědčený postup přístupu s nejnižšími oprávněními a může vést k eskalaci oprávnění nebo riziku úniku přihlašovacích údajů. Možná budete muset například implementovat oprávnění mezi službami s vysokou úrovní oprávnění a nejsou ideální v kontrole auditu.

Můžete použít Důvěryhodný přístup pro udělení výslovného souhlasu se systémově přiřazenou spravovanou identitou povolených prostředků k přístupu ke clusterům AKS prostřednictvím prostředku Azure nazývaného přiřazení role. Vaše prostředky Azure přistupují ke clusterům AKS prostřednictvím regionální brány AKS prostřednictvím ověřování spravované identity přiřazené systémem. Příslušná oprávnění Kubernetes se přiřazují prostřednictvím prostředku Azure označovaného jako role. Prostřednictvím důvěryhodného přístupu můžete přistupovat ke clusterům AKS s různými konfiguracemi, mezi které patří mimo jiné privátní clustery, clustery, které mají vypnuté místní účty, clustery Microsoft Entra a autorizované clustery rozsahu IP adres.

Prerequisites

Připojení ke clusteru

Nakonfigurujte kubectl pro připojení ke svému clusteru pomocí příkazu az aks get-credentials.

export RESOURCE_GROUP_NAME="myResourceGroup"
export CLUSTER_NAME="myClusterName"

az aks get-credentials --resource-group ${RESOURCE_GROUP_NAME} --name ${CLUSTER_NAME} --overwrite-existing

Ověřte připojení k vašemu clusteru pomocí příkazu kubectl get.

kubectl get nodes

Vyberte požadované role důvěryhodného přístupu.

Vybrané role závisí na službách Azure, ke kterým chcete získat přístup ke clusteru AKS. Služby Azure pomáhají vytvářet role a vazby rolí, které vytvářejí připojení ze služby Azure ke službě AKS.

Pokud chcete najít role, které potřebujete, přečtěte si dokumentaci ke službě Azure, kterou chcete připojit k AKS. Pomocí Azure CLI můžete také zobrazit seznam rolí dostupných pro službu Azure pomocí az aks trustedaccess role list --location <location> příkazu.

Vytvoření přiřazení role pro důvěryhodný přístup

Jakmile potvrdíte, kterou roli použít, pomocí Azure CLI vytvořte vazbu role důvěryhodného přístupu v clusteru AKS. Vazba role přidruží vybranou roli ke službě Azure.

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}

Výsledky:

{
  "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"
}

Poznámka

V clusteru AKS můžete vytvořit až 8 vazeb rolí důvěryhodného přístupu.

Aktualizujte existující vazbu role důvěryhodného přístupu

Pro existující vazbu role, která má přidruženou zdrojovou službu, můžete pomocí příkazu aktualizovat vazbu role s novými rolemi 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 . Tento příkaz aktualizuje přiřazení role zadáním nových rolí, které specifikujete.

Poznámka

Správce doplňků aktualizuje clustery každých pět minut, takže může trvat až pět minut, než se nová vazba role projeví. Než se nová vazba role projeví, stávající vazba role stále funguje.

Pomocí příkazu můžete az aks trusted access rolebinding list zkontrolovat aktuální vazbu role.

Zobrazení vazby role důvěryhodného přístupu

Pomocí příkazu zobrazte určitou vazbu role důvěryhodného az aks trustedaccess rolebinding show --name $ROLE_BINDING_NAME --resource-group $RESOURCE_GROUP_NAME --cluster-name $CLUSTER_NAME přístupu.

Zobrazení seznamu všech vazeb rolí důvěryhodného přístupu pro cluster

K vypisování všech přiřazení rolí důvěryhodného přístupu pro cluster použijte příkaz az aks trustedaccess rolebinding list --resource-group $RESOURCE_GROUP_NAME --cluster-name $CLUSTER_NAME.