ฝังเนื้อหา Power BI ด้วยบริการหลักและใบรับรอง
การรับรองความถูกต้องตามใบรับรองช่วยให้คุณสามารถรับรองความถูกต้องโดย Microsoft Entra ID ด้วยใบรับรองไคลเอ็นต์ ใบรับรองไคลเอ็นต์สามารถอยู่บนอุปกรณ์ Windows, Android หรือ iOS หรือใบรับรองไคลเอ็นต์อาจถูกเก็บไว้ใน Azure Key Vault
การใช้วิธีการรับรองความถูกต้องนี้อนุญาตให้จัดการใบรับรองจากจุดศูนย์กลางโดยใช้ผู้ให้บริการออกใบรับรอง (CA) สําหรับการหมุนหรือการเพิกถอน
คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับใบรับรองใน Microsoft Entra ID ใน หน้าโฟลว์ ข้อมูลประจําตัวของไคลเอ็นต์ใน GitHub ได้
วิธีการ
ตั้งค่าการรับรองความถูกต้องใบรับรอง
ขั้นตอนที่ 1 - ฝังเนื้อหาของคุณด้วยองค์ประกอบหลักของบริการ
เมื่อต้องการฝังเนื้อหาของคุณด้วยองค์ประกอบหลักของบริการ ให้ทําตามคําแนะนําใน ฝังเนื้อหา Power BI ด้วยองค์ประกอบหลักของบริการและข้อมูลลับของแอปพลิเคชัน
หมายเหตุ
ถ้าคุณมีเนื้อหาที่ฝังโดยใช้บริการหลักอยู่แล้ว ให้ข้ามขั้นตอนนี้และไปยังขั้นตอนที่ 2
ขั้นตอนที่ 2 - สร้างใบรับรอง
คุณสามารถจัดหาใบรับรองจากผู้ให้บริการออกใบรับรองที่เชื่อถือได้ หรือสร้างใบรับรองด้วยตัวคุณเอง
ในส่วนนี้จะอธิบายการสร้างใบรับรองโดยใช้ Azure Key Vault และดาวน์โหลด ไฟล์ .cer ซึ่งประกอบด้วยคีย์สาธารณะ
เข้าสู่ระบบ Microsoft Azure
ค้นหาและเลือกลิงก์ ชุดเก็บ คีย์
เลือกชุดเก็บคีย์ที่คุณต้องการเพิ่มใบรับรอง
เลือก ใบรับรอง
เลือก สร้าง/นำเข้า
กําหนดค่าเขตข้อมูล สร้างใบรับรอง ดังนี้:
วิธีการสร้าง ใบรับรอง - ทั่วไป
ชื่อ ใบรับรอง - ป้อนชื่อสําหรับใบรับรองของคุณ
ชนิดของผู้ให้บริการออกใบรับรอง (CA) - ใบรับรองแบบลงนามด้วยตนเอง
หัวเรื่อง - ชื่อเฉพาะ X.500
ชื่อ DNS - ชื่อ DNS 0
ระยะเวลาการมีผลบังคับใช้ (เดือน) - ป้อนระยะเวลาการมีผลบังคับใช้ของใบรับรอง
ชนิด เนื้อหา - PKCS #12
ชนิด การดําเนินการตลอดอายุการใช้งาน - ต่ออายุอัตโนมัติตามเปอร์เซ็นต์อายุการใช้งานที่ระบุ
เปอร์เซ็นต์อายุการใช้งาน - 80
การกําหนดค่า นโยบายขั้นสูง - ไม่ได้กําหนดค่า
เลือก สร้าง ใบรับรองที่สร้างขึ้นใหม่ถูกปิดใช้งานตามค่าเริ่มต้น อาจใช้เวลาถึงห้านาทีในการเปิดใช้งาน
เลือกใบรับรองที่คุณสร้างขึ้น
เลือก ดาวน์โหลดในรูปแบบ CER ไฟล์ที่ดาวน์โหลดประกอบด้วยคีย์สาธารณะ
ขั้นตอนที่ 3 - ตั้งค่าการรับรองความถูกต้องใบรับรอง
ในแอปพลิเคชัน Microsoft Entra ของคุณ ให้เลือกแท็บ ใบรับรองและข้อมูลลับ
เลือก อัปโหลดใบรับรอง และอัปโหลด ไฟล์.cer ที่คุณสร้างและดาวน์โหลดใน ขั้นตอนที่ 2 ของบทช่วยสอนนี้ ไฟล์ .cer ประกอบด้วยคีย์สาธารณะ
ขั้นตอนที่ 4 - รับใบรับรองจาก Azure Key Vault
ใช้ข้อมูลประจําตัวของบริการที่มีการจัดการ (MSI) เพื่อรับใบรับรองจาก Azure Key Vault กระบวนการนี้เกี่ยวข้องกับการรับ ใบรับรอง .pfx ที่ประกอบด้วยคีย์สาธารณะและส่วนตัว
โปรดดูตัวอย่างโค้ดสําหรับการอ่านใบรับรองจาก Azure Key Vault ถ้าคุณต้องการใช้ Visual Studio ให้อ้างอิงถึง กําหนดค่า Visual Studio เพื่อใช้ 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));
}
ขั้นตอนที่ 5 - รับรองความถูกต้องโดยใช้บริการหลักและใบรับรอง
คุณสามารถรับรองความถูกต้องของแอปของคุณที่ใช้องค์ประกอบหลักของบริการและใบรับรองที่จัดเก็บไว้ใน Azure Key Vault โดยการเชื่อมต่อกับ Azure Key Vault
หากต้องการเชื่อมต่อและอ่านใบรับรองจาก Azure Key Vault โปรดดูตัวอย่างโค้ดต่อไปนี้
หมายเหตุ
ถ้าคุณมีใบรับรองที่สร้างโดยองค์กรของคุณแล้ว ให้อัปโหลด ไฟล์ .pfx ไปยัง 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();
}
กําหนดค่า Visual Studio เพื่อใช้ MSI
เมื่อคุณสร้างโซลูชันแบบฝังตัว อาจเป็นประโยชน์ในการกําหนดค่า Visual Studio เพื่อใช้ข้อมูลประจําตัวของบริการที่มีการจัดการ (MSI) MSI คือคุณลักษณะที่ช่วยให้คุณสามารถจัดการข้อมูลประจําตัว Microsoft Entra ของคุณได้ เมื่อกําหนดค่าแล้ว จะอนุญาตให้ Visual Studio รับรองความถูกต้องเทียบกับ Azure Key Vault ของคุณ
หมายเหตุ
ผู้ใช้ที่ลงชื่อเข้าใช้ Visual Studio ต้องใช้สิทธิ์ Azure Key Vault เพื่อรับใบรับรอง
เปิดโครงการของคุณใน Visual Studio
เลือก เครื่องมือ>ตัวเลือก
ค้นหาและเลือก การเลือกบัญชี
เพิ่มบัญชีที่มีสิทธิ์เข้าถึง Azure Key Vault ของคุณ