【问题标题】:Azure Kubernetes Service- Get kubeconfig for non-admin AD app identityAzure Kubernetes 服务 - 为非管理员 AD 应用程序标识获取 kubeconfig
【发布时间】:2020-06-14 15:53:55
【问题描述】:

据我了解,Azure Kubernetes 服务 (AKS) 允许获取管理员和用户身份的凭据。用户身份可以是 AD 应用还是托管身份?

我正在编写 .Net 代码。假设我已经完成了与 AKS 群集的 AD 集成并且已经为我的 AD 应用分配了适当的角色绑定,您能否提供一些示例,我们可以使用 AD 应用凭据从 AKS 群集获取用户凭据?

这里的安全部分 - https://docs.microsoft.com/en-us/rest/api/aks/managedclusters/getaccessprofile 需要隐式流。 AD 应用凭据的隐式流如何工作?

【问题讨论】:

  • 你能分享你的角色绑定吗?设置角色绑定时,SP ID 应可用作用户 ID
  • 我可以在角色绑定中使用 SP ID。但是如何检索访问配置文件?这里的安全部分 - docs.microsoft.com/en-us/rest/api/aks/managedclusters/… 需要隐式流程。 AD 应用凭据的隐式流如何工作?

标签: node.js azure-aks azure-container-service


【解决方案1】:

您可以使用Implicit grant flow获取访问令牌。

您需要Azure Kubernetes Service Cluster User 内置角色才能访问启用了 Azure AD 的集群。

获取用户凭据以访问集群:

az aks get-credentials --resource-group myResourceGroup --name MyManagedCluster

或使用List Cluster User Credentials API

POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterUserCredential?api-version=2020-04-01

因为Get Access Profile API将来会被弃用

【讨论】:

  • 隐式授权流程需要通过浏览器进行,但我正在寻找一种方法来获取凭据,而不是基于用户登录,而是基于 AD 应用程序凭据。
  • 可以使用client credentials flow,不需要用户登录。
猜你喜欢
  • 1970-01-01
  • 2019-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-09-29
相关资源
最近更新 更多