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

  1. Vložte obsah pomocí instančního objektu.

  2. Vytvořte certifikát.

  3. Nastavte ověřování certifikátů.

  4. Získejte certifikát ze služby Azure Key Vault.

  5. Ověřování pomocí instančního objektu a certifikátu

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íč.

  1. Přihlaste se k Microsoft Azure.

  2. Vyhledejte a vyberte odkaz Trezory klíčů.

    Snímek obrazovky s oknem webu Azure Portal zobrazující odkaz na službu trezoru klíčů v seznamu Služeb

  3. Vyberte trezor klíčů, do kterého chcete přidat certifikát.

    Snímek obrazovky s oknem webu Azure Portal zobrazující seznam rozmazaných trezorů klíčů v seznamu trezorů klíčů

  4. Vyberte Certifikáty.

    Snímek obrazovky s oknem webu Azure Portal zobrazující stránku Trezory klíčů se zvýrazněnou položkou Certifikáty

  5. Vyberte Generovat/importovat.

    Snímek obrazovky s oknem webu Azure Portal, které zobrazuje podokno Certifikát se zvýrazněnou položkou Generovat /Importovat

  6. 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ětrozliš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

  7. Vyberte Vytvořit. Nově vytvořený certifikát je ve výchozím nastavení zakázaný. Povolení může trvat až pět minut.

  8. Vyberte certifikát, který jste vytvořili.

  9. Vyberte Stáhnout ve formátu CER. Stažený soubor obsahuje veřejný klíč.

    Snímek obrazovky s oknem webu Azure Portal se zvýrazněným tlačítkem Stáhnout ve formátu CER

Krok 3 – Nastavení ověřování certifikátů

  1. V aplikaci Microsoft Entra vyberte kartu Certifikáty a tajné kódy .

    Snímek obrazovky s oknem webu Azure Portal zobrazující podokno certifikátů a tajných kódů pro aplikaci

  2. 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.

  1. Otevřete projekt v sadě Visual Studio.

  2. Vyberte Možnosti nástrojů>.

    Snímek obrazovky s oknem sady Visual Studio, které zobrazuje zvýrazněné tlačítko Možnosti v nabídce Nástroje

  3. Vyhledejte a vyberte Výběr účtu.

    Snímek obrazovky s oknem Možnosti sady Visual Studio, ve kterém se ve výsledcích hledání zobrazuje zvýrazněná možnost Výběr účtu

  4. Přidejte účet, který má přístup ke službě Azure Key Vault.