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

บริการหลักคือวิธีการรับรองความถูกต้องที่สามารถใช้เพื่ออนุญาตให้เข้าถึงแอปพลิเคชัน Microsoft Entra บริการของ Power BI เนื้อหาและ API ได้

เมื่อคุณสร้างแอป Microsoft Entra วัตถุ บริการหลักจะถูกสร้างขึ้น วัตถุบริการหลัก ซึ่งเป็นที่รู้จักกันว่า บริการหลัก จะช่วยให้ Microsoft Entra ID สามารถรับรองความถูกต้องของแอปของคุณได้ หลังจากการรับรองความถูกต้อง แอปจะสามารถเข้าถึงแหล่งข้อมูลผู้เช่า Microsoft Entra ได้

เมื่อต้องการรับรองความถูกต้อง บริการหลักใช้ ID แอปพลิเคชันของแอป Microsoft Entra และหนึ่งในรายการต่อไปนี้:

  • ใบรับรอง
  • ข้อมูลลับของแอปพลิเคชัน

บทความนี้อธิบายการรับรองความถูกต้องของบริการหลักโดยใช้ ID แอปพลิเคชันและข้อมูล ลับของแอปพลิเคชัน

หมายเหตุ

เราขอแนะนําให้คุณรักษาความปลอดภัยบริการหลังบ้านของคุณโดยใช้ใบรับรองแทนที่จะเป็นคีย์ลับ

เมธอด

เมื่อต้องการใช้บริการหลักและ ID แอปพลิเคชันสําหรับการวิเคราะห์แบบฝังตัว คุณทําตามขั้นตอนต่อไปนี้ ส่วนที่ตามมาจะอธิบายขั้นตอนเหล่านี้โดยละเอียด

  1. สร้างแอป Microsoft Entra

    1. สร้างข้อมูลลับสําหรับแอป Microsoft Entra ของคุณ
    2. รับ ID แอปพลิเคชันและข้อมูลลับของแอปพลิเคชันของแอป

    หมายเหตุ

    ขั้นตอนเหล่านี้จะอธิบายไว้ในขั้นตอนที่ 1 สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการสร้างแอป Microsoft Entra ดู สร้างแอป Microsoft Entra

  2. สร้างกลุ่มความปลอดภัย Microsoft Entra

  3. เปิดใช้งานการตั้งค่าผู้ดูแลระบบบริการของ Power BI

  4. เพิ่มบริการหลักไปยังพื้นที่ทํางานของคุณ

  5. ฝังเนื้อหาของคุณ

สำคัญ

แอปพลิเคชัน Microsoft Entra ไม่จําเป็นต้องให้คุณกําหนดค่าสิทธิ์ที่ได้รับมอบหมายหรือสิทธิ์ของแอปพลิเคชันในพอร์ทัล Azure เมื่อมีการสร้างสําหรับบริการหลัก เมื่อคุณสร้างแอปพลิเคชัน Microsoft Entra สําหรับบริการหลักเพื่อเข้าถึง Power BI REST API เราขอแนะนําให้คุณหลีกเลี่ยงการเพิ่มสิทธิ์ ซึ่งไม่เคยถูกใช้และอาจทําให้เกิดข้อผิดพลาดที่ยากต่อการแก้ไขปัญหา

ขั้นตอนที่ 1 - สร้างแอป Microsoft Entra

สร้างแอป Microsoft Entra โดยใช้วิธีใดวิธีหนึ่งต่อไปนี้:

