แชร์ผ่าน


ฝังเนื้อหา Power BI ด้วยบริการหลักและใบรับรอง

การรับรองความถูกต้องตามใบรับรองช่วยให้คุณสามารถรับรองความถูกต้องโดย Microsoft Entra ID ด้วยใบรับรองไคลเอ็นต์ ใบรับรองไคลเอ็นต์สามารถอยู่บนอุปกรณ์ Windows, Android หรือ iOS หรือใบรับรองไคลเอ็นต์อาจถูกเก็บไว้ใน Azure Key Vault

การใช้วิธีการรับรองความถูกต้องนี้อนุญาตให้จัดการใบรับรองจากจุดศูนย์กลางโดยใช้ผู้ให้บริการออกใบรับรอง (CA) สําหรับการหมุนหรือการเพิกถอน

คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับใบรับรองใน Microsoft Entra ID ในหน้า โฟลว์ข้อมูลประจําตัวของไคลเอ็นต์ ได้

วิธี

  1. ฝังเนื้อหาของคุณด้วยองค์ประกอบหลักของบริการ

  2. สร้างใบรับรอง

  3. ตั้งค่าการรับรองความถูกต้องใบรับรอง

  4. รับใบรับรองจาก Azure Key Vault

  5. รับรองความถูกต้องโดยใช้บริการหลักและใบรับรอง

ขั้นตอนที่ 1 - ฝังเนื้อหาของคุณด้วยองค์ประกอบหลักของบริการ

เมื่อต้องการฝังเนื้อหาของคุณด้วยองค์ประกอบหลักของบริการ ให้ทําตามคําแนะนําใน ฝังเนื้อหา Power BI ด้วยองค์ประกอบหลักของบริการและข้อมูลลับของแอปพลิเคชัน

หมายเหตุ

ถ้าคุณมีเนื้อหาที่ฝังโดยใช้บริการหลักอยู่แล้ว ให้ข้ามขั้นตอนนี้และไปยังขั้นตอนที่ 2

ขั้นตอนที่ 2 - สร้างใบรับรอง

คุณสามารถจัดหาใบรับรองจาก ผู้ให้บริการออกใบรับรองที่เชื่อถือได้ หรือสร้างใบรับรองด้วยตัวคุณเอง

ในส่วนนี้จะอธิบายการสร้างใบรับรองโดยใช้ Azure Key Vault และดาวน์โหลดไฟล์ .cer ซึ่งประกอบด้วยคีย์สาธารณะ

  1. เข้าสู่ระบบ Microsoft Azure

  2. ค้นหาและเลือกลิงก์ ชุดเก็บคีย์

    ภาพหน้าจอของหน้าต่างพอร์ทัล Azure ซึ่งแสดงลิงก์ไปยังบริการชุดเก็บคีย์ในรายการบริการ

  3. เลือกชุดเก็บคีย์ที่คุณต้องการเพิ่มใบรับรอง

    ภาพหน้าจอของหน้าต่างพอร์ทัล Azure ซึ่งแสดงรายการชุดเก็บคีย์ที่เบลอในรายการชุดเก็บคีย์

  4. เลือก ใบรับรอง

    สกรีนช็อตของหน้าต่างพอร์ทัล Azure ซึ่งแสดงหน้าชุดเก็บคีย์พร้อมรายการใบรับรองที่เน้น

  5. เลือก สร้าง/นำเข้า

    ภาพหน้าจอของหน้าต่างพอร์ทัล Azure ซึ่งแสดงบานหน้าต่างใบรับรองที่มีรายการสร้าง/นําเข้าที่เน้น

  6. กําหนดค่าเขตข้อมูล สร้างใบรับรอง ดังนี้:

    • วิธีการสร้างใบรับรอง - ทั่วไป

    • ชื่อใบรับรอง - ป้อนชื่อสําหรับใบรับรองของคุณ

    • ชนิดของผู้ให้บริการออกใบรับรอง (CA) - ใบรับรองแบบลงนามด้วยตนเอง

    • หัวเรื่อง - ชื่อเฉพาะ X.500

    • ชื่อ DNS - ชื่อ DNS 0

    • ระยะเวลาการมีผลบังคับใช้ (เดือน) - ป้อนระยะเวลาการมีผลบังคับใช้ของใบรับรอง

    • ชนิดเนื้อหา - PKCS #12

    • ชนิดการดําเนินการตลอดอายุการใช้งาน - ต่ออายุอัตโนมัติตามเปอร์เซ็นต์อายุการใช้งานที่ระบุ

    • เปอร์เซ็นต์อายุการใช้งาน - 80

    • การกําหนดค่านโยบายขั้นสูง - ไม่ได้กําหนดค่า

  7. เลือก สร้าง ใบรับรองที่สร้างขึ้นใหม่ถูกปิดใช้งานตามค่าเริ่มต้น อาจใช้เวลาถึงห้านาทีในการเปิดใช้งาน

  8. เลือกใบรับรองที่คุณสร้างขึ้น

  9. เลือกดาวน์โหลดในรูปแบบ CER ไฟล์ที่ดาวน์โหลดประกอบด้วยคีย์สาธารณะ

    สกรีนช็อตของหน้าต่างพอร์ทัล Azure ซึ่งแสดงปุ่มดาวน์โหลดที่เน้นใน CER Format

ขั้นตอนที่ 3 - ตั้งค่าการรับรองความถูกต้องใบรับรอง

  1. ในแอปพลิเคชัน Microsoft Entra ของคุณ ให้เลือกแท็บ ใบรับรองและข้อมูลลับ

    ภาพหน้าจอของหน้าต่างพอร์ทัล Azure ซึ่งแสดงใบรับรองและบานหน้าต่างความลับสําหรับแอป

  2. เลือก อัปโหลดใบรับรอง และอัปโหลดไฟล์ .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 เพื่อรับใบรับรอง

  1. เปิดโครงการของคุณใน Visual Studio

  2. เลือก เครื่องมือ>ตัวเลือก

    ภาพหน้าจอของหน้าต่าง Visual Studio ซึ่งแสดงปุ่มตัวเลือกที่เน้นในเมนูเครื่องมือ

  3. ค้นหาและเลือกการเลือกบัญชี

    สกรีนช็อตของหน้าต่างตัวเลือก Visual Studio ซึ่งแสดงตัวเลือกการเลือกบัญชีที่เน้นในผลลัพธ์การค้นหา

  4. เพิ่มบัญชีที่มีสิทธิ์เข้าถึง Azure Key Vault ของคุณ