Řízení přístupu na základě role v clusterech Kubernetes operátora Azure Nexus
Tento článek obsahuje komplexní průvodce správou přístupu ke clusterům Kubernetes Nexus pomocí Microsoft Entra ID. Konkrétně se zaměřujeme na řízení přístupu na základě role, které umožňuje udělit uživatelům oprávnění na základě jejich rolí nebo zodpovědností ve vaší organizaci.
Než začnete
- Začněte tím, že vytvoříte skupinu Microsoft Entra pro správce clusteru a přiřadíte k ní členy. Microsoft Entra ID umožňuje udělit přístup ke skupině jako celku, a ne spravovat oprávnění pro každého uživatele jednotlivě.
- Při vytváření clusteru Nexus Kubernetes použijte ID skupiny, které jste vytvořili jako hodnotu adminGroupObjectIds, abyste zajistili, že členové skupiny získají oprávnění ke správě clusteru. Pokyny k vytvoření a přístupu ke clusteru Nexus Kubernetes najdete v příručce Rychlý start .
Přístup správce ke clusteru
Nexus vytvoří vazbu role clusteru Kubernetes s výchozí rolí cluster-admin
Kubernetes a skupinami Microsoft Entra, které jste zadali jako adminGroupObjectIds
. Správci clusteru mají úplný přístup ke clusteru a mohou provádět všechny operace v clusteru. Správci clusteru můžou také udělit přístup jiným uživatelům tím, že je přiřadí příslušné skupině Microsoft Entra.
Poznámka:
Při vytváření clusteru Nexus Kubernetes vytvoří Nexus automaticky spravovanou skupinu prostředků vyhrazenou k ukládání prostředků clusteru v rámci této skupiny, vytvoří se prostředek clusteru připojeného ke službě Arc.
Pokud chcete získat přístup ke clusteru, musíte nastavit připojení kubeconfig
clusteru . Po přihlášení k Azure CLI s příslušnou entitou Microsoft Entra můžete získat kubeconfig
potřebnou komunikaci s clusterem odkudkoli, i mimo bránu firewall, která ji obklopuje.
RESOURCE_GROUP
NastavteCLUSTER_NAME
aSUBSCRIPTION_ID
proměnné.CLUSTER_NAME="myNexusK8sCluster" RESOURCE_GROUP="myResourceGroup" SUBSCRIPTION_ID=<set the correct subscription_id>
Dotazování spravované skupiny prostředků pomocí
az
a uložení doMANAGED_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)
Následující příkaz spustí proxy server connectedk8s, který umožňuje připojit se k serveru rozhraní API Kubernetes pro zadaný cluster Nexus Kubernetes.
az connectedk8s proxy -n $CLUSTER_NAME -g $MANAGED_RESOURCE_GROUP &
Slouží
kubectl
k odesílání požadavků do clusteru:kubectl get pods -A
Teď by se měla zobrazit odpověď z clusteru obsahujícího seznam všech uzlů.
Poznámka:
Pokud se zobrazí chybová zpráva "Nepodařilo se odeslat přístupový token do klientského proxy serveru se nepovedlo připojit k MSI", možná budete muset provést az login
opětovné ověření v Azure.
Řízení přístupu na základě role
Jako správce můžete clusteru poskytnout řízení přístupu na základě role vytvořením vazby role s ID objektu skupiny Microsoft Entra. Pro uživatele, kteří potřebují jenom oprávnění zobrazit, můžete úkol provést tak, že je přidáte do skupiny Microsoft Entra, která je svázaná s rolí zobrazení.
Vytvořte skupinu Microsoft Entra pro uživatele, kteří potřebují přístup k zobrazení, odkazující na výchozí roli Kubernetes s názvem
view
. Tato role je jen příkladem a v případě potřeby můžete vytvořit vlastní role a místo toho je použít. Další informace o uživatelských rolích v Kubernetes najdete v oficiální dokumentaci k rolím přístupu založeným na kubernetes.Poznamenejte si ID objektu skupiny Microsoft Entra vygenerované při vytváření.
Pomocí příkazu kubectl vytvořte clusterrolebinding s rolí view a přidružte ho ke skupině Microsoft Entra. Nahraďte
AZURE_AD_GROUP_OBJECT_ID
ID objektu vaší skupiny Microsoft Entra.kubectl create clusterrolebinding nexus-read-only-users --clusterrole view --group=AZURE_AD_GROUP_OBJECT_ID
Tento příkaz vytvoří vazbu role clusteru s názvem
nexus-read-only-users
, která přiřadíview
roli členům zadané skupiny Microsoft Entra.Ověřte, že se vazba role úspěšně vytvořila.
kubectl get clusterrolebinding nexus-read-only-users
Teď mají uživatelé ve skupině Microsoft Entra přístup k clusteru jako zobrazení. Mají přístup ke clusteru pomocí
az connectedk8s proxy
k zobrazení prostředků, ale nemůžou provádět žádné změny.
Další kroky
Řízení přístupu můžete dále vyladit vytvořením vlastních rolí s konkrétními oprávněními. Vytvoření těchto rolí zahrnuje prostředky Kubernetes native RoleBinding nebo ClusterRoleBinding. Podrobné pokyny k vytváření dalších vlastních rolí a vazeb rolí najdete v oficiální dokumentaci Kubernetes podle vašich požadavků.