สร้างแอป Microsoft Entra ในพอร์ทัล Azure

  1. ลงชื่อเข้าใช้ พอร์ทัล Azure

  2. ค้นหาและเลือก การลงทะเบียนแอป

    Screenshot of the Azure portal, with app registration in the search box. That box and the App registrations icon are highlighted.

  3. เลือก การลงทะเบียนใหม่

    Screenshot of the App registrations page in the Azure portal. New registration is highlighted.

  4. กรอกข้อมูลที่จําเป็น:

    • ชื่อ - ป้อนชื่อสําหรับแอปพลิเคชันของคุณ
    • ชนิด บัญชีที่ได้รับการสนับสนุน - เลือกประเภทบัญชีที่ได้รับการสนับสนุน
    • (ไม่บังคับ) เปลี่ยนเส้นทาง URI - ใส่ URI ถ้าจําเป็น
  5. เลือก การลงทะเบียน

  6. หลังจากที่คุณลงทะเบียนแอป ของคุณ ID แอปพลิเคชันจะพร้อมใช้งานจากแท็บ ภาพรวม คัดลอก และบันทึก ID แอปพลิเคชันสําหรับการใช้งานในภายหลัง

    Screenshot of the Overview page of the new app. The Application ID is indecipherable and is highlighted.

  7. เลือก ใบรับรองข้อมูลลับ

    Screenshot of the Overview page of the new app. On the navigation pane, Certificates & secrets is highlighted.

  8. เลือก ข้อมูลลับของไคลเอนต์ใหม่

    Screenshot that shows part of the Certificates & secrets page for the app. Under Client secrets, the New client secret button is highlighted.

  9. ในหน้าต่าง เพิ่มข้อมูลลับไคลเอ็นต์ ให้ป้อนคําอธิบาย ระบุเวลาที่คุณต้องการให้ความลับของไคลเอ็นต์หมดอายุ และเลือก เพิ่ม

  10. คัดลอกและบันทึกค่าข้อมูลลับไคลเอนต์

    Screenshot of the Certificates & secrets page for the app. Under Client secrets, a new secret is visible. Its indecipherable value is highlighted.

    หมายเหตุ

    หลังจากที่คุณออกจากหน้าต่างนี้ ค่าความลับของไคลเอ็นต์จะถูกซ่อนและคุณไม่สามารถดูหรือคัดลอกอีกครั้งได้

สร้างแอป Microsoft Entra โดยใช้ PowerShell

ตัวอย่าง สคริปต์ PowerShell ต่อไปนี้สร้างแอป Microsoft Entra ใหม่และองค์ประกอบหลักของบริการ ก่อนที่คุณเรียกใช้สคริปต์นี้:

หลังจากสคริปต์ทํางาน ให้จดบันทึกข้อมูลต่อไปนี้ในผลลัพธ์ของสคริปต์:

  • ID ไคลเอ็นต์ของแอปใหม่
  • ID ออบเจ็กต์ของโครงร่างสําคัญของบริการใหม่
  • ค่าของความลับของโครงร่างสําคัญของบริการ
# Sign in as a user who's allowed to create an app.
Connect-MgGraph -Scopes "Application.ReadWrite.All" 

# Create a new Azure AD web application.
$web = @{
    RedirectUris = "https://localhost:44322"
    HomePageUrl = "https://localhost:44322"
}
$params = @{
    DisplayName = "myAzureADApp"
    Web = $($web)
}
$app = New-MgApplication @params
Write-Host "Client ID of new app: " $($app.AppId)

# Create a service principal.
$ServicePrincipalID=@{
  "AppId" = $($app.AppId)
  }
$sp = New-MgServicePrincipal -BodyParameter $($ServicePrincipalId)
Write-Host "Object ID of new service principal: " $($sp.Id)

# Create a key for the service principal.
$credential = Add-MgServicePrincipalPassword -ServicePrincipalId $($sp.Id)
Write-Host "Credential of new service principal: " $($credential.SecretText)

ขั้นตอนที่ 2 - สร้างกลุ่มความปลอดภัยของ Microsoft Entra

โครงร่างสําคัญของบริการของคุณไม่สามารถเข้าถึงเนื้อหา Power BI และ API ของคุณได้ หากต้องการให้สิทธิ์การเข้าถึงบริการหลัก ให้สร้างกลุ่มความปลอดภัยใน Microsoft Entra ID จากนั้นเพิ่มบริการหลักที่คุณสร้างขึ้นในกลุ่มความปลอดภัยนั้น

