Azure Kubernetes - Identité gérée multiple?

Sep 10 2020

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

1 JoyWang Sep 11 2020 at 14:32

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();