注意
新機能と改善された Power Platform 管理センター は、現在パブリック プレビュー段階にあります。 新しい管理センターは、特定の結果をより迅速に達成するのに役立つタスク指向のナビゲーションで使いやすくなるように設計されています。 新しい Power Platform 管理センターが 一般提供 に移行する、新しいドキュメントと更新されたドキュメントを公開します。
Microsoft Entra Privileged Identity Management (PIM) を使用して、Power Platform 管理センターで権限の高い管理者ロールを管理します。
前提条件
- 環境内の古いシステム管理者ロールの割り当てを削除します。 PowerShell スクリプトを使用して、不要なユーザーをインベントリし、1 つ以上の Power Platform 環境の システム管理者 ロールから削除できます。
機能サポートの変更
Microsoft は、システム管理者ロールを、Power Platform 管理者や Dynamics 365 管理者などのグローバル管理者やサービス レベル管理者ロールに自動的に割り当てる機能を廃止しました。
これらの管理者は、次の特権を使用して、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 を参照してください。
グループによるロールの割り当てはサポートされていません。 必ずロールをユーザーに直接割り当ててください。
システム管理者ロールに自己昇格する
Power Platform 管理センターでは、PowerShell または直感的な操作による昇格をサポートしています。
注意Note
自己昇格を試みるユーザーは、グローバル管理者、Power Platform 管理者、または Dynamics 365 管理者である必要があります。 Power Platform 管理センターのユーザー インターフェイスは、他の Entra ID 管理者ロールを持つユーザーには利用できず、PowerShell API を介して自己昇格を試みると、エラーが返されます。
PowerShell による自己昇格
PowerShell の設定
MSAL PowerShell モジュールをインストールします。 モジュールのインストールは 1 度だけ必要です。
Install-Module -Name MSAL.PS
PowerShell の設定の詳細については、PowerShell と Visual Studio コードを使用した Web 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 ファイルへのパス (1 行に 1 つ) -
-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 管理センターにサインインします。
左側のパネルで 環境 を選択します。
環境の横にあるチェックマークを選択します。
コマンドバーでメンバーシップを選択して、自己昇格を要求します。
システム管理者 ペインが表示されます。 システムの管理者ロールに自分を追加するには、私を追加してくださいを選択します。