หมายเหตุ

ถ้าคุณต้องการเปิดใช้งานการเข้าถึงบริการหลักสําหรับทั้งองค์กร ให้ข้ามขั้นตอนนี้

มีสองวิธีในการสร้างกลุ่มความปลอดภัย Microsoft Entra:

สร้างกลุ่มความปลอดภัยด้วยตนเอง

หากต้องการสร้างกลุ่มความปลอดภัย Azure ด้วยตนเอง ให้ทําตามคําแนะนําใน สร้างกลุ่มพื้นฐานและเพิ่มสมาชิก

สร้างกลุ่มความปลอดภัยโดยใช้ PowerShell

สคริปต์ตัวอย่างต่อไปนี้จะสร้างกลุ่มความปลอดภัยใหม่ นอกจากนี้ยังเพิ่มโครงร่างสําคัญของบริการที่คุณสร้างไว้ก่อนหน้านี้ลงในกลุ่มความปลอดภัยใหม่ด้วย

  • ก่อนที่คุณเรียกใช้สคริปต์ แทนที่ <app-client-ID> ด้วย ID ไคลเอ็นต์ที่คุณบันทึกไว้ก่อนหน้านี้สําหรับแอปใหม่ของคุณ
  • หลังจากที่คุณเรียกใช้สคริปต์ให้จดบันทึก ID ออบเจ็กต์ของกลุ่มความปลอดภัยใหม่ซึ่งคุณสามารถค้นหาได้ในผลลัพธ์ของสคริปต์
# Sign in as an admin.
Connect-MgGraph -Scopes "Application.ReadWrite.All"

# Get the service principal that you created earlier.
$servicePrincipal = Get-MgServicePrincipal -Filter "AppId eq '<app-client-ID>'"

# Create an Azure AD security group.
$group = New-MgGroup -DisplayName "securitygroup1" -SecurityEnabled -MailEnabled:$False -MailNickName "notSet"
Write-Host "Object ID of new security group: " $($group.Id)

# Add the service principal to the group.
New-MgGroupMember -GroupId $($group.Id) -DirectoryObjectId $($servicePrincipal.Id)

ขั้นตอนที่ 3 - เปิดใช้งานการตั้งค่าผู้ดูแลระบบบริการของ Power BI

สําหรับแอป Microsoft Entra เพื่อเข้าถึงเนื้อหา Power BI และ API ผู้ดูแลระบบ Power BI จําเป็นต้องเปิดใช้งานการตั้งค่าต่อไปนี้:

  • ฝังเนื้อหาในแอปพลิเคชัน
  • อนุญาตให้โครงร่างสำคัญของบริการใช้ API ของ Power BI

ใน พอร์ทัลผู้ดูแลระบบ Power BI ไปที่ การตั้งค่าผู้เช่า แล้วเลื่อนลงไปที่ การตั้งค่านักพัฒนา

  • เปิดใช้งาน เนื้อหาที่ฝังในแอป สําหรับทั้งองค์กรหรือกลุ่มความปลอดภัยเฉพาะที่คุณสร้างขึ้นใน Microsoft Entra ID

    Screenshot of the Developer settings in the Tenant settings section of the Admin portal. The option for embedding content in apps is turned on.

  • เปิดใช้งาน อนุญาตให้โครงร่างสําคัญของบริการใช้ API ของ Power BI สําหรับทั้งองค์กร หรือสําหรับกลุ่มความปลอดภัยเฉพาะที่คุณสร้างขึ้นใน Microsoft Entra ID

    Screenshot of the Developer settings section. The option for allowing service principals to use Power BI APIs is turned on for one security group.

    สำคัญ

    บริการหลักมีสิทธิ์เข้าถึงการตั้งค่าผู้เช่าใดๆ ที่กําลังเปิดใช้งานอยู่ ขึ้นอยู่กับการตั้งค่าผู้ดูแลระบบของคุณ ซึ่งรวมถึงกลุ่มความปลอดภัยเฉพาะหรือทั้งองค์กร

    เพื่อจํากัดการเข้าถึงบริการหลักของการตั้งค่าผู้เช่าเฉพาะ อนุญาตให้เข้าถึงกลุ่มความปลอดภัยเฉพาะเท่านั้น อีกวิธีหนึ่งคือคุณสามารถสร้างกลุ่มความปลอดภัยเฉพาะสําหรับบริการหลัก และแยกออกจากการตั้งค่าผู้เช่าที่ต้องการได้

