Usar a identidade gerenciada com Bridge to Kubernetes
Observação
A Microsoft planeja não manter mais ativamente o projeto Bridge to Kubernetes. Nos próximos meses, faremos a transição do projeto para um estado de arquivamento. Enquanto isso, o projeto ainda está disponível para uso e download. Durante esse período, esperamos explorar e recomendar projetos da comunidade que forneçam benefícios semelhantes ao Bridge to Kubernetes para seu uso futuro. Se você tiver dúvidas, entre em contato conosco em nosso quadro de problemas no GitHub.
Se o cluster do AKS usar recursos de segurança de identidade gerenciada para proteger o acesso a segredos e recursos, Bridge to Kubernetes precisará de configuração especial para garantir que possa funcionar com esses recursos. Um token do Microsoft Entra precisa ser baixado no computador local para garantir que a execução e a depuração locais estejam corretamente protegidas, e isso requer alguma configuração especial no Bridge to Kubernetes. Este artigo mostra como configurar o Bridge to Kubernetes para funcionar com serviços que usam identidade gerenciada.
Como configurar seu serviço para usar a identidade gerenciada
Para habilitar um computador 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 presente.
enableFeatures:
- ManagedIdentity
Aviso
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 do Microsoft Entra é buscado para o computador 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 to Kubernetes.
Como buscar os tokens do Microsoft Entra
Você precisa garantir que esteja usando Azure.Identity.DefaultAzureCredential
ou Azure.Identity.ManagedIdentityCredential
no código ao buscar o token.
O seguinte código C# mostra como buscar credenciais de conta de armazenamento ao 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");
O seguinte código mostra como buscar credenciais de conta de armazenamento ao usar 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 tokens são baixados
Sempre que você usa o Bridge para Kubernetes em um serviço, o token do Microsoft Entra é baixado para o computador local. Você pode habilitar os alertas do Azure para ser notificado quando isso ocorrer. Para obter informações, confira Habilitar o Azure Defender. Lembre-se de que há um encargo (após um período de avaliação de 30 dias).
Próximas etapas
Agora que configurou o Bridge to Kubernetes para trabalhar com o cluster do AKS que usa a identidade gerenciada, você pode depurar normalmente. Consulte [bridge-to-kubernetes.md#connect-to-your-cluster-and-debug-a-service].
Saiba mais sobre como usar a identidade gerenciada para acessar recursos do Azure seguindo estes tutoriais:
- Tutorial: Usar uma identidade gerenciada atribuída pelo sistema da VM do Linux para acessar o Armazenamento do Azure
- Tutorial: Usar uma identidade gerenciada atribuída pelo sistema da VM do Linux para acessar o Azure Data Lake Storage
- Tutorial: Usar uma identidade gerenciada atribuída pelo sistema da VM do Linux para acessar o Azure Key Vault
Também há outros tutoriais nessa seção para usar a identidade gerenciada para acessar outros recursos do Azure.