Uso de la identidad administrada con Bridge to Kubernetes
Nota
Bridge to Kubernetes se retirará el 30 de abril de 2025. Para obtener más información sobre las alternativas de retirada y código abierto, consulte el problema de GitHub.
Si el clúster de AKS usa identidad administrada características de seguridad para proteger el acceso a secretos y recursos, Bridge to Kubernetes necesita una configuración especial para asegurarse de que puede funcionar con estas características. Es necesario descargar un token de Microsoft Entra en la máquina local para asegurarse de que la ejecución local y la depuración están correctamente protegidas y esto requiere una configuración especial en Bridge to Kubernetes. En este artículo se muestra cómo configurar Bridge to Kubernetes para trabajar con servicios que usan identidad administrada.
Configuración del servicio para usar la identidad administrada
Para habilitar una máquina local compatible con la identidad administrada, en el archivo KubernetesLocalConfig.yaml, en la sección enableFeatures
, agregue ManagedIdentity
. Agregue la sección enableFeatures
si aún no está allí.
enableFeatures:
- ManagedIdentity
Advertencia
Asegúrese de usar solo la identidad administrada para Bridge to Kubernetes al trabajar con clústeres de desarrollo, no clústeres de producción, ya que el token de Microsoft Entra se captura en la máquina local, lo que presenta un riesgo de seguridad potencial.
Si no tiene un archivo KubernetesLocalConfig.yaml, puede crear uno; consulte How to: Configure Bridge to Kubernetes.
Cómo capturar los tokens de Microsoft Entra
Debe asegurarse de que se basa en Azure.Identity.DefaultAzureCredential
o Azure.Identity.ManagedIdentityCredential
en el código cuando captura el token.
El código de C# siguiente muestra cómo capturar las credenciales de la cuenta de almacenamiento al usar 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");
En el código siguiente se muestra cómo capturar las credenciales de la cuenta de almacenamiento cuando se usa 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");
Para obtener información sobre cómo acceder a otros recursos de Azure mediante la identidad administrada, consulte la sección Pasos siguientes.
Recepción de alertas de Azure cuando se descargan tokens
Siempre que use Bridge to Kubernetes en un servicio, el token de Microsoft Entra se descarga en la máquina local. Puede permitir que se notifiquen las alertas de Azure cuando esto ocurra. Para obtener información, consulte Habilitar Azure Defender. Tenga en cuenta que hay un cargo (después de un período de prueba de 30 días).
Pasos siguientes
Ahora que ha configurado Bridge to Kubernetes para que funcione con el clúster de AKS que usa la identidad administrada, puede depurar de la forma habitual. Consulte [bridge-to-kubernetes.md#connect-to-your-cluster-and-debug-a-service].
Para más información sobre el uso de la identificación administrada para acceder a los recursos de Azure, siga estos tutoriales:
- Tutorial: Uso de una identidad administrada asignada por el sistema de una máquina virtual Linux para acceder a Azure Storage
- Tutorial: Uso de una identidad administrada asignada por el sistema de una máquina virtual Linux para acceder a Azure Data Lake Store
- Tutorial: Uso de una identidad administrada asignada por el sistema de una máquina virtual Linux para acceder a Azure Key Vault
Hay otros tutoriales en esa sección, así como para usar la identidad administrada para acceder a otros recursos de Azure.