Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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 Alur kredensial klien .
Metode
Langkah 1 - Sematkan 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.
Nota
Jika Anda sudah memiliki konten yang disematkan menggunakan service principal, lewati langkah ini dan lanjutkan ke langkah 2.
Langkah 2 - Membuat sertifikat
Anda dapat mendapatkan sertifikat dari Otoritas Sertifikat tepercaya, atau membuat sertifikat sendiri.
Bagian ini menjelaskan pembuatan sertifikat menggunakan Azure Key Vault, dan mengunduh file .cer , yang berisi kunci publik.
Masuk ke Microsoft Azure.
Cari dan pilih tautan Key Vault.
Pilih brankas kunci yang ingin Anda tambahkan sertifikatnya.
Pilih Sertifikat.
Pilih Hasilkan/Impor.
Konfigurasikan bidang Buat sertifikat sebagai berikut:
Metode Pembuatan Sertifikat - Umum
Nama Sertifikat - Masukkan nama untuk sertifikat Anda
Jenis Otoritas Sertifikat (CA) - Sertifikat yang ditandatangani sendiri
Subjek - Nama yang dibedakan X.500
Nama DNS - 0 Nama DNS
Periode Validitas (dalam bulan) - Masukkan durasi validitas sertifikat
Tipe Isi - PKCS #12
Jenis Tindakan Seumur Hidup - Memperbarui secara otomatis pada persentase masa pakai tertentu
Persentase Masa Pakai - 80
Konfigurasi Kebijakan Tingkat Lanjut - Tidak dikonfigurasi
Pilih Buat. Sertifikat yang baru dibuat dinonaktifkan secara default. Dibutuhkan waktu hingga lima menit untuk diaktifkan.
Pilih sertifikat yang Anda buat.
Pilih Unduh dalam format CER. File yang diunduh berisi kunci publik.
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 publik.
Langkah 4 - Dapatkan sertifikat dari Azure Key Vault
Gunakan Identitas Layanan Terkelola (MSI) untuk mendapatkan sertifikat dari Azure Key Vault. Proses ini melibatkan mendapatkan sertifikat .pfx yang berisi kunci publik dan privat.
Lihat contoh kode untuk membaca sertifikat dari Azure Key Vault. 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 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.
Nota
Jika Anda sudah memiliki sertifikat yang dibuat oleh organisasi Anda, unggah file .pfx ke 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();
}
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, Visual Studio akan mengautentikasi ke Azure Key Vault Anda.
Nota
Pengguna yang masuk ke Visual Studio memerlukan izin Azure Key Vault untuk mendapatkan sertifikat.
Buka proyek Anda di Visual Studio.
PilihOpsi>.
Cari dan pilih Pilihan Akun.
Tambahkan akun yang memiliki akses ke Azure Key Vault Anda.