แชร์ผ่าน


จัดการบทบาทผู้ดูแลระบบด้วย Microsoft Entra Privileged Identity Management

ใช้ Microsoft Entra Privileged Identity Management (PIM) เพื่อจัดการบทบาทผู้ดูแลระบบที่มีสิทธิ์สูงในศูนย์การจัดการ Power Platform

ข้อกำหนดเบื้องต้น

  • ลบการกำหนดบทบาทผู้ดูแลระบบของระบบเก่าในสภาพแวดล้อมของคุณ คุณสามารถใช้ สคริปต์ PowerShell เพื่อจัดทำรายการและลบผู้ใช้ที่ไม่ต้องการออกจากบทบาท ผู้ดูแลระบบ ในสภาพแวดล้อม Power Platform อย่างน้อย 1 รายการได้

การเปลี่ยนแปลงการสนับสนุนเกี่ยวกับคุณลักษณะ

Microsoft จะไม่กำหนดบทบาท ระบบ ผู้ดูแลระบบ ให้กับผู้ใช้ที่มีบทบาทผู้ดูแลระบบระดับโลกหรือระดับบริการ เช่น Power Platform ผู้ดูแลระบบ และ Dynamics 365 ผู้ดูแลระบบ โดยอัตโนมัติอีกต่อไป

ผู้ดูแลระบบเหล่านี้สามารถเข้าสู่ระบบในศูนย์ผู้ดูแลระบบด้วยสิทธิ์เหล่านี้: Power Platform

  • เปิดหรือปิดการตั้งค่าระดับผู้เช่า
  • ดูข้อมูลการวิเคราะห์สำหรับสภาพแวดล้อมต่างๆ
  • ดูการใช้ความจุ

ผู้ดูแลระบบเหล่านี้ไม่สามารถดำเนินกิจกรรมที่จำเป็นต้องมีการเข้าถึงข้อมูลโดยตรง Dataverse โดยไม่ได้รับอนุญาต ตัวอย่างของกิจกรรมเหล่านี้ ได้แก่

  • กำลังอัปเดต Security role สำหรับผู้ใช้ในสภาพแวดล้อม
  • การติดตั้งแอปสำหรับสภาพแวดล้อม

สำคัญ

ผู้ดูแลระบบระดับโลก ผู้ดูแลระบบ และผู้ดูแลระบบบริการ Dynamics 365 จะต้องดำเนินการ ขั้นตอน อีกครั้งก่อนจึงจะสามารถดำเนินกิจกรรมที่ต้องมีการเข้าถึงได้ Power Platform Dataverse พวกเขาต้องยกระดับบทบาทเป็น ผู้ดูแลระบบ ในสภาพแวดล้อมที่พวกเขาต้องการเข้าถึง การดำเนินการระดับความสูงทั้งหมดจะถูกบันทึกลงใน Microsoft Purview

ข้อจำกัดที่ทราบ

  • เมื่อใช้ API คุณจะสังเกตได้ว่าหากผู้เรียกคือระบบ ผู้ดูแลระบบ การเรียกยกระดับตัวเองจะส่งคืนความสำเร็จแทนที่จะแจ้งให้ผู้เรียกทราบว่าระบบ ผู้ดูแลระบบ มีอยู่แล้ว

  • ผู้ใช้ที่ทำการเรียกต้องมีบทบาทผู้ดูแลระบบผู้เช่าที่ได้รับมอบหมาย สำหรับรายชื่อผู้ใช้ทั้งหมดที่ตรงตามเกณฑ์ผู้ดูแลระบบผู้เช่า โปรดดู การเปลี่ยนแปลงการสนับสนุนคุณลักษณะ

  • หากคุณเป็น Dynamics 365 ผู้ดูแลระบบ และสภาพแวดล้อมได้รับการปกป้องโดยกลุ่มความปลอดภัย คุณต้องเป็นสมาชิกของกลุ่มความปลอดภัยนั้น กฎนี้ใช้ไม่ได้กับผู้ใช้ที่มีบทบาทระดับโลก ผู้ดูแลระบบ หรือ Power Platform ผู้ดูแลระบบ

  • สามารถเรียกใช้ API การยกระดับได้โดยผู้ใช้ที่ต้องการยกระดับสถานะของตนเท่านั้น ไม่รองรับการเรียก API ในนามของผู้ใช้รายอื่นเพื่อจุดประสงค์ในการยกระดับ

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

  • มีวิธีแก้ไขปัญหาสำหรับลูกค้าที่ใช้ Microsoft Power Platform CoE Starter Kit ดู ปัญหา PIM และวิธีแก้ปัญหา #8119 สำหรับข้อมูลและรายละเอียดเพิ่มเติม

  • ไม่รองรับการกำหนดบทบาทผ่านกลุ่ม อย่าลืมที่จะกำหนดบทบาทให้กับผู้ใช้โดยตรง

