Microsoft Entra ロールを割り当てる (プレビュー)
エンタイトルメント管理では、アプリケーション、SharePoint サイト、グループ、Teams など、さまざまなリソースの種類のアクセス ライフサイクルがサポートされます。 特定の方法でこれらのリソースを利用するために、ユーザーは追加のアクセス許可を必要とする場合があります。 たとえば、ユーザーは組織の Power BI ダッシュボードにアクセスできる必要がある場合がありますが、組織全体のメトリックを表示するには Power BI 管理者ロールが必要です。 ロール割り当て可能なグループなど、他の Microsoft Entra ID 機能では、これらの Microsoft Entra ロールの割り当てがサポートされている場合がありますが、これらの方法で付与されるアクセス権はあまり明示的ではありません。 たとえば、ユーザーのロール割り当てを直接管理するのではなく、グループのメンバーシップを管理します。
エンタイトルメント管理を使用して、Microsoft Entra ロールを従業員やゲストに割り当てることで、ユーザーのエンタイトルメントを確認して、どのロールがそのユーザーに割り当てられているかをすぐに判断できます。 Microsoft Entra ロールをアクセス パッケージのリソースとして含める場合、そのロールの割り当てが "有資格" か"アクティブ" かを指定することもできます。
アクセス パッケージを使用して Microsoft Entra ロールを割り当てることは、大規模なロールの割り当てを効率的に管理し、ロール割り当てライフサイクルを改善するのに役立ちます。
アクセス パッケージを使用した Microsoft Entra ロールの割り当てのシナリオ
組織が最近、サポート チームに 50 人の新入社員を雇用し、あなたは、これらの新入社員に必要なリソースへのアクセス権を付与する必要があるとします。 これらの従業員は、サポート グループと特定のサポート関連アプリケーションにアクセスする必要があります。 また、仕事をするには、"ヘルプデスク管理者" ロールを含む、3 つの Microsoft Entra ロールが必要です。 50 人の各従業員をすべてのリソースとロールに個別に割り当てる代わりに、SharePoint サイト、グループ、および特定の Microsoft Entra ロールを含むアクセス パッケージを設定できます。 その後、マネージャーを承認者にするようにアクセス パッケージを構成し、リンクをサポート チームと共有できます。
これで、サポート チームに参加する新しいメンバーは、[マイ アクセス] でこのアクセス パッケージへのアクセスを要求し、マネージャーが要求を承認するとすぐに必要なすべてにアクセスできるようになります。 サポート チームはグローバルに拡大し、最大 1,000 人の新入社員を雇用することを計画していますが、それぞれをアクセス パッケージに手動で割り当てる必要がなくなったため、これにより時間とエネルギーを節約できます。
PIM アクセスに関する注意事項:
注意
Privileged Identity Management を使用して、高度なアクセス許可が必要なタスクを実行するための Just-In-Time アクセスをユーザーに提供することをお勧めします。 これらのアクセス許可は、「Microsoft Entra の組み込みロール」ドキュメントに "特権" としてタグ付けされた Microsoft Entra ロールを通じて提供されます。 エンタイトルメント管理は、ジョブの実行に必要な、Microsoft Entra ロールを含めることができるリソースのバンドルをユーザーに割り当てる場合に適しています。 アクセス パッケージに割り当てられているユーザーは、より長期間リソースにアクセスできる傾向があります。 Privileged Identity Management を通じて高特権ロールを管理することをお勧めしますが、エンタイトルメント管理のアクセス パッケージ経由でこれらのロールの資格を設定できます。
前提条件
この機能を使用するには、Microsoft Entra ID ガバナンス または Microsoft Entra スイートのライセンスが必要です。 要件に適したライセンスを見つけるには、「Microsoft Entra ID ガバナンス ライセンスの基礎」をご覧ください。
アクセス パッケージのリソースとして Microsoft Entra ロールを追加する
以下の手順に従って、既存のアクセス パッケージとは互換性のないグループまたはその他のアクセス パッケージの一覧を変更します。
Microsoft Entra 管理センターにグローバル管理者としてサインインします。
[ID ガバナンス]>[エンタイトルメント管理]>[アクセス パッケージ] の順に移動します。
[アクセス パッケージ] ページで、リソース ロールを追加するアクセス パッケージを開き、[リソース ロール] を選択します。
[リソース ロールをアクセス パッケージに追加する] ページで、[Microsoft Entra ロール (プレビュー)] を選択して、[Microsoft Entra ロールの選択] ウィンドウを開きます。
アクセス パッケージに含める Microsoft Entra ロールを選択します。
[ロール] 一覧で、[有資格メンバー] または [アクティブ メンバー] を選択します。
[追加] を選択します。
注意
[有資格] を選択した場合、ユーザーにそのロールの資格が付与され、Microsoft Entra 管理センターの Privileged Identity Management を使用して割り当てをアクティブにすることができます。 [アクティブ] を選択した場合、ユーザーはアクセス パッケージにアクセスできなくなるまで、アクティブなロール割り当てがあります。 "特権" とタグ付けされている Entra ロールの場合は、[有資格] のみを選択できます。 特権ロールの一覧は、「Microsoft Entra の組み込みロール」で見つけることができます。
プログラムでアクセス パッケージのリソースとして Microsoft Entra ロールを追加する
Microsoft Entra ロールをプログラムで追加するには、次のコードを使用します。
"role": {
"originId": "Eligible",
"displayName": "Eligible Member",
"originSystem": "DirectoryRole",
"resource": {
"id": "ea036095-57a6-4c90-a640-013edf151eb1"
}
},
"scope": {
"description": "Root Scope",
"displayName": "Root",
"isRootScope": true,
"originSystem": "DirectoryRole",
"originId": "c4e39bd9-1100-46d3-8c65-fb160da0071f"
}
}
Graph を使用してアクセス パッケージのリソースとして Microsoft Entra ロールを追加する
Microsoft Graph を使用して、アクセス パッケージのリソースとして Microsoft Entra ロールを追加できます。 委任された EntitlementManagement.ReadWrite.All permission
を持つアプリケーション、または EntitlementManagement.ReadWrite.All
アプリケーションのアクセス許可を持つアプリケーションを有する適切なロールのユーザーは、API を呼び出して、Microsoft Entra ロールを含むアクセス パッケージを作成し、そのアクセス パッケージにユーザーを割り当てることができます。
PowerShell を使用してアクセス パッケージのリソースとして Microsoft Entra ロールを追加する
PowerShell で ID ガバナンス用の Microsoft Graph PowerShell コマンドレット モジュール バージョン 1.16.0 以降のコマンドレットを使って、アクセス パッケージのリソースとして Microsoft Entra ロールを追加することもできます。
次のスクリプトは、アクセス パッケージ内のリソースとして Microsoft Entra ロールを追加する方法を示しています:
まず、アクセス パッケージに含めるカタログの ID、そのカタログ内のリソース、およびそのスコープとロールの ID を取得します。 次の例のようなスクリプトを使用します。 これは、カタログに Microsoft Entra ロール リソースがあることを前提としています。
Connect-MgGraph -Scopes "EntitlementManagement.ReadWrite.All"
$catalog = Get-MgEntitlementManagementCatalog -Filter "displayName eq 'Entra Admins'" -All
if ($catalog -eq $null) { throw "catalog not found" }
$rsc = Get-MgEntitlementManagementCatalogResource -AccessPackageCatalogId $catalog.id -Filter "originSystem eq 'DirectoryRole'" -ExpandProperty scopes
if ($rsc -eq $null) { throw "resource not found" }
$filt = "(id eq '" + $rsc.Id + "')"
$rrs = Get-MgEntitlementManagementCatalogResource -AccessPackageCatalogId $catalog.id -Filter $filt -ExpandProperty roles,scopes
次に、そのリソースからアクセス パッケージに Microsoft Entra ロールを割り当てます。 たとえば、先ほど返されたリソースの 1 番目のリソース ロールをアクセス パッケージのリソース ロールとして含める場合は、次のようなスクリプトを使います。
$apid = "00001111-aaaa-2222-bbbb-3333cccc4444"
$rparams = @{
role = @{
id = $rrs.Roles[0].Id
displayName = $rrs.Roles[0].DisplayName
description = $rrs.Roles[0].Description
originSystem = $rrs.Roles[0].OriginSystem
originId = $rrs.Roles[0].OriginId
resource = @{
id = $rrs.Id
originId = $rrs.OriginId
originSystem = $rrs.OriginSystem
}
}
scope = @{
id = $rsc.Scopes[0].Id
originId = $rsc.Scopes[0].OriginId
originSystem = $rsc.Scopes[0].OriginSystem
}
}
New-MgEntitlementManagementAccessPackageResourceRoleScope -AccessPackageId $apid -BodyParameter $rparams