Menyematkan konten Power BI dengan perwakilan layanan dan sertifikat
Autentikasi berbasis sertifikat memungkinkan Anda diautentikasi oleh ID Microsoft Entra dengan sertifikat klien. Sertifikat klien dapat berada di perangkat Windows, Android, atau iOS, atau sertifikat klien dapat disimpan di Azure Key Vault.
Menggunakan metode autentikasi ini memungkinkan pengelolaan sertifikat dari tempat pusat menggunakan otoritas sertifikat (CA) untuk rotasi atau pencabutan.
Anda dapat mempelajari selengkapnya tentang sertifikat di ID Microsoft Entra di halaman GitHub alur kredensial klien.
Metode
Langkah 1 - Menyematkan konten Anda dengan perwakilan layanan
Untuk menyematkan konten Anda dengan perwakilan layanan, ikuti instruksi di Menyematkan konten Power BI dengan perwakilan layanan dan rahasia aplikasi.
Catatan
Jika Anda sudah memiliki konten yang disematkan dengan menggunakan perwakilan layanan, lewati langgah ini dan lanjutkan ke langkah 2.
Langkah 2 - Membuat sertifikat
Anda dapat memperoleh sertifikat dari Otoritas Sertifikat terpercaya, atau membuat sertifikat sendiri.
Bagian ini menjelaskan tentang pembuatan sertifikat dengan menggunakan Azure Key Vault, dan mengunduh file .cer, yang berisi kunci umum.
Masuk ke Microsoft Azure.
Cari dan pilih tautan Brankas kunci.
Pilih key vault yang ingin Anda tambahi sertifikat.
Pilih Sertifikat.
Pilih Buat/impor.
Konfigurasikan bidang Buat sertifikat sebagai berikut:
Metode Pembuatan Sertifikat - Umum
Nama Sertifikat - Masukkan nama untuk sertifikat Anda
Tipe Otoritas Sertifikat (CA) - Sertifikat yang ditandatangani sendiri
Subjek - Nama khusus X.500
Nama DNS - 0 Nama DNS
Masa Berlaku (dalam bulan) - Masukkan durasi validitas sertifikat
Tipe Konten - PKCS #12
Tipe Tindakan Masa Berlaku - Perbarui secara otomatis pada presentase masa berlaku tertentu
Persentase Masa Berlaku - 80
Konfigurasi Kebijakan Tingkat Lanjut - Tidak dikonfigurasi
Pilih Buat. Sertifikat yang baru dibuat dinonaktifkan secara default. Dibutuhkan waktu hingga lima menit untuk mengaktifkannya.
Pilih sertifikat yang telah Anda buat.
Pilih Unduh dalam format CER. File yang diunduh berisi kunci umum.
Langkah 3 - Menyiapkan autentikasi sertifikat
Di aplikasi Microsoft Entra Anda, pilih tab Sertifikat &rahasia .
Pilih Unggah sertifikat dan unggah file .cer yang Anda buat dan unduh di langkah 2 tutorial ini. File .cer berisi kunci umum.
Langkah 4 - Mendapatkan sertifikat dari Azure Key Vault
Gunakan Identitas Layanan Terkelola (MSI) untuk mendapatkan sertifikat dari Azure Key Fault. Proses ini melibatkan mendapatkan sertifikat .pfx yang berisi kunci umum dan pribadi.
Lihat contoh untuk membaca sertifikat dari Azure Key Fault. Jika Anda ingin menggunakan Visual Studio, lihat Mengonfigurasi Visual Studio untuk menggunakan 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));
}
Langkah 5 - Mengautentikasi dengan menggunakan perwakilan layanan dan sertifikat
Anda dapat mengautentikasi aplikasi yang menggunakan perwakilan layanan dan sertifikat yang disimpan di Azure Key Vault dengan menyambungkan ke Azure Key Vault.
Untuk menyambungkan dan membaca sertifikat dari Azure Key Vault, lihat sampel kode berikut.
Catatan
Jika Anda sudah memiliki sertifikat yang dibuat oleh organisasi Anda, unggah file .pfx ke Azure Key Fault.
// 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();
}
Mengonfigurasi Visual Studio untuk menggunakan MSI
Saat Anda membuat solusi yang disematkan, mungkin berguna untuk mengonfigurasi Visual Studio untuk menggunakan Identitas Layanan Terkelola (MSI). MSI adalah fitur yang memungkinkan Anda mengelola identitas Microsoft Entra Anda. Setelah dikonfigurasi, MSI akan membiarkan Visual Studio mengautentikasi terhadap Azure Key Fault Anda.
Catatan
Pengguna yang masuk ke Visual Studio memerlukan izin Azure Key Vault untuk mendapatkan sertifikat.
Buka proyek Anda di Visual Studio.
Pilih Alat>Opsi.
Cari dan pilih Pilihan Akun.
Tambahkan akun yang memiliki akses ke Azure Key Vault Anda.