Vložení obsahu Power BI pomocí instančního objektu a certifikátu
Ověřování na základě certifikátů umožňuje ověření pomocí ID Microsoft Entra pomocí klientského certifikátu. Klientský certifikát může být na zařízení s Windows, Androidem nebo iOSem nebo může být klientský certifikát uložený ve službě Azure Key Vault.
Použití této metody ověřování umožňuje správu certifikátů z centrálního místa pomocí certifikační autority (CA) pro obměně nebo odvolání.
Další informace o certifikátech v ID Microsoft Entra najdete na stránce GitHubu toků přihlašovacích údajů klienta.
metoda
Nastavte ověřování certifikátů.
Krok 1 : Vložení obsahu pomocí instančního objektu
Pokud chcete vložit obsah pomocí instančního objektu, postupujte podle pokynů v části Vložení obsahu Power BI s instančním objektem a tajným kódem aplikace.
Poznámka:
Pokud už máte obsah vložený pomocí instančního objektu, přeskočte tento krok a přejděte ke kroku 2.
Krok 2 – vytvoření certifikátu
Certifikát můžete získat od důvěryhodné certifikační autority nebo vygenerovat certifikát sami.
Tato část popisuje vytvoření certifikátu pomocí služby Azure Key Vault a stažení souboru .cer , který obsahuje veřejný klíč.
Přihlaste se k Microsoft Azure.
Vyhledejte a vyberte odkaz Trezory klíčů.
Vyberte trezor klíčů, do kterého chcete přidat certifikát.
Vyberte Certifikáty.
Vyberte Generovat/importovat.
Nakonfigurujte pole Vytvořit certifikát následujícím způsobem:
Metoda vytvoření certifikátu – obecné
Název certifikátu – Zadejte název certifikátu.
Typ certifikační autority (CA) – certifikát podepsaný svým držitelem
Předmět – rozlišující název X.500
Názvy DNS – 0 názvů DNS
Doba platnosti (v měsících) – zadejte dobu platnosti certifikátu.
Typ obsahu – PKCS č. 12
Typ akce životnosti – Automatické prodloužení v daném procentu životnosti
Procento životnosti – 80
Pokročilá konfigurace zásad – Nenakonfigurováno
Vyberte Vytvořit. Nově vytvořený certifikát je ve výchozím nastavení zakázaný. Povolení může trvat až pět minut.
Vyberte certifikát, který jste vytvořili.
Vyberte Stáhnout ve formátu CER. Stažený soubor obsahuje veřejný klíč.
Krok 3 – Nastavení ověřování certifikátů
V aplikaci Microsoft Entra vyberte kartu Certifikáty a tajné kódy .
Vyberte Nahrát certifikát a nahrajte soubor .cer , který jste vytvořili a stáhli v kroku 2 tohoto kurzu. Soubor .cer obsahuje veřejný klíč.
Krok 4 – Získání certifikátu ze služby Azure Key Vault
Pomocí identity spravované služby (MSI) získejte certifikát ze služby Azure Key Vault. Tento proces zahrnuje získání certifikátu .pfx , který obsahuje veřejný i privátní klíč.
Projděte si příklad kódu pro čtení certifikátu ze služby Azure Key Vault. Pokud chcete použít Visual Studio, přečtěte si informace o konfiguraci sady Visual Studio tak, aby používala 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));
}
Krok 5 – Ověření pomocí instančního objektu a certifikátu
Aplikaci, která používá instanční objekt, a certifikát uložený ve službě Azure Key Vault můžete ověřit připojením ke službě Azure Key Vault.
Informace o připojení a čtení certifikátu ze služby Azure Key Vault najdete v následující ukázce kódu.
Poznámka:
Pokud už máte certifikát vytvořený vaší organizací, nahrajte soubor .pfx do služby 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();
}
Konfigurace sady Visual Studio pro použití MSI
Při vytváření vloženého řešení může být užitečné nakonfigurovat Visual Studio tak, aby používalo identitu spravované služby (MSI). MSI je funkce, která umožňuje spravovat vaši identitu Microsoft Entra. Po nakonfigurování umožní sadě Visual Studio ověřit se ve službě Azure Key Vault.
Poznámka:
Uživatel, který se přihlásí k sadě Visual Studio, vyžaduje k získání certifikátu oprávnění služby Azure Key Vault.
Otevřete projekt v sadě Visual Studio.
Vyberte Možnosti nástrojů>.
Vyhledejte a vyberte Výběr účtu.
Přidejte účet, který má přístup ke službě Azure Key Vault.