Conceitos Importantes:
Microsoft Entra Id: O Microsoft Entra Id é um serviço de gerenciamento de acesso e identidade baseado na nuvem que permite aos usuários autenticarem-se e acessarem recursos externos, como o Microsoft 365, o portal do Azure e milhares de outros aplicativos SaaS. Ele fornece uma maneira segura de gerenciar as identidades dos usuários e controlar seu acesso a recursos na nuvem.
Identidade Gerenciada: A Identidade Gerenciada (Managed Identity) é um recurso no Azure que fornece credenciais de autenticação de forma segura para os aplicativos e serviços em execução na nuvem. Ela elimina a necessidade de armazenar credenciais de autenticação dentro do código ou configurações de aplicativos, melhorando a segurança e simplificando a gestão de identidades.
A Identidade Gerenciada no Microsoft Entra Id é uma funcionalidade que permite aos aplicativos e serviços em execução na nuvem do Azure obterem automaticamente credenciais de autenticação de forma segura, sem a necessidade de armazenar credenciais explicitamente no código ou em configurações.
Tipos de Identidades Gerenciadas
Existem dois tipos principais de Identidades Gerenciadas no Azure:
- Identidade Gerenciada do Sistema: Associada a um recurso específico no Azure, como uma máquina virtual ou uma função de aplicativo. Essa identidade é criada automaticamente pelo Azure e é exclusiva para o recurso ao qual está fortemente associada.
- Identidade Gerenciada do Serviço: Associada a um serviço ou aplicativo, em vez de um recurso específico. Ela pode ser usada por vários recursos dentro do mesmo serviço ou aplicativo.
Vejamos a diferença:
Antes:
Antes da introdução da Identidade Gerenciada no Azure, os aplicativos muitas vezes precisavam armazenar credenciais de autenticação, como nomes de usuário e senhas, em arquivos de configuração ou em código fonte. Isso representava um risco de segurança, pois essas credenciais poderiam ser comprometidas se o código ou a configuração fossem acessados por pessoas não autorizadas.
// Caminho para o arquivo de certificado
string certFilePath = "caminho/para/seu/certificado.pfx";
// Senha do certificado
string certPassword = "senha-do-certificado";
try {
// Carregar o certificado
X509Certificate2 cert = new X509Certificate2(certFilePath, certPassword);
// Criar um objeto ClientCertificateCredential
ClientCertificateCredential credential = new ClientCertificateCredential(
tenantId: "seu-tenant-id",
clientId: "seu-client-id",
certificate: cert);
// Autenticar com o Azure
var azure = Azure.Configure()
WithLogLevel(HttpLoggingDelegatingHandler.Level.Basic)
.Authenticate(credential)
.WithDefaultSubscription();
// Exemplo de uso: listar VMs
var vms = azure.VirtualMachines.List();
foreach (var vm in vms)
{
Console.WriteLine(vm.Name);
}
} catch (Exception ex) {
Console.WriteLine($"Erro ao autenticar com o Azure: {ex.Message}");
}
Depois:
Com a Identidade Gerenciada, os aplicativos podem obter credenciais de autenticação de forma segura e automática, sem a necessidade de armazenar credenciais diretamente. Por exemplo, uma máquina virtual no Azure pode ter uma Identidade Gerenciada associada a ela. Quando o aplicativo em execução na máquina virtual precisa acessar recursos no Azure, ele pode usar a Identidade Gerenciada para autenticar-se de forma segura, sem precisar armazenar ou gerenciar credenciais explicitamente. Isso melhora a segurança e simplifica a gestão de identidades em ambientes de nuvem.
// Configure a autenticação usando AzureCliCredential ou InteractiveBrowserCredential
var credential = new DefaultAzureCredential();
// Crie um cliente do Key Vault
var client = new SecretClient(new Uri(keyVaultUri), credential);
// Recupere um segredo do Key Vault
string secretName = "seu-segredo";
KeyVaultSecret secret = client.GetSecret(secretName);
Top comments (0)