Azure Kubernetes - Identité gérée multiple?
Nous prévoyons de déployer plusieurs applications sur notre seul cluster Azure kubernetes, chaque application aura son propre ensemble de ressources Azure - par exemple: coffre de clés, stockage.
Je prévois de fournir des identités gérées individuelles par application et de donner accès aux ressources pertinentes.
Je sais que l'identification AZURE AAD POD est le moyen de configurer le pod pour utiliser l'identité gérée pour accéder aux ressources Azure.
Cependant, comment ajouter plusieurs identités gérées dans le cluster Azure Kubernetes? et est-ce le droit de mettre en œuvre?
Réponses
Comme je l'ai déjà mentionné, je ne pense pas que vous puissiez ajouter plusieurs MSI au cluster, vous pouvez simplement utiliser un MSI attribué par le système ou un MSI attribué par l'utilisateur.
Référence - Utiliser des identités gérées dans Azure Kubernetes Service
Dans votre cas, si vous souhaitez utiliser différents principaux de service pour vous authentifier (essentiellement MSI est également un principal de service géré par Azure), vous pouvez créer plusieurs applications AD avec les principaux de service.
Référence - Comment: utiliser le portail pour créer une application Azure AD et un principal de service pouvant accéder aux ressources
Puis dans le code de chaque application, utilisez ClientSecretCredentialpour s'authentifier.
ClientSecretCredential credential1 = new ClientSecretCredentialBuilder()
.tenantId(tenantId)
.clientId(clientId)
.clientSecret(clientSecret)
.build();
Ensuite, utilisez les informations d'identification pour créer un client, par exemple SecretClient.
SecretClient secretClient = new SecretClientBuilder()
.vaultUrl("<your-key-vault-url>")
.credential(credential1)
.buildClient();