この記事では、Microsoft Entra 管理センター、Microsoft Graph PowerShell、または Microsoft Graph API を使用して、Microsoft Entra リソースへのアクセスを管理するカスタム ロールを作成する方法について説明します。 代わりに、Azure リソースへのアクセスを管理するカスタム ロールを作成する場合は、「Azure portal を使用して Azure カスタム ロールを作成または更新する」を参照してください。
カスタム ロールの基本については、カスタム ロールの概要を参照してください。 ロールは、ディレクトリ レベルのスコープまたはアプリ登録リソース スコープでのみ割り当てることができます。 Microsoft Entra 組織で作成できるカスタム ロールの最大数については、「Microsoft Entra サービスの制限と制限を参照してください。
前提 条件
- Microsoft Entra ID P1 または P2 ライセンス
- 特権ロール管理者
-
PowerShell を使用する場合の Microsoft Graph PowerShell モジュール
- Microsoft Graph API の Graph エクスプローラーを使用する場合の管理者の同意
詳細については、「powerShell または Graph Explorer を使用するための前提条件」を参照してください。
カスタム ロールを作成する
これらの手順では、Microsoft Entra 管理センターでカスタム ロールを作成してアプリの登録を管理する方法について説明します。
Microsoft Entra 管理センターに特権ロール管理者以上としてサインインします。
Entra ID>役割と管理者に移動します。
新しいカスタム ロールを選択します。
[基本] タブで、ロールの名前と説明を入力します。
カスタム ロールからベースラインのアクセス許可を複製することはできますが、組み込みのロールを複製することはできません。
[アクセス許可] タブで、アプリ登録の基本プロパティと資格情報プロパティを管理するために必要なアクセス許可を選択します。 各アクセス許可の詳細については、Microsoft Entra ID の「アプリケーション登録サブタイプとアクセス許可」を参照してください。
まず、検索バーに「資格情報」と入力し、microsoft.directory/applications/credentials/update
アクセス許可を選択します。
次に、検索バーに「基本」と入力し、microsoft.directory/applications/basic/update
権限を選択して、[次へ ] をクリックします。
[確認と作成] タブでアクセス許可を確認し、[作成] を選択します。
カスタム ロールが、割り当て可能なロールの一覧に表示されます。
サインイン
Connect-MgGraph コマンドを使用して、テナントにサインインします。
Connect-MgGraph -Scopes "RoleManagement.ReadWrite.Directory"
カスタム ロールを作成する
次の PowerShell スクリプトを使用して新しいロールを作成します。
# Basic role information
$displayName = "Application Support Administrator"
$description = "Can manage basic aspects of application registrations."
$templateId = (New-Guid).Guid
# Set of permissions to grant
$rolePermissions = @{
"allowedResourceActions" = @(
"microsoft.directory/applications/basic/update",
"microsoft.directory/applications/credentials/update"
)
}
# Create new custom admin role
$customAdmin = New-MgRoleManagementDirectoryRoleDefinition -RolePermissions $rolePermissions `
-DisplayName $displayName -Description $description -TemplateId $templateId -IsEnabled:$true
カスタム ロールを更新する
# Update role definition
# This works for any writable property on role definition. You can replace display name with other
# valid properties.
Update-MgRoleManagementDirectoryRoleDefinition -UnifiedRoleDefinitionId c4e39bd9-1100-46d3-8c65-fb160da0071f `
-DisplayName "Updated DisplayName"
カスタム ロールを削除する
# Delete role definition
Remove-MgRoleManagementDirectoryRoleDefinition -UnifiedRoleDefinitionId c4e39bd9-1100-46d3-8c65-fb160da0071f
カスタム ロールを作成する
次の手順に従います。
Create unifiedRoleDefinition API を使用して、カスタム ロールを作成します。
POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleDefinitions
本文
{
"description": "Can manage basic aspects of application registrations.",
"displayName": "Application Support Administrator",
"isEnabled": true,
"templateId": "<GUID>",
"rolePermissions": [
{
"allowedResourceActions": [
"microsoft.directory/applications/basic/update",
"microsoft.directory/applications/credentials/update"
]
}
]
}
手記
"templateId": "GUID"
は、要件に応じて本文で送信される省略可能なパラメーターです。 共通パラメーターを使用して複数の異なるカスタム ロールを作成する必要がある場合は、テンプレートを作成し、templateId
値を定義することをお勧めします。 PowerShell コマンドレット templateId
を使用して、(New-Guid).Guid
値を事前に生成できます。
create unifiedRoleAssignment API を使用して、カスタム ロールを割り当てます。
POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments
本文
{
"principalId":"<GUID OF USER>",
"roleDefinitionId":"<GUID OF ROLE DEFINITION>",
"directoryScopeId":"/<GUID OF APPLICATION REGISTRATION>"
}
関連コンテンツ