Usar identidade gerenciada com o Bridge to Kubernetes
Observação
Bridge to Kubernetes será aposentado em 30 de abril de 2025. Para obter detalhes sobre a descontinuação e alternativas de código aberto, consulte a edição do GitHub.
Se o seu cluster AKS usa identidade gerenciada recursos de segurança para proteger o acesso a segredos e recursos, o Bridge to Kubernetes precisa de alguma configuração especial para garantir que possa trabalhar com esses recursos. Um token Microsoft Entra precisa ser baixado para a máquina local para garantir que a execução e depuração locais estejam devidamente protegidas, e isso requer alguma configuração especial no Bridge to Kubernetes. Este artigo mostra como configurar o Bridge to Kubernetes para trabalhar com serviços que usam identidade gerenciada.
Como configurar seu serviço para usar a identidade gerenciada
Para habilitar uma máquina local com suporte para identidade gerenciada, no arquivo KubernetesLocalConfig.yaml, na seção enableFeatures
, adicione ManagedIdentity
. Adicione a seção enableFeatures
se ela ainda não estiver lá.
enableFeatures:
- ManagedIdentity
Advertência
Certifique-se de usar apenas a identidade gerenciada para o Bridge to Kubernetes ao trabalhar com clusters de desenvolvimento, não clusters de produção, porque o token Microsoft Entra é buscado na máquina local, o que representa um risco potencial de segurança.
Se você não tiver um arquivo KubernetesLocalConfig.yaml, poderá criar um; consulte Como configurar o Bridge para o Kubernetes.
Como buscar os tokens do Microsoft Entra
Você deve garantir que está confiando em Azure.Identity.DefaultAzureCredential
ou Azure.Identity.ManagedIdentityCredential
no código ao buscar o token.
O código C# a seguir mostra como buscar credenciais de conta de armazenamento quando você usa 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");
O código a seguir mostra como buscar credenciais de conta de armazenamento quando você 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 saber como acessar outros recursos do Azure usando a identidade gerenciada, consulte a seção Próximas etapas.
Receber alertas do Azure quando os tokens são baixados
Sempre que você usa o Bridge to Kubernetes em um serviço, o token do Microsoft Entra é baixado para a máquina local. Você pode habilitar alertas do Azure para serem notificados quando isso ocorrer. Para obter informações, consulte Habilitar o Azure Defender. Por favor, esteja ciente de que há uma taxa (após um período de teste de 30 dias).
Próximos passos
Agora que já configurou o Bridge to Kubernetes para trabalhar com o seu cluster de AKS que usa identidade gerida, pode depurar normalmente. Consulte [bridge-to-kubernetes.md#connect-to-your-cluster-and-debug-a-service].
Saiba mais sobre como usar a identificação gerenciada para acessar recursos do Azure seguindo estes tutoriais:
- Tutorial: Usar uma identidade gerenciada atribuída ao sistema de VM Linux para acessar o Armazenamento do Azure
- Tutorial: Usar uma identidade gerenciada atribuída ao sistema de VM Linux para acessar o Repositório Azure Data Lake
- Tutorial: Usar uma identidade gerenciada atribuída ao sistema de VM Linux para acessar o Azure Key Vault
Há outros tutoriais nessa seção, bem como para usar a identidade gerenciada para acessar outros recursos do Azure.