将 Microsoft Entra ID 与 AKS 群集集成后,可以通过对即时请求使用条件访问来控制对群集的访问。 本文介绍如何在 AKS 群集上启用条件访问。
注意
Microsoft Entra 条件访问具有 Entra ID P1、P2 或需要高级 P2 SKU 的治理功能。 有关 Microsoft Entra ID 许可证和 SKU 的详细信息,请参阅 Microsoft Entra ID 治理许可基础知识和定价指南。
开始之前
- 有关概述和设置说明,请参阅 AKS 托管的 Microsoft Entra 集成。
将条件访问与 Microsoft Entra ID 和 AKS 配合使用
- 在 Azure 门户中转到“Microsoft Entra ID”页,然后选择“企业应用程序”。
- 选择“条件访问”>“策略”>“新建策略”。
- 为策略输入名称,例如“aks-policy”。
- 在“分配” 下,选择“用户和组” 。 选择要将策略应用到的用户和组。 在此示例中,请选择对你的群集拥有管理员访问权限的同一个 Microsoft Entra 组。
- 在“云应用或操作”“包括”下,选择“选择应用”。 搜索“Azure Kubernetes 服务”,然后选择“Azure Kubernetes 服务 Microsoft Entra 服务器”。
- 在“访问控制>授权”下,依次选择“授予访问权限”、“要求将设备标记为合规”和“需要所有已选控件”。
- 确认设置,将“启用策略”设置为“开”,然后选择“创建”。
验证是否已成功列出条件访问策略
实现条件访问策略后,通过访问 AKS 群集并检查登录活动来验证它是否按预期工作。
使用
az aks get-credentials
命令获取用户凭据以访问群集。将值分配给所需的环境变量。 AKS 群集和资源组必须存在。
export RANDOM_SUFFIX=$(head -c 3 /dev/urandom | xxd -p) export RESOURCE_GROUP="myResourceGroup$RANDOM_SUFFIX" export AKS_CLUSTER="myManagedCluster$RANDOM_SUFFIX"
下载访问 AKS 群集所需的凭据。
az aks get-credentials --resource-group $RESOURCE_GROUP --name $AKS_CLUSTER --overwrite-existing
按照说明进行登录。
使用
kubectl get nodes
命令查看群集中的节点。kubectl get nodes
结果:
NAME STATUS ROLES AGE VERSION aks-nodepool1-xxxxx-vmss000000 Ready agent 3d2h v1.xx.x aks-nodepool1-xxxxx-vmss000001 Ready agent 3d2h v1.xx.x
在 Azure 门户中导航到“Microsoft Entra ID”,然后选择“企业应用程序”>“活动”>“登录”。
在“条件访问列下,应会看到“成功”状态。 选择事件,然后选择“条件访问”选项卡。将列出条件访问策略。
后续步骤
如需了解更多信息,请参阅以下文章:
- 使用 kubelogin 来访问 kubectl 中未提供的 Azure 身份验证功能。