ยกระดับบทบาทตนเองเป็นผู้ดูแลระบบ

เราสนับสนุนการยกระดับโดยใช้ PowerShell หรือผ่านประสบการณ์ที่ใช้งานง่ายในศูนย์การจัดการ Power Platform

หมายเหตุ

ผู้ใช้ที่พยายามยกระดับตนเองจะต้องเป็นผู้ดูแลระบบส่วนกลาง ผู้ดูแลระบบ Power Platform หรือผู้ดูแลระบบ Dynamics 365 ส่วนติดต่อผู้ใช้ในศูนย์การจัดการ Power Platform ไม่พร้อมใช้งานสำหรับผู้ใช้ที่มีบทบาทผู้ดูแลระบบ Entra ID อื่นๆ และการพยายามยกระดับตนเองผ่าน PowerShell API จะส่งคืนข้อผิดพลาด

ยกระดับตนเองผ่าน PowerShell

ตั้งค่า PowerShell

ติดตั้งมอดูล MSAL PowerShell คุณเพียงต้องติดตั้งมอดูลดังกล่าวครั้งเดียวเท่านั้น

Install-Module -Name MSAL.PS

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่า PowerShell โปรดดู เริ่มต้นใช้งานด่วนสำหรับ Web API ด้วย PowerShell และ Visual Studio Code

ขั้นตอนที่ 1: รันคริปต์เพื่อยกระดับ

ในสคริปต์ PowerShell นี้ คุณจะต้อง:

  • รับรองความถูกต้องโดยใช้ API สำหรับ Power Platform
  • สร้างคิวรี http ด้วย ID สภาพแวดล้อมของคุณ
  • เรียก API ตำแหน่งข้อมูล เพื่อขอทำการยกระดับ
เพิ่ม ID สภาพแวดล้อมของคุณ
  1. รับ ID สภาพแวดล้อม จากแท็บ สภาพแวดล้อม ของ ศูนย์การจัดการ Power Platform

  2. เพิ่ม <environment id> ที่ไม่ซ้ำลงในสคริปต์

รันสคริปต์ที่

คัดลอกและวางสคริปต์ลงในคอนโซล PowerShell

# Set your environment ID
$environmentId = "<your environment id>"

Import-Module MSAL.PS

# Authenticate
$AuthResult = Get-MsalToken -ClientId '49676daf-ff23-4aac-adcc-55472d4e2ce0' -Scope 'https://api.powerplatform.com/.default' 


$Headers = @{
   Authorization  = "Bearer $($AuthResult.AccessToken)"
   'Content-Type' = "application/json"
} 

$uri = "https://api.powerplatform.com/usermanagement/environments/$environmentId/user/applyAdminRole?api-version=2022-03-01-preview";

try { 

   $postRequestResponse = Invoke-RestMethod -Method Post -Headers $Headers -Uri $uri 
   
} 
   
catch { 
   
   # Dig into the exception to get the Response details. 
   
   Write-Host "Response CorrelationId:" $_.Exception.Response.Headers["x-ms-correlation-id"] 
   
   Write-Host "StatusCode:" $_.Exception.Response.StatusCode.value__  
   
   Write-Host "StatusDescription:" $_.Exception.Response.StatusDescription 
   
   $result = $_.Exception.Response.GetResponseStream() 
   
   $reader = New-Object System.IO.StreamReader($result) 
   
   $reader.BaseStream.Position = 0 
   
   $reader.DiscardBufferedData() 
   
   $responseBody = $reader.ReadToEnd(); 
   
   Write-Host $responseBody 
   
} 
   
