![](/img/trans.png)
[英]Azure kubernetes - java spring app & managed identity to access key vault?
[英]Azure kubernetes - multiple managed identity?
我們計划在我們的單個 Azure kubernetes 集群上部署多個應用程序,每個應用程序都將擁有自己的一組 Azure 資源 - 例如:密鑰保管庫、存儲。
我計划為每個應用程序提供單獨的托管身份並提供對相關資源的訪問。
我知道 AZURE AAD POD 標識是配置 pod 以利用托管標識訪問 Azure 資源的方法。
但是,如何將多個托管標識添加到 Azure kubernetes 集群中? 這是執行的權利嗎?
正如我之前提到的,我認為您不能向集群添加多個 MSI,您可以只使用系統分配的 MSI 或用戶分配的 MSI。
參考 -在 Azure Kubernetes 服務中使用托管標識
在您的情況下,如果您想使用不同的服務主體進行身份驗證(本質上 MSI 也是 Azure 管理的服務主體),您可以創建多個 AD 應用程序以及服務主體。
參考 - 如何:使用門戶創建可以訪問資源的 Azure AD 應用程序和服務主體
然后在每個應用程序的代碼中,使用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();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.