Utiliser une identité managée avec Bridge to Kubernetes

Si votre cluster AKS utilise des fonctionnalités de sécurité d’identité managée pour sécuriser l’accès aux secrets et aux ressources, Bridge to Kubernetes a besoin d’une configuration spéciale pour les utiliser. Un jeton Azure Microsoft Entra doit être téléchargé sur la machine locale pour que l’exécution et le débogage locaux soient correctement sécurisés, ce qui nécessite une configuration spéciale dans Bridge to Kubernetes. Cet article explique comment configurer Bridge to Kubernetes pour qu’il fonctionne avec des services qui utilisent une identité managée.

Comment configurer votre service pour utiliser une identité managée

Pour qu’une machine locale prenne en charge une identité managée, dans le fichier KubernetesLocalConfig.yaml, dans la section enableFeatures, ajoutez ManagedIdentity. Ajoutez la section enableFeatures si elle n’est pas déjà là.

enableFeatures:
  - ManagedIdentity

Avertissement

Veillez à utiliser une identité managée pour Bridge to Kubernetes uniquement quand vous travaillez avec des clusters de développement, pas des clusters de production, car le jeton Microsoft Entra est récupéré sur la machine locale, ce qui présente un risque de sécurité potentiel.

Si vous n’avez pas de fichier KubernetesLocalConfig.yaml, vous pouvez en créer un. Consultez Guide pratique pour configurer Bridge to Kubernetes.

Comment récupérer les jetons Microsoft Entra

Vous devez vérifier que vous utilisez Azure.Identity.DefaultAzureCredential ou Azure.Identity.ManagedIdentityCredential dans le code quand vous récupérez le jeton.

Le code C# suivant montre comment récupérer les informations d’identification du compte de stockage quand vous utilisez ManagedIdentityCredential :

var credential = new ManagedIdentityCredential(miClientId);
Console.WriteLine("Created credential");
var containerClient = new BlobContainerClient(new Uri($"https://{accountName}.blob.windows.net/{containerName}"), credential);
Console.WriteLine("Created blob client");

Le code suivant montre comment récupérer les informations d’identification du compte de stockage quand vous utilisez DefaultAzureCredential :

var credential = new DefaultAzureCredential();
Console.WriteLine("Created credential");
var containerClient = new BlobContainerClient(new Uri($"https://{accountName}.blob.windows.net/{containerName}"), credential);
Console.WriteLine("Created blob client");

Pour savoir comment accéder à d’autres ressources Azure avec une identité managée, consultez la section Étapes suivantes.

Recevoir des alertes Azure en cas de téléchargement de jetons

Chaque fois que vous utilisez Bridge to Kubernetes sur un service, le jeton Microsoft Entra est téléchargé sur la machine locale. Vous pouvez activer des alertes Azure pour être averti quand cela se produit. Pour plus d’informations, consultez Activer Azure Defender. Notez que cela engendre des frais (après la période d’essai de 30 jours).

Étapes suivantes

Maintenant que vous avez configuré Bridge to Kubernetes pour qu’il fonctionne avec votre cluster AKS qui utilise une identité managée, vous pouvez déboguer normalement. Consultez [bridge-to-kubernetes.md#connect-to-your-cluster-and-debug-a-service].

Pour en savoir plus sur l’utilisation d’une identité managée afin d’accéder aux ressources Azure, suivez ces tutoriels :

D’autres tutoriels dans cette section montrent comment utiliser une identité managée pour accéder à d’autres ressources Azure.

Voir aussi

Microsoft Entra ID