$output = $postRequestResponse | ConvertTo-Json -Depth 2 
   
Write-Host $output

ขั้นตอนที่ 2: ยืนยันผลลัพธ์

เมื่อสำเร็จ คุณจะเห็นผลลัพธ์ที่คล้ายกับผลลัพธ์ต่อไปนี้ มองหา "Code": "UserExists" เพื่อเป็นหลักฐานว่าคุณยกระดับบทบาทของคุณได้สำเร็จ

{
  "errors": [],
  "information": [
    {
      "Subject": "Result",
      "Description": "[\"SyncMode: Default\",\"Instance df12c345-7b56-ee10-8bc5-6045bd005555 exists\",\"Instance df85c664-7b78-ee11-8bc5-6045bd005555 in enabled state\",\"Instance Url found https://orgc1234567.crm.dynamics.com\",\"User found in AD tenant\",\"User in enabled state in AD tenant\",\"SystemUser with Id:11fa11ab-4f75-ee11-9999-6045bd12345a, objectId:d111c55c-aab2-8888-86d4-ece1234f11e6 exists in instance\"]",
      "Code": "UserExists"
    },
    { ... }
}
ข้อผิดพลาด

คุณอาจเห็นข้อความแสดงข้อผิดพลาดหากคุณไม่มีสิทธิ์ที่ถูกต้อง

"Unable to assign System Administrator security role as the user is not either a Global admin, Power Platform admin, or Dynamics 365 admin. Please review your role assignments in Entra ID and try again later. For help, please reach out to your administrator."

ขั้นตอน 3: กิจกรรมการทำความสะอาด

รัน Remove-RoleAssignmentFromUsers เพื่อลบผู้ใช้ออกจาก Security role ของผู้ดูแลระบบ หลังจากที่การมอบหมายหมดอายุใน PIM

  • -roleName: "ระบบ ผู้ดูแลระบบ" หรือบทบาทอื่น
  • -usersFilePath:เส้นทางไปยังไฟล์ CSV พร้อมรายชื่อชื่อผู้ใช้หลัก (หนึ่งชื่อต่อบรรทัด)
  • -environmentUrl: พบได้ที่ admin.powerplatform.microsoft.com
  • -processAllEnvironments: (ทางเลือก) ประมวลผลสภาพแวดล้อมทั้งหมดของคุณ
  • -geo: GEO ที่ถูกต้อง
  • -outputLogsDirectory: เส้นทางที่ไฟล์บันทึกถูกเขียน
ตัวอย่างสคริปต์
Remove-RoleAssignmentFromUsers
-roleName "System Administrator" 
-usersFilePath "C:\Users\<My-Name>\Desktop\<names.csv>"
-environmentUrl "<my-name>-environment.crm.dynamics.com"
# Or, include all your environments
-processAllEnvironments $true
-geo "NA"
-outputLogsDirectory "C:\Users\<My-Name>\Desktop\<log-files>"

ยกระดับตนเองโดยผ่านศูนย์การจัดการ Power Platform

  1. ลงชื่อเข้าใช้ใน ศูนย์จัดการ Power Platform

  2. ในแผงด้านซ้าย ให้เลือก สภาพแวดล้อม

  3. เลือกเครื่องหมายถูกที่อยู่ติดกับสภาพแวดล้อมของคุณ

  4. เลือก สมาชิกภาพ ในแถบคำสั่งเพื่อขอยกระดับตนเอง

  5. บานหน้าต่าง ผู้ดูแลระบบ จะปรากฏขึ้น เพิ่มตัวคุณเองในบทบาทผู้ดูแลระบบ โดยการเลือก เพิ่มฉัน

    ใช้ตัวเลือกเมนูสมาชิกภาพเพื่อขอยกระดับตนเอง