Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A autenticação baseada em certificado permite que você seja autenticado pela ID do Microsoft Entra com um certificado de cliente. O certificado do cliente pode estar em um dispositivo Windows, Android ou iOS ou o certificado do cliente pode ser mantido em um Azure Key Vault.
Usar esse método de autenticação permite gerenciar certificados de um local central usando a AC (autoridade de certificação) para rotação ou revogação.
Você pode saber mais sobre certificados na ID do Microsoft Entra na página fluxos de credenciais do cliente .
Método
Etapa 1 – Inserir conteúdo com a entidade de serviço
Para incorporar seu conteúdo com um principal de serviço, siga as instruções em Incorporar conteúdo do Power BI com principal de serviço e um segredo do aplicativo.
Observação
Se você já tiver conteúdo inserido usando um service principal, ignore esta etapa e avance para a etapa 2.
Etapa 2 – Criar um certificado
Você pode obter um certificado de uma Autoridade de Certificação confiável ou gerar um certificado por conta própria.
Esta seção descreve a criação de um certificado usando o Azure Key Vault e o download do arquivo .cer , que contém a chave pública.
Faça logon no Microsoft Azure.
Procure e selecione o link Cofres de chaves.
Selecione o cofre de chaves ao qual você deseja adicionar um certificado.
Selecione Certificados.
Selecione Gerar/Importar.
Configure os campos Criar um certificado da seguinte maneira:
Método de criação de certificado – Geral
Nome do certificado – insira um nome para seu certificado
Tipo de AC (Autoridade de Certificação) – Certificado autoassinado
Entidade: um nome diferenciado X.500
Nomes DNS – 0 nomes DNS
Período de validade (em meses) – insira a duração da validade do certificado
Tipo de conteúdo – PKCS nº 12
Tipo de Ação de Tempo de Vida: renovar automaticamente com um determinado percentual de tempo de vida
Tempo de vida percentual - 80
Configuração avançada de política – não configurada
Selecione Criar. O certificado recém-criado está desabilitado por padrão. Pode levar até cinco minutos para ser habilitado.
Selecione o certificado que você criou.
Selecione Baixar no formato CER. O arquivo baixado contém a chave pública.
Etapa 3 – Configurar a autenticação de certificado
Em seu aplicativo Microsoft Entra, selecione a guia Certificados > segredos .
Selecione Carregar certificado e carregue o arquivo de .cer que você criou e baixou na etapa 2 deste tutorial. O arquivo .cer contém a chave pública.
Etapa 4 – Obter o certificado do Azure Key Vault
Use a MSI (Identidade de Serviço Gerenciado) para obter o certificado do Azure Key Vault. Esse processo envolve a obtenção do certificado .pfx que contém as chaves públicas e privadas.
Consulte o exemplo de código para ler o certificado do Azure Key Vault. Se você quiser usar o Visual Studio, consulte Configurar o Visual Studio para usar o MSI.
private X509Certificate2 ReadCertificateFromVault(string certName)
{
var serviceTokenProvider = new AzureServiceTokenProvider();
var keyVaultClient = new KeyVaultClient(new KeyVaultClient.AuthenticationCallback(serviceTokenProvider.KeyVaultTokenCallback));
CertificateBundle certificate = null;
SecretBundle secret = null;
certificate = keyVaultClient.GetCertificateAsync($"https://{KeyVaultName}.vault.azure.net/", certName).Result;
secret = keyVaultClient.GetSecretAsync(certificate.SecretIdentifier.Identifier).Result;
return new X509Certificate2(Convert.FromBase64String(secret.Value));
}
Etapa 5 – Autenticar usando o principal de serviço e um certificado
Você pode autenticar o seu aplicativo que usa uma entidade de serviço e um certificado que é armazenado no Azure Key Vault, conectando-se ao Azure Key Vault.
Para conectar e ler o certificado do Azure Key Vault, consulte o exemplo de código a seguir.
Observação
Se você já tiver um certificado criado pela sua organização, carregue o arquivo .pfx no Azure Key Vault.
// Preparing needed variables
var Scope = "https://analysis.windows.net/powerbi/api/.default"
var ApplicationId = "{YourApplicationId}"
var tenantSpecificURL = "https://login.microsoftonline.com/{YourTenantId}/"
X509Certificate2 certificate = ReadCertificateFromVault(CertificateName);
// Authenticating with a SP and a certificate
public async Task<AuthenticationResult> DoAuthentication(){
IConfidentialClientApplication clientApp = null;
clientApp = ConfidentialClientApplicationBuilder.Create(ApplicationId)
.WithCertificate(certificate)
.WithAuthority(tenantSpecificURL)
.Build();
return await clientApp.AcquireTokenForClient(Scope).ExecuteAsync();
}
Configurar o Visual Studio para usar o MSI
Quando você cria uma solução inserida, pode ser útil configurar o Visual Studio para usar a MSI (Identidade de Serviço Gerenciada). MSI é um recurso que permite que você gerencie sua identidade do Microsoft Entra. Depois de configurado, ele permitirá que o Visual Studio se autentique no Azure Key Vault.
Observação
O usuário que entra no Visual Studio requer permissões do Azure Key Vault para obter o certificado.
Abra seu projeto no Visual Studio.
Selecione Opções de Ferramentas>.
Pesquise por Seleção da conta e selecione essa opção.
Adicione a conta que tem acesso ao Azure Key Vault.