Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
A autenticação baseada em certificado permite que você seja autenticado pelo Microsoft Entra ID com um certificado de cliente. O certificado de cliente pode estar em um dispositivo Windows, Android ou iOS, ou o certificado de cliente pode ser mantido em um Cofre de Chaves do Azure.
O uso desse método de autenticação permite gerenciar certificados de um local central usando a autoridade de certificação (CA) para rotação ou revogação.
Você pode saber mais sobre certificados no Microsoft Entra ID na página Fluxos de credenciais do cliente .
Método
Etapa 1 - Incorporar o seu conteúdo com o principal de serviço
Para incorporar o 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 de aplicação.
Observação
Se você já tiver conteúdo incorporado usando uma entidade de serviço, 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 Cofre de Chaves do Azure e o download do arquivo .cer , que contém a chave pública.
Faça logon no Microsoft Azure.
Pesquise e selecione o link Armazéns de Chaves.
Selecione o cofre de chaves ao qual deseja adicionar um certificado.
Selecione Certificados.
Selecione Gerar/Importar.
Configure os campos Criar um certificado da seguinte maneira:
Método de Criação de Certificados - Geral
Nome do certificado - Insira um nome para o certificado
Tipo de Autoridade de Certificação (CA) - Certificado autoassinado
Assunto - Um nome distinto X.500
Nomes DNS - 0 nomes DNS
Período de validade (em meses) - Insira o prazo de validade do certificado
Tipo de conteúdo - PKCS #12
Tipo de ação vitalícia - Renovar automaticamente com uma determinada percentagem de tempo de vida
Percentagem de Vida Útil - 80
Configuração Avançada de Política - Não configurada
Selecione Criar. O certificado recém-criado está desativado por padrão. Pode levar até cinco minutos para ser ativado.
Selecione o certificado que você criou.
Selecione Download no formato CER. O ficheiro descarregado contém a chave pública.
Etapa 3 - Configurar a autenticação de certificado
No aplicativo Microsoft Entra, selecione a guia Certificados & segredos .
Selecione Carregar certificado e carregue o arquivo .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 Identidade de Serviço Gerenciado (MSI) para obter o certificado do Cofre da Chave do Azure. Esse processo envolve a obtenção do certificado .pfx que contém as chaves pública e privada.
Consulte o exemplo de código para ler o certificado do Cofre de Chaves do Azure. Se você quiser usar o Visual Studio, consulte Configurar o Visual Studio para usar 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 com o principal de serviço e um certificado
Você pode autenticar seu aplicativo que usa uma entidade de serviço e um certificado armazenado no Cofre da Chave do Azure conectando-se ao Cofre da Chave do Azure.
Para conectar e ler o certificado do Cofre de Chaves do Azure, consulte o exemplo de código a seguir.
Observação
Se já tiver um certificado criado pela sua organização, carregue o ficheiro .pfx para o Cofre da Chave do Azure.
// 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 MSI
Quando você cria uma solução incorporada, pode ser útil configurar o Visual Studio para usar o MSI (Managed Service Identity). O MSI é um recurso que permite gerenciar sua identidade do Microsoft Entra. Uma vez configurado, ele permitirá que o Visual Studio se autentique em seu Cofre de Chaves do Azure.
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.
SelecioneOpções de ferramentas>.
Pesquise e selecione Seleção de Conta.
Adicione a conta que tem acesso ao seu Cofre da Chave do Azure.