ขั้นตอนที่ 4 - เพิ่มบริการหลักไปยังพื้นที่ทํางานของคุณ

แอป Microsoft Entra ของคุณสามารถเข้าถึงรายงาน Power BI แดชบอร์ด และแบบจําลองความหมายได้เฉพาะเมื่อสามารถเข้าถึงพื้นที่ทํางาน Power BI ของคุณเท่านั้น คุณให้การเข้าถึงนั้นโดยการเพิ่มโครงร่างสําคัญของบริการของแอปหรือกลุ่มความปลอดภัยไปยังพื้นที่ทํางานของคุณในฐานะสมาชิกหรือผู้ดูแลระบบ

การเพิ่มโครงร่างสําคัญของบริการหรือกลุ่มความปลอดภัยไปยังพื้นที่ทํางานของคุณมีอยู่สามวิธี:

เพิ่มโครงร่างสําคัญของบริการหรือกลุ่มความปลอดภัยด้วยตนเอง

  1. ในบริการของ Power BI ให้เลื่อนไปยังพื้นที่ทํางานที่คุณต้องการเปิดใช้งานการเข้าถึง จากเมนูเพิ่มเติม เลือกการเข้าถึงพื้นที่ทํางาน

    Screenshot that shows the expanded More menu for a workspace. On that menu, Workspace access is highlighted.

  2. ในบานหน้าต่าง การเข้าถึง ภายใต้ เพิ่มผู้ดูแลระบบ สมาชิก หรือผู้สนับสนุน ให้เพิ่มหนึ่งในรายการต่อไปนี้:

    • โครงร่างสําคัญของบริการของคุณ ชื่อบริการหลักของคุณคือ ชื่อ ที่แสดงของแอป Microsoft Entra ของคุณ ตามที่ปรากฏในแท็บภาพรวมของแอป Microsoft Entra ของคุณ
    • กลุ่มความปลอดภัยที่รวมโครงร่างสําคัญของบริการของคุณ
  3. บนเมนูดรอปดาวน์ เลือกสมาชิกหรือผู้ดูแลระบบ

  4. เลือก เพิ่ม

เพิ่มโครงร่างสําคัญของบริการหรือกลุ่มความปลอดภัยโดยใช้ PowerShell

ส่วนต่อไปนี้แสดงตัวอย่าง สคริปต์ของ PowerShell สําหรับการเพิ่มโครงร่างสําคัญของบริการและกลุ่มความปลอดภัยไปยังพื้นที่ทํางาน Power BI ในฐานะสมาชิก

เพิ่มโครงร่างสําคัญของบริการเป็นสมาชิกพื้นที่ทํางานโดยใช้ PowerShell

สคริปต์ต่อไปนี้เพิ่มบริการหลักเป็นสมาชิกพื้นที่ทํางาน ก่อนที่คุณจะเรียกใช้สคริปต์:

  • แทนที่ <service-principal-object-ID> ด้วย ID ออบเจ็กต์ที่คุณบันทึกไว้ก่อนหน้านี้สําหรับบริการหลักของคุณใหม่
  • แทนที่ <workspace-name> ด้วยชื่อของพื้นที่ทํางานที่คุณต้องการให้สิทธิ์การเข้าถึงบริการหลัก
# Sign in to Power BI.
Login-PowerBI

# Set up the service principal ID.
$SPObjectID = "<service-principal-object-ID>"

