我们计划在单个Azure kubernetes群集上部署多个应用程序,每个应用程序将具有自己的一组Azure资源-例如:密钥库,存储。
我计划为每个应用程序提供单独的托管身份,并提供对相关资源的访问。
我知道AZURE AAD POD标识是配置窗格以利用托管身份访问Azure资源的方法。
但是如何将多个托管身份添加到Azure kubernetes群集中?这是实施的权利吗?
答案 0 :(得分:1)
正如我之前提到的,我认为您不能向集群添加多个MSI,而只能使用系统分配的MSI或用户分配的MSI。
参考-Use managed identities in Azure Kubernetes Service
在这种情况下,如果要使用其他服务主体进行身份验证(本质上MSI也是由Azure管理的服务主体),则可以与服务主体一起创建多个AD Apps。
然后在每个应用程序的代码中,使用ClientSecretCredential
进行身份验证。
ClientSecretCredential credential1 = new ClientSecretCredentialBuilder()
.tenantId(tenantId)
.clientId(clientId)
.clientSecret(clientSecret)
.build();
然后使用凭据创建客户端,例如SecretClient。
SecretClient secretClient = new SecretClientBuilder()
.vaultUrl("<your-key-vault-url>")
.credential(credential1)
.buildClient();