Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uwierzytelnianie oparte na certyfikatach umożliwia uwierzytelnienie w usłudze Microsoft Entra ID przy użyciu certyfikatu klienta. Certyfikat klienta może znajdować się na urządzeniu z systemem Windows, Android lub iOS albo certyfikat klienta można przechowywać w usłudze Azure Key Vault.
Użycie tej metody uwierzytelniania umożliwia zarządzanie certyfikatami z centralnego miejsca przy użyciu urzędu certyfikacji w celu rotacji lub odwołania.
Więcej informacji na temat certyfikatów można uzyskać na stronie Przepływy poświadczeń klienta w Microsoft Entra ID.
Metoda
Krok 1: Osadź swoją zawartość za pomocą podstawowego elementu usługi
Aby osadzić twoją zawartość przy użyciu jednostki usługi, postępuj zgodnie z instrukcjami w Osadzanie zawartości usługi Power BI przy użyciu jednostki usługi i tajnego klucza aplikacji.
Uwaga / Notatka
Jeśli masz już zawartość osadzoną przy użyciu zasady usługi, pomiń ten krok i przejdź do kroku 2.
Krok 2. Tworzenie certyfikatu
Możesz uzyskać certyfikat od zaufanego urzędu certyfikacji lub samodzielnie wygenerować certyfikat.
W tej sekcji opisano tworzenie certyfikatu przy użyciu usługi Azure Key Vault oraz pobieranie pliku .cer zawierającego klucz publiczny.
Zaloguj się do platformy Microsoft Azure.
Wyszukaj i wybierz link Magazyny kluczy.
Wybierz magazyn kluczy, do którego chcesz dodać certyfikat.
Wybierz pozycję Certyfikaty.
Wybierz pozycję Generuj/Importuj.
Skonfiguruj pola Utwórz certyfikat w następujący sposób:
Metoda tworzenia certyfikatu — ogólne
Nazwa certyfikatu — wprowadź nazwę certyfikatu
Typ urzędu certyfikacji — certyfikat z podpisem własnym
Podmiot — wyróżniająca nazwa X.500
Nazwy DNS — 0 nazw DNS
Okres ważności (w miesiącach) — wprowadź czas ważności certyfikatu
Typ zawartości — PKCS #12
Typ akcji na cały okres — automatyczne odnawianie przy danym procentowym okresie istnienia
Czas życia procentowy — 80
Konfiguracja zasad zaawansowanych — nieskonfigurowane
Wybierz pozycję Utwórz. Nowo utworzony certyfikat jest domyślnie wyłączony. Włączenie może potrwać do pięciu minut.
Wybierz utworzony certyfikat.
Wybierz pozycję Pobierz w formacie CER. Pobrany plik zawiera klucz publiczny.
Krok 3. Konfigurowanie uwierzytelniania certyfikatu
W aplikacji Microsoft Entra wybierz kartę Certyfikaty i wpisy tajne .
Wybierz pozycję Przekaż certyfikat i przekaż utworzony i pobrany plik .cer w kroku 2 tego samouczka. Plik .cer zawiera klucz publiczny.
Krok 4. Pobieranie certyfikatu z usługi Azure Key Vault
Użyj tożsamości usługi zarządzanej (MSI), aby pobrać certyfikat z usługi Azure Key Vault. Ten proces obejmuje pobranie certyfikatu pfx zawierającego zarówno klucze publiczne, jak i prywatne.
Zapoznaj się z przykładem kodu, aby odczytać certyfikat z usługi Azure Key Vault. Jeśli chcesz użyć programu Visual Studio, zapoznaj się z tematem Konfigurowanie programu Visual Studio do korzystania z 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. Uwierzytelnianie przy użyciu jednostki usługi i certyfikatu
Możesz uwierzytelnić aplikację korzystającą z jednostki usługi i certyfikatu przechowywanego w usłudze Azure Key Vault, łącząc się z usługą Azure Key Vault.
Aby nawiązać połączenie i odczytać certyfikat z usługi Azure Key Vault, zapoznaj się z poniższym przykładem kodu.
Uwaga / Notatka
Jeśli masz już certyfikat utworzony przez organizację, przekaż plik pfx do usługi 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();
}
Skonfiguruj program Visual Studio do korzystania z instalatora MSI
Podczas tworzenia osadzonego rozwiązania może być przydatne skonfigurowanie programu Visual Studio do korzystania z tożsamości usługi zarządzanej (MSI). MSI (Zarządzana Tożsamość Usługi) to funkcja umożliwiająca zarządzanie tożsamością Microsoft Entra. Po skonfigurowaniu Visual Studio pozwoli na uwierzytelnianie w usłudze Azure Key Vault.
Uwaga / Notatka
Użytkownik logujący się do programu Visual Studio wymaga uprawnień usługi Azure Key Vault w celu uzyskania certyfikatu.
Otwórz projekt w programie Visual Studio.
Wybierz Narzędzia>Opcje.
Wyszukaj i wybierz pozycję Wybór konta.
Dodaj konto, które ma dostęp do usługi Azure Key Vault.