Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
L’authentification basée sur les certificats vous permet d’être authentifié par l’ID Microsoft Entra avec un certificat client. Le certificat client peut se trouver sur un appareil Windows, Android ou iOS, ou le certificat client peut être conservé dans azure Key Vault.
L’utilisation de cette méthode d’authentification permet de gérer les certificats à partir d’un emplacement central à l’aide de l’autorité de certification (CA) pour la rotation ou la révocation.
Vous pouvez en savoir plus sur les certificats dans Microsoft Entra ID dans la page flux d’informations d’identification du client .
Méthode
Étape 1 : Incorporer votre contenu avec le principal de service
Pour incorporer votre contenu avec un principal de service, suivez les instructions de l’incorporation de contenu Power BI avec le principal de service et un secret d’application.
Remarque
Si vous avez déjà du contenu incorporé à l’aide d’un principal de service, ignorez cette étape et passez à l’étape 2.
Étape 2 : Créer un certificat
Vous pouvez obtenir un certificat auprès d’une autorité de certification approuvée ou générer un certificat vous-même.
Cette section décrit la création d’un certificat à l’aide d’Azure Key Vault et le téléchargement du fichier .cer , qui contient la clé publique.
Connectez-vous à Microsoft Azure.
Recherchez et sélectionnez le lien Coffre de clés.
Sélectionnez le coffre de clés auquel vous souhaitez ajouter un certificat.
Sélectionnez Certificats.
Sélectionnez Générer/Importer.
Configurez les champs Créer un certificat comme suit :
Méthode de création de certificat - Général
Nom du certificat : entrez un nom pour votre certificat
Type d’autorité de certification (CA) - Certificat auto-signé
Objet - Un nom unique X.500
Noms DNS - 0 noms DNS
Période de validité (en mois) : entrez la durée de validité du certificat
Type de contenu - PKCS #12
Type d’action de la durée de vie : Renouveler automatiquement en fonction d’un pourcentage donné de la durée de vie
Durée de vie du pourcentage - 80
Configuration avancée de la stratégie - Non configuré
Cliquez sur Créer. Le certificat nouvellement créé est désactivé par défaut. L’activation peut prendre jusqu’à cinq minutes.
Sélectionnez le certificat que vous avez créé.
Sélectionnez Télécharger au format CER. Le fichier téléchargé contient la clé publique.
Étape 3 : Configurer l’authentification par certificat
Dans votre application Microsoft Entra, sélectionnez l’onglet Certificats et secrets .
Sélectionnez Charger le certificat et charger le fichier .cer que vous avez créé et téléchargé à l’étape 2 de ce didacticiel. Le fichier .cer contient la clé publique.
Étape 4 : Obtenir le certificat à partir d’Azure Key Vault
Utilisez Managed Service Identity (MSI) pour obtenir le certificat à partir d’Azure Key Vault. Ce processus implique l’obtention du certificat .pfx qui contient les clés publiques et privées.
Reportez-vous à l’exemple de code pour lire le certificat à partir d’Azure Key Vault. Si vous souhaitez utiliser Visual Studio, reportez-vous à Configurer Visual Studio pour utiliser 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));
}
Étape 5 : s’authentifier à l’aide du principal de service et d’un certificat
Vous pouvez authentifier votre application qui utilise un principal de service et un certificat stocké dans Azure Key Vault en vous connectant à Azure Key Vault.
Pour vous connecter et lire le certificat à partir d’Azure Key Vault, reportez-vous à l’exemple de code suivant.
Remarque
Si vous disposez déjà d’un certificat créé par votre organisation, chargez le fichier .pfx dans 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();
}
Configurer Visual Studio pour utiliser MSI
Lorsque vous créez une solution incorporée, il peut être utile de configurer Visual Studio pour utiliser Managed Service Identity (MSI). MSI est une fonctionnalité qui vous permet de gérer votre identité Microsoft Entra. Une fois configuré, Visual Studio s’authentifie auprès de votre coffre de clés Azure.
Remarque
L’utilisateur qui se connecte à Visual Studio nécessite des autorisations Azure Key Vault pour obtenir le certificat.
Ouvrez votre projet dans Visual Studio.
Sélectionnez Outils>Options.
Recherchez et sélectionnez Sélection de compte.
Ajoutez le compte qui a accès à votre azure Key Vault.