[この記事はプレリリース ドキュメントであり、変更されることがあります]
Power Platform のロールベースのアクセス制御 (RBAC) を使用すると、管理者はテナント、環境グループ、または環境スコープでユーザー、グループ、サービス プリンシパルに組み込みのロールを割り当てることができます。 このチュートリアルでは、一般的な自動化シナリオについて説明します。Authorization API を使用して、テナント スコープで共同作成者ロールをサービス プリンシパルに割り当てます。
RBAC の概念、組み込みロール、スコープの継承の詳細については、 Power Platform 管理センターのロールベースのアクセス制御に関するページを参照してください。
Important
- これはプレビュー機能です。
- プレビュー機能は運用環境での使用を想定しておらず、機能が制限されている可能性があります。 これらの機能は、追加使用条件の対象であり、公式リリース前にお客様が早期にアクセスし、フィードバックを提供できるよう利用可能になっています。
このチュートリアルでは、次の方法について説明します:
- Power Platform API を使用して認証します。
- 使用可能なロール定義を一覧表示します。
- テナント スコープでサービス プリンシパルのロールの割り当てを作成します。
- ロールの割り当てを確認します。
前提条件
- サービス プリンシパル認証用の証明書またはクライアント シークレットを使用して、Power Platform API 用に構成された Microsoft Entra アプリの登録。 ガイダンスについては、「 認証」を参照してください。
- サービス プリンシパルの エンタープライズ アプリケーション オブジェクト ID ( Microsoft Entra ID>Enterprise アプリケーションにあります)。
- 呼び出し元 ID には 、Power Platform 管理者 または Power Platform ロールベースのアクセス制御管理者 ロールが必要です。
組み込みのロールの定義
Power Platform には、RBAC を介して割り当てることができる 4 つの組み込みロールが用意されています。 各ロールには固定のアクセス許可セットがあり、テナント、環境グループ、または環境スコープで割り当てることができます。
| 役割名 | ロール ID | アクセス許可 |
|---|---|---|
| Power Platform 所有者 | 0cb07c69-1631-4725-ab35-e59e001c51ea |
すべての権限 |
| Power Platform 貢献者 | ff954d61-a89a-4fbe-ace9-01c367b89f87 |
すべてのリソースを管理および読み取りますが、ロールの割り当てを行ったり変更したりすることはできません |
| Power Platform リーダー | c886ad2e-27f7-4874-8381-5849b8d8a090 |
すべてのリソースへの読み取り専用アクセス |
| Power Platform のロールベースのアクセス制御管理者 | 95e94555-018c-447b-8691-bdac8e12211e |
すべてのリソースの読み取りとロールの割り当ての管理 |
ステップ 1. 使用可能なロール定義を一覧表示する
まず、使用可能なロール定義を認証して取得し、共同作成者ロール ID を確認します。
# Install the Az.Accounts module if not already installed
Install-Module -Name Az.Accounts
# Set your tenant ID
$TenantId = "YOUR_TENANT_ID"
# Authenticate and obtain an access token
Connect-AzAccount
$AccessToken = Get-AzAccessToken -TenantId $TenantId -ResourceUrl "https://api.powerplatform.com/"
$headers = @{ 'Authorization' = 'Bearer ' + $AccessToken.Token }
$headers.Add('Content-Type', 'application/json')
# List all role definitions
$roleDefinitions = Invoke-RestMethod -Method Get -Uri "https://api.powerplatform.com/authorization/roleDefinitions?api-version=2024-10-01" -Headers $headers
$roleDefinitions.value | Format-Table roleDefinitionName, roleDefinitionId
予想される出力:
roleDefinitionName roleDefinitionId
------------------ ----------------
Power Platform owner 0cb07c69-1631-4725-ab35-e59e001c51ea
Power Platform contributor ff954d61-a89a-4fbe-ace9-01c367b89f87
Power Platform reader c886ad2e-27f7-4874-8381-5849b8d8a090
Power Platform role-based access control administrator 95e94555-018c-447b-8691-bdac8e12211e
Power Platform API リファレンス: Role-Based アクセス制御 - ロール定義の一覧表示
ステップ 2. 共同作成者ロールをサービス プリンシパルに割り当てる
テナント スコープでサービス プリンシパルに Power Platform 共同作成者 ロールを付与するロールの割り当てを作成します。
YOUR_TENANT_IDをテナント GUID に置き換え、YOUR_ENTERPRISE_APP_OBJECT_IDを Microsoft Entra ID のエンタープライズ アプリケーション オブジェクト ID に置き換えます。
$TenantId = "YOUR_TENANT_ID"
$EnterpriseAppObjectId = "YOUR_ENTERPRISE_APP_OBJECT_ID"
$body = @{
roleDefinitionId = "ff954d61-a89a-4fbe-ace9-01c367b89f87"
principalObjectId = $EnterpriseAppObjectId
principalType = "ApplicationUser"
scope = "/tenants/$TenantId"
} | ConvertTo-Json
$roleAssignment = Invoke-RestMethod -Method Post -Uri "https://api.powerplatform.com/authorization/roleAssignments?api-version=2024-10-01" -Headers $headers -Body $body
$roleAssignment
予想される出力:
roleAssignmentId : a1b2c3d4-e5f6-7890-abcd-ef1234567890
principalObjectId : <your-enterprise-app-object-id>
roleDefinitionId : ff954d61-a89a-4fbe-ace9-01c367b89f87
scope : /tenants/<your-tenant-id>
principalType : ApplicationUser
createdOn : 2026-03-02T12:00:00.0000000+00:00
Power Platform API リファレンス: Role-Based アクセス制御 - ロールの割り当ての作成
手順 3. ロールの割り当てを確認する
すべてのロールの割り当てを取得して、新しい割り当てが存在することを確認します。
$roleAssignments = Invoke-RestMethod -Method Get -Uri "https://api.powerplatform.com/authorization/roleAssignments?api-version=2024-10-01" -Headers $headers
# Filter for the service principal's assignments
$roleAssignments.value | Where-Object { $_.principalObjectId -eq $EnterpriseAppObjectId } | Format-Table roleAssignmentId, roleDefinitionId, scope, principalType
予想される出力:
roleAssignmentId roleDefinitionId scope principalType
---------------- ---------------- ----- -------------
a1b2c3d4-e5f6-7890-abcd-ef1234567890 ff954d61-a89a-4fbe-ace9-01c367b89f87 /tenants/<your-tenant-id> ApplicationUser
Power Platform API リファレンス: ロールベースのアクセス制御 - ロールの割り当ての一覧表示