エンタイトルメント管理では、アプリケーション、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 Governance または Microsoft Entra スイートのライセンスが必要です。 要件に適したライセンスを見つけるには、 Microsoft Entra ID ガバナンス のライセンスの基礎を参照してください。
注
Microsoft Entra ロールをカタログに追加するには、グローバル管理者またはカタログ所有者アクセス許可を持つ特権ロール管理者である必要があります。 Microsoft Entra ロールがカタログに追加されると、Id ガバナンス管理者とアクセス パッケージ マネージャーは、その Microsoft Entra ロールを含むアクセス パッケージを作成できます。また、アクセス パッケージを管理するアクセス許可を持つ他のユーザーは、その Microsoft Entra ロールにユーザーを割り当てることができます。 同様に、EntitlementManagement.RW.All アクセス許可を持つアプリケーションは、必要なエンタイトルメント管理アクセス許可を持つグローバル管理者または特権ロール管理者ロールも持っていない限り、Microsoft Entra ロールをカタログに追加できません。
アクセス パッケージのリソースとして Microsoft Entra ロールを追加する
以下の手順に従って、既存のアクセス パッケージとは互換性のないグループまたはその他のアクセス パッケージの一覧を変更します。
カタログ所有者のアクセス許可を持つグローバル管理者または特権ロール管理者として Microsoft Entra 管理センターにサインインします。
ID ガバナンス>権利管理>アクセスパッケージを参照します。
[アクセス パッケージ] ページで、リソース ロールを追加するアクセス パッケージを開き、[ リソース ロール] を選択します。
[ パッケージにアクセスするためのリソース ロールの追加] ページ で、Microsoft Entra ロール (プレビュー) を選択して [Microsoft Entra ロールの選択] ウィンドウを開きます。
アクセス パッケージに含める Microsoft Entra ロールを選択します。
[ ロール ] ボックスの一覧で、[ 資格のあるメンバー ] または [ アクティブ なメンバー] を選択します。
追加 を選択します。
注
[有資格] を選択すると、ユーザーはそのロールの対象となり、Microsoft Entra 管理センターで Privileged Identity Management を使用して割り当てをアクティブ化できます。 [アクティブ] を選択した場合、ユーザーはアクセス パッケージにアクセスできなくなるまでアクティブなロールの割り当てを受け取ります。 "特権" としてタグ付けされている Microsoft 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 ロールを追加できます。 グローバル管理者または特権リソース管理者とカタログ所有者のアクセス許可を持つ適切なロールのユーザー、またはそれらのアクセス許可を持つアプリケーションは、API を呼び出して、Microsoft Entra ロールを含むアクセス パッケージを作成し、そのアクセス パッケージにユーザーを割り当てることができます。 委任された EntitlementManagement.ReadWrite.All permission
では、これらの操作を実行するには不十分です。
PowerShell を使用してアクセス パッケージのリソースとして Microsoft Entra ロールを追加する
また、Microsoft Graph PowerShell の Identity Governance モジュール バージョン 1.16.0 以降のコマンドレット を使用して、PowerShell のアクセス パッケージにリソースとして 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