จัดการบทบาทผู้ดูแลระบบด้วย 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 สภาพแวดล้อมของคุณ
รับ ID สภาพแวดล้อม จากแท็บ สภาพแวดล้อม ของ ศูนย์การจัดการ Power Platform
เพิ่ม
<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
ลงชื่อเข้าใช้ใน ศูนย์จัดการ Power Platform
ในแผงด้านซ้าย ให้เลือก สภาพแวดล้อม
เลือกเครื่องหมายถูกที่อยู่ติดกับสภาพแวดล้อมของคุณ
เลือก สมาชิกภาพ ในแถบคำสั่งเพื่อขอยกระดับตนเอง
บานหน้าต่าง ผู้ดูแลระบบ จะปรากฏขึ้น เพิ่มตัวคุณเองในบทบาทผู้ดูแลระบบ โดยการเลือก เพิ่มฉัน