Vloženie obsahu služby Power BI pomocou objektu služby a certifikátu

Overovanie na základe certifikátu vám umožňuje overiť vás identifikáciou Microsoft Entra ID s klientskym certifikátom. Certifikát klienta môže byť uložený v zariadení so systémom Windows, Android alebo iOS, prípadne certifikát klienta je možné uchovávať v službe Azure Key Vault.

Táto metóda overovania umožňuje spravovať certifikáty z centrálneho miesta pomocou certifikačnej autority (CA) na striedanie alebo zrušenie.

Ďalšie informácie o certifikátoch v službe Microsoft Entra ID nájdete na stránke GitHubu o postupoch poverení klienta.

Metóda

  1. Vložte obsah pomocou objektu služby.

  2. Vytvorte certifikát.

  3. Nastavte overenie certifikátu.

  4. Získajte certifikát zo služby Azure Key Vault.

  5. Vykonajte overenie pomocou objektu služby a certifikátu.

Krok 1 – Vloženie obsahu pomocou objektu služby

Ak chcete vložiť obsah pomocou objektu služby, postupujte podľa pokynov v téme Vloženie obsahu služby Power BI pomocou objektu služby a tajného kódu aplikácie.

Poznámka

Ak už máte obsah vložený pomocou objektu služby, tento krok môžete vynechať a prejdite na krok 2.

Krok 2 – Vytvorte certifikát

Certifikát si môžete obstarať z dôveryhodnej certifikačnej autority alebo si ho môžete vygenerovať sami.

Táto časť popisuje vytvorenie certifikátu pomocou služby Azure Key Vault a stiahnutie súboru .cer , ktorý obsahuje verejný kľúč.

  1. Prihláste sa do služby Microsoft Azure.

  2. Vyhľadajte a vyberte prepojenie Key vaults .

    Snímka obrazovky okna portálu Azure, ktorá zobrazuje prepojenie na službu trezora kľúčov v zozname Služby.

  3. Vyberte trezor kľúčov, do ktorému chcete pridať certifikát.

    Snímka obrazovky okna portálu Azure, ktorá zobrazuje zoznam rozmazaných kľúčových trezorov v zozname Key vaults.

  4. Vyberte položku Certificates (Certifikáty).

    Snímka obrazovky okna portálu Azure, ktorá zobrazuje stránku s trezormi kľúčov so zvýraznenou položkou Certificates (Certifikáty).

  5. Vyberte Generovať/Import.

    Snímka obrazovky okna portálu Azure, v ktorom sa zobrazuje tabla Certifikát so zvýraznenou položkou Generovať/importovať.

  6. Polia Create a certificate (Vytvoriť certifikát) nakonfigurujte nasledovne:

    • Method of Certificate Creation (Metóda vytvárania certifikátu) – General (Všeobecná)

    • Certificate Name (Názov certifikátu) – zadajte názov svojho certifikátu

    • Type of Certificate Authority (CA) (Typ certifikačnej autority) – Self-signed certificate (Certifikát s vlastným podpisom)

    • Subject (Predmet ) – X.500 (rozlišujúci názov)

    • DNS Names (Názvy DNS) – 0 názvov DNS

    • Validity Period (in months) (Doba platnosti v mesiacoch) – Zadajte dobu platnosti certifikátu

    • Content Type (Typ obsahu) – PKCS #12

    • Lifetime Action Type (Typ akcie životnosti) – Automatické obnovenie po dosiahnutí určitého percenta životnosti

    • Percentage Lifetime (Percentuálna životnosť) – 80

    • Rozšírená konfigurácia politiky – Nenakonfigurované

  7. Vyberte položku Vytvoriť. Novovytvorený certifikát je predvolene zakázaný. Môže trvať až päť minút, kým sa povolí.

  8. Vyberte vytvorený certifikát.

  9. Vyberte položku Stiahnuť vo formáte CER. Stiahnutý súbor obsahuje verejný kľúč.

    Snímka obrazovky okna portálu Azure, v ktorom je zobrazené zvýraznené tlačidlo Stiahnuť vo formáte CER.

Krok 3 – Nastavte overenie certifikátu

  1. V aplikácii Microsoft Entra vyberte kartu Certificates &secrets (Certifikáty a tajné kódy ).

    Snímka obrazovky okna portálu Azure, ktorá zobrazuje tablu certifikáty a tajné kódy pre aplikáciu.

  2. Vyberte položku Nahrať certifikát a nahrajte súbor .cer , ktorý ste vytvorili a stiahli v kroku 2 tohto kurzu. Súbor .cer obsahuje verejný kľúč.

Krok 4 – získajte certifikát zo služby Azure Key Vault

Pomocou identity spravovanej služby (Managed Service Identity, MSI) môžete získať certifikát zo služby Azure Key Vault. Tento proces zahŕňa získanie certifikátu .pfx , ktorý obsahuje verejný aj súkromný kľúč.

Pozrite si príklad kódu na čítanie certifikátu zo služby Azure Key Vault. Ak chcete používať Visual Studio, pozrite si časť Konfigurácia Visual Studia na používanie 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 – Vykonajte overenie pomocou objektu služby a certifikátu

Aplikáciu, ktorá používa objekt služby a certifikát uložený v službe Azure Key Vault, môžete overiť pripojením sa k službe Azure Key Vault.

Ak sa chcete pripojiť k službe Azure Key Vault a prečítať si ho, pozrite si nasledujúcu ukážku kódu.

Poznámka

Ak vaša organizácia už vytvorila certifikát, nahrajte súbor .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();
}

Konfigurácia Visual Studia na používanie MSI

Pri vytváraní vloženého riešenia môže byť užitočné nakonfigurovať Visual Studio na používanie identity spravovanej služby (Managed Service Identity, MSI). MSI je funkcia, ktorá vám umožňuje spravovať identitu Microsoft Entra. Po nakonfigurovaní umožní Visual Studiu overovať sa v službe Azure Key Vault.

Poznámka

Používateľ, ktorý sa prihlási do Visual Studia, vyžaduje na získanie certifikátu povolenia služby Azure Key Vault.

  1. Otvorte projekt vo Visual Studiu.

  2. Vyberte položku Možnosti nástrojov>.

    Snímka obrazovky okna Visual Studia, ktoré zobrazuje zvýraznené tlačidlo Možnosti v ponuke Nástroje.

  3. Vyhľadajte a vyberte položku Account Selection (Výber konta).

    Snímka obrazovky okna Možnosti Visual Studia, ktoré zobrazuje zvýraznenú možnosť Výber konta vo výsledkoch vyhľadávania.

  4. Pridajte konto, ktoré má prístup k službe Azure Key Vault.