Power BI-tartalom beágyazása szolgáltatásnévvel és tanúsítvánnyal
A tanúsítványalapú hitelesítés lehetővé teszi, hogy a Microsoft Entra-azonosító hitelesítse ügyféltanúsítvánnyal. Az ügyféltanúsítvány lehet Windows, Android vagy iOS rendszerű eszközön, vagy az ügyféltanúsítvány egy Azure Key Vaultban tárolható.
Ezzel a hitelesítési módszerrel központi helyről kezelheti a tanúsítványokat a hitelesítésszolgáltató (CA) használatával forgatás vagy visszavonás céljából.
A Microsoft Entra-azonosítóban lévő tanúsítványokról az ügyfél hitelesítő adatainak gitHub oldalán tudhat meg többet.
Metódus
Tanúsítványhitelesítés beállítása.
1. lépés – Tartalom beágyazása szolgáltatásnévvel
Ha szolgáltatásnévvel szeretné beágyazni a tartalmat, kövesse a Power BI-tartalmak beágyazása szolgáltatásnévvel és alkalmazástitkokkal című témakörben leírtakat.
Feljegyzés
Ha már rendelkezik szolgáltatásnévvel beágyazott tartalommal, hagyja ki ezt a lépést, és lépjen tovább a 2. lépésre.
2. lépés – Tanúsítvány létrehozása
Tanúsítványt beszerezhet egy megbízható hitelesítésszolgáltatótól, vagy saját maga hozhat létre tanúsítványt.
Ez a szakasz egy tanúsítvány Azure Key Vault használatával történő létrehozását és a nyilvános kulcsot tartalmazó .cer fájl letöltését ismerteti.
Keresse meg és válassza ki a Key Vaults hivatkozást.
Válassza ki azt a kulcstartót, amelyhez tanúsítványt szeretne hozzáadni.
Válassza a Tanúsítványok lehetőséget.
Válassza a Generálás/importálás lehetőséget.
Konfigurálja a tanúsítványmezők létrehozását az alábbiak szerint:
Tanúsítványlétrehozási módszer – Általános
Tanúsítvány neve – Adja meg a tanúsítvány nevét
Hitelesítésszolgáltató (CA) típusa – Önaláírt tanúsítvány
DNS-nevek – 0 DNS-név
Érvényességi időszak (hónapokban) – Adja meg a tanúsítvány érvényességi időtartamát
Tartalomtípus – PKCS #12
Élettartam-művelet típusa – Automatikus megújítás adott százalékos élettartamon
Százalékos élettartam – 80
Speciális szabályzatkonfiguráció – Nincs konfigurálva
Válassza a Létrehozás lehetőséget. Az újonnan létrehozott tanúsítvány alapértelmezés szerint le van tiltva. Az engedélyezés akár öt percet is igénybe vehet.
Válassza ki a létrehozott tanúsítványt.
Válassza a Letöltés CER formátumban lehetőséget. A letöltött fájl tartalmazza a nyilvános kulcsot.
3. lépés – Tanúsítványhitelesítés beállítása
A Microsoft Entra-alkalmazásban válassza a Tanúsítványok > titkos kódok lapot.
Válassza a Tanúsítvány feltöltése lehetőséget, és töltse fel az oktatóanyag 2. lépésében létrehozott és letöltött .cer fájlt. A .cer fájl tartalmazza a nyilvános kulcsot.
4. lépés – A tanúsítvány lekérése az Azure Key Vaultból
A felügyeltszolgáltatás-identitás (MSI) használatával kérje le a tanúsítványt az Azure Key Vaultból. Ez a folyamat magában foglalja a nyilvános és a titkos kulcsokat is tartalmazó .pfx tanúsítvány lekérését.
Tekintse meg a kód példáját a tanúsítvány Azure Key Vaultból való olvasásához. Ha a Visual Studiót szeretné használni, tekintse meg a Visual Studio MSI használatára való konfigurálását.
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));
}
5. lépés – Hitelesítés szolgáltatásnévvel és tanúsítvánnyal
Az Azure Key Vaulthoz való csatlakozással hitelesítheti az Azure Key Vaultban tárolt szolgáltatásnevet és tanúsítványt használó alkalmazást.
A tanúsítvány Azure Key Vaultból való csatlakoztatásához és olvasásához tekintse meg az alábbi kódmintát.
Feljegyzés
Ha már rendelkezik a szervezet által létrehozott tanúsítvánnyal, töltse fel a .pfx fájlt az Azure Key Vaultba.
// 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();
}
A Visual Studio konfigurálása AZ MSI használatára
Beágyazott megoldás létrehozásakor hasznos lehet konfigurálni a Visual Studiót a felügyeltszolgáltatás-identitás (MSI) használatára. Az MSI egy olyan funkció, amely lehetővé teszi a Microsoft Entra-identitás kezelését. A konfigurálás után lehetővé teszi a Visual Studio számára a hitelesítést az Azure Key Vaulton.
Feljegyzés
A Visual Studióba bejelentkező felhasználónak Azure Key Vault-engedélyekre van szüksége a tanúsítvány lekéréséhez.
Nyissa meg a projektet a Visual Studióban.
Válassza az Eszközök>beállításai lehetőséget.
Keresse meg és válassza ki a Fiókválasztás lehetőséget.
Adja hozzá az Azure Key Vaulthoz hozzáféréssel rendelkező fiókot.