Microsoft Entra Privileged Identity Management를 사용하여 관리자 역할 관리
Microsoft Entra PIM(Privileged Identity Management)을 사용하여 Power Platform 관리 센터에서 높은 권한의 관리자 역할을 관리합니다.
사전 요구 사항
- 환경에서 이전 시스템 관리자 역할 할당을 제거합니다. PowerShell 스크립트를 사용하여 하나 이상의 Power Platform 환경에서 시스템 관리자 역할에서 원치 않는 사용자를 목록화하고 제거할 수 있습니다.
기능 지원 변경 사항
Microsoft는 더 이상 관리자 및 Dynamics 365 관리자와 같은 글로벌 또는 서비스 수준 관리자 역할을 가진 사용자에게 시스템 관리자 Power Platform 역할을 자동으로 할당하지 않습니다.
이러한 관리자는 다음 권한을 가지고 Power Platform 관리 센터에 계속 로그인할 수 있습니다.
- 테넌트 수준 설정 활성화 또는 비활성화
- 환경에 대한 분석 정보 보기
- 용량 소비 보기
이러한 관리자는 라이선스 없이는 Dataverse 데이터에 직접 액세스해야 하는 활동을 수행할 수 없습니다. 이러한 활동의 예는 다음과 같습니다.
- 환경의 사용자에 대한 보안 역할 업데이트
- 환경에 대한 앱 설치
중요
글로벌 관리자 Power Platform 관리자 및 Dynamics 365 서비스 관리자는 액세스가 필요한 활동을 수행하기 전에 또 다른 단계를 완료해야 합니다 Dataverse. 액세스가 필요한 환경에서 자신을 시스템 관리자 역할로 상승해야 합니다. 모든 권한 상승 작업은 Microsoft Purview에 기록됩니다.
알려진 제한 사항
API를 사용할 때 호출자가 시스템 관리자인 경우 자체 권한 상승 호출이 시스템 관리자가 이미 존재한다는 사실을 호출자에게 알리는 대신 성공을 반환한다는 점을 알 수 있습니다.
전화를 거는 사용자에게는 테넌트 관리자 역할이 할당되어 있어야 합니다. 테넌트 관리자 기준을 충족하는 사용자의 전체 목록은 기능 지원 변경 사항을 참조하세요.
귀하가 Dynamics 365 관리자이고 환경가 보안 그룹으로 보호되는 경우, 귀하는 보안 그룹의 구성원이어야 합니다. 이 규칙은 글로벌 관리자 또는 Power Platform 관리자 역할을 가진 사용자에게는 적용되지 않습니다.
상승 API는 자신의 상태를 높여야 하는 사용자만 호출할 수 있습니다. 권한 상승을 위해 다른 사용자를 대신하여 API 호출을 지원하지 않습니다.
자체 승격을 통해 할당된 시스템 관리자 역할은 Privileged Identity Management에서 역할 할당이 만료되어도 제거되지 않습니다. 사용자를 시스템 관리자 역할에서 수동으로 제거해야 합니다. 청소 활동 보기
해결 방법은 Microsoft Power Platform CoE 스타터 키트를 사용하는 고객에게 제공됩니다. 자세한 내용은 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 설정에 대한 자세한 내용은 PowerShell 및 Visual Studio Code를 사용한 빠른 시작 웹 API를 참조하세요.
1단계: 스크립트를 실행하여 권한 상승
이 PowerShell 스크립트에서는 다음을 수행합니다.
- Power Platform API를 사용하여 인증합니다.
- 환경 ID를 사용하여
http
쿼리를 작성하세요. - 권한 상승을 요청하려면 API 엔드포인트를 호출하세요.
환경 ID 추가
Power Platform 관리 센터의 환경 탭에서 환경 ID 가져옵니다.
고유한
<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:aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb 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: 정리 활동
PIM에서 할당이 만료된 후 시스템 관리자 보안 역할에서 사용자를 제거하려면 Remove-RoleAssignmentFromUsers를 실행합니다.
-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 관리 센터에 로그인합니다.
왼쪽 패널에서 환경을 선택합니다.
환경 옆에 있는 확인 표시를 선택합니다.
자체 권한 상승을 요청하려면 명령 모음에서 회원 권한을 선택합니다.
시스템 관리자 창이 표시됩니다. 나를 추가를 선택하여 시스템 관리자 역할에 자신을 추가합니다.