# Get the workspace.
$pbiWorkspace = Get-PowerBIWorkspace -Filter "name eq '<workspace-name>'"

# Add the service principal to the workspace.
Add-PowerBIWorkspaceUser -Id $($pbiWorkspace.Id) -AccessRight Member -PrincipalType App -Identifier $($SPObjectID)

เพิ่มกลุ่มความปลอดภัยเป็นสมาชิกพื้นที่ทํางานโดยใช้ PowerShell

สคริปต์ต่อไปนี้เพิ่มกลุ่มความปลอดภัยเป็นสมาชิกพื้นที่ทํางาน ก่อนที่คุณจะเรียกใช้สคริปต์:

  • แทนที่ <security-group-object-ID> ด้วย ID ออบเจ็กต์ที่คุณบันทึกไว้ก่อนหน้านี้สําหรับกลุ่มความปลอดภัยใหม่ของคุณ
  • แทนที่ <workspace-name> ด้วยชื่อของพื้นที่ทํางานที่คุณต้องการให้สิทธิ์การเข้าถึงกลุ่มความปลอดภัย
# Sign in to Power BI.
Login-PowerBI

# Set up the security group object ID.
$SGObjectID = "<security-group-object-ID>"

# Get the workspace.
$pbiWorkspace = Get-PowerBIWorkspace -Filter "name eq '<workspace-name>'"

# Add the security group to the workspace.
Add-PowerBIWorkspaceUser -Id $($pbiWorkspace.Id) -AccessRight Member -PrincipalType Group -Identifier $($SGObjectID)

ขั้นตอนที่ 5 - ฝังเนื้อหาของคุณ

คุณสามารถ ฝังเนื้อหาของคุณภายในแอปพลิเคชันตัวอย่าง หรือภายในแอปพลิเคชันของคุณเอง

หลังจากที่เนื้อหาของคุณถูกฝังแล้ว คุณก็พร้อมที่จะย้ายไปยังการผลิต

หมายเหตุ

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

ข้อควรพิจารณาและข้อจำกัด

  • พื้นที่ทํางานของฉันไม่ได้รับการสนับสนุนเมื่อใช้บริการหลัก
  • ต้องใช้ความจุเมื่อย้ายไปยังการผลิต
  • คุณไม่สามารถลงชื่อเข้าใช้พอร์ทัล Power BI โดยใช้บริการหลัก
  • คุณจําเป็นต้องมีสิทธิ์ของผู้ดูแลระบบ Power BI เพื่อเปิดใช้งานบริการหลักในการตั้งค่านักพัฒนาภายในพอร์ทัลผู้ดูแลระบบ Power BI
  • แอปพลิเคชันแบบฝังตัวสําหรับองค์กรของคุณ ไม่สามารถใช้บริการหลักได้
  • ไม่สนับสนุนการจัดการกระแส ข้อมูล
  • บริการหลักสนับสนุนเฉพาะ API ของผู้ดูแลระบบแบบอ่านอย่างเดียวเท่านั้น เมื่อต้องการเปิดใช้งานการสนับสนุนโครงร่างสําคัญของบริการสําหรับ API ของผู้ดูแลระบบแบบอ่านอย่างเดียว คุณต้องเปิดใช้งานการตั้งค่าผู้ดูแลระบบบริการของ Power BI ในผู้เช่าของคุณ สําหรับข้อมูลเพิ่มเติม ดู เปิดใช้งานการรับรองความถูกต้องแบบโครงร่างสําคัญของบริการสําหรับ API ของผู้ดูแลระบบแบบอ่านอย่างเดียว
  • เมื่อคุณใช้บริการหลักกับ แหล่งข้อมูล Azure Analysis Services โครงร่างสําคัญของบริการจะต้องมีสิทธิ์อินสแตนซ์ Azure Analysis Services การใช้กลุ่มความปลอดภัยที่ประกอบด้วยโครงร่างสําคัญของบริการสําหรับวัตถุประสงค์นี้ใช้ไม่ได้