エンタイトルメント管理でアクセス パッケージに対する職務の分離の確認を構成する
エンタイトルメント管理では、アクセス パッケージを使用して、アクセスする必要があるユーザー コミュニティごとに異なる設定を指定して複数のポリシーを構成できます。 たとえば、従業員は特定のアプリへのアクセスを取得するためにマネージャーの承認のみを必要とすると考えられますが、他の組織のクラウドから来るゲストには、スポンサーと、リソース チームの部門マネージャーの両方による承認が必要な場合があります。 ディレクトリに既に存在するユーザーのポリシーでは、アクセスを要求できる特定のユーザー グループを指定できます。 また、ユーザーが過剰なアクセスを取得しないようにするという要件もあり得ます。 この要件を満たすには、要求者が既に持っているアクセスに基づいて、アクセスを要求できるユーザーをさらに制限する必要があります。
アクセス パッケージで職務の分離の設定を行うことで、あるグループのメンバーであるユーザーや、既に 1 つのアクセス パッケージへの割り当てが行われているユーザーが、別のアクセス パッケージを要求できないように構成できます。
職務の分離を確認する場合のシナリオ
たとえば、マーケティング キャンペーンの実施中は、組織全体のユーザーと他の組織のユーザーが組織のマーケティング部門へのアクセスを要求して共同作業することができる、Marketing Campaign というアクセス パッケージがあるとします。 マーケティング部門の従業員は既にそのマーケティング キャンペーン資料へのアクセスを持っているはずなので、マーケティング部門の従業員が、そのアクセス パッケージへのアクセスを要求する必要はありません。 または、マーケティング部門の従業員全員が含まれる動的なメンバーシップ グループ Marketing department employees が、既に存在しているかもしれません。 アクセス パッケージが、その動的メンバーシップ グループと互換性がないことを示せます。 その後は、マーケティング部門の従業員は要求するアクセス パッケージを探していても、Marketing campaign アクセス パッケージへのアクセスを要求できません。
同様に、Western Sales と Eastern Sales という販売区域を示す 2 つのアプリ ロールを持つアプリケーションがあるとして、ユーザーが一度に 1 つの販売区域しか担当できないようにしたいということもあります。 2 つのアクセス パッケージを用意し、1 つのアクセス パッケージ Western Territory では Western Sales ロールを付与し、別のアクセス パッケージ Eastern Territory では Eastern Sales ロールを付与すると、以下の構成が可能です。
- Western Territory アクセス パッケージには Eastern Territory パッケージとは互換性がないと指定し、
- Eastern Territory アクセス パッケージには Western Territory パッケージとは互換性がないと指定します。
オンプレミス アプリへのアクセスを自動化するために、Microsoft Identity Manager や、その他のオンプレミス ID 管理システムを使用してきた場合は、それらのシステムをエンタイトルメント管理に統合することもできます。 エンタイトルメント管理を通じて Microsoft Entra に統合されたアプリへのアクセスを制御しており、ユーザーが互換性のないアクセス権を持たないようにしたい場合は、アクセス パッケージが一方のグループとの互換性を持たないように構成できます。 それを、オンプレミスの ID 管理システムから Microsoft Entra Connect 経由で Microsoft Entra ID に送信されるグループとすることができます。 このチェックにより、ユーザーがオンプレミス アプリで持っているものとの互換性がないアクセスを付与するアクセス パッケージについて、そのアクセス パッケージをユーザーが要求することを無効にできます。
前提条件
エンタイトルメント管理を使用し、ユーザーをアクセス パッケージに割り当てるには、次のいずれかのライセンスが必要です。
- Microsoft Entra ID P2 または Microsoft Entra ID Governance
- Enterprise Mobility + Security (EMS) E5 ライセンス
アクセス パッケージへのアクセスを要求する別のアクセス パッケージまたはグループ メンバーシップには互換性がないと構成する
ヒント
この記事の手順は、開始するポータルに応じて若干異なる場合があります。
以下の手順に従って、既存のアクセス パッケージとは互換性のないグループまたはその他のアクセス パッケージの一覧を変更します。
Microsoft Entra 管理センターに Identity Governance 管理者以上としてサインインします。
ヒント
このタスクを完了できる他の最小特権ロールには、カタログ所有者とアクセス パッケージ マネージャーがあります。
[Identity Governance]>[エンタイトルメント管理]>[アクセス パッケージ] の順に移動します。
[アクセス パッケージ] ページで、ユーザーが要求するアクセス パッケージを開きます。
左側のメニューで、[職務の分離] を選択します。
[互換性のないアクセス パッケージ] タブの一覧は、他のアクセス パッケージのものです。 ユーザーがその一覧にあるアクセス パッケージに既に割り当てられている場合、このアクセス パッケージの要求は許可されません。
既に別のアクセス パッケージの割り当てを持っているユーザーが、このアクセス パッケージを要求しないようにする場合は、[アクセス パッケージの追加] を選択し、そのユーザーに既に割り当てられているアクセス パッケージを選択します。 その後、そのアクセス パッケージは [互換性のないアクセス パッケージ] タブのアクセス パッケージの一覧に追加されます。
既存のグループ メンバーシップを持っているユーザーが、このアクセス パッケージを要求しないようにする場合は、[グループの追加] を選択し、そのユーザーが既に所属しているグループを選択します。 その後、そのグループは [互換性のないグループ] のタブのグループの一覧に追加されます。
それぞれの互換性のないアクセス パッケージの関係性は一方向です。そのため、このアクセス パッケージに割り当てられたユーザーがそのアクセス パッケージを要求できないようにするには、そのアクセス パッケージに変更して、このアクセス パッケージを互換性のないものとして追加します。 たとえば、Western Territory のアクセス パッケージを持つユーザーが、Eastern Territory のアクセス パッケージを要求できないようにして、Eastern Territory のアクセス パッケージを持つユーザーが、Western Territory のアクセス パッケージを要求できないようにするとします。 最初に Western Territory のアクセス パッケージで Eastern Territoryのアクセス パッケージを互換性のないものとして追加した場合は、次に Eastern Territory のアクセス パッケージに変更して、Western Territory のアクセス パッケージを互換性のないものとして追加します。
Graph を使用して互換性のないアクセス パッケージをプログラムで構成する
Microsoft Graph を使用して、アクセス パッケージと互換性のないグループおよびその他のアクセス パッケージを構成できます。 委任された EntitlementManagement.ReadWrite.All
アクセス許可を持つアプリケーション、または EntitlementManagement.ReadWrite.All
アプリケーションのアクセス許可を持つアプリケーションを有する適切なロールのユーザーは、API を呼び出して、アクセス パッケージとは互換性のないグループやアクセス パッケージを追加、削除、一覧表示することができます。
Microsoft PowerShell を使用して互換性のないアクセス パッケージを構成する
また、Identity Governance 用の Microsoft Graph PowerShell コマンドレット モジュール バージョン 1.16.0 以降からのコマンドレットを使用して、PowerShell のアクセス パッケージと互換性のないグループやその他のアクセス パッケージを構成することもできます。
次のスクリプトは、Graph の v1.0
プロファイルを使用して、別のアクセス パッケージを互換性のないものとして示すリレーションシップを作成する方法を示しています。
Connect-MgGraph -Scopes "EntitlementManagement.ReadWrite.All"
$apid = "00001111-aaaa-2222-bbbb-3333cccc4444"
$otherapid = "11112222-bbbb-3333-cccc-4444dddd5555"
$params = @{
"@odata.id" = "https://graph.microsoft.com/v1.0/identityGovernance/entitlementManagement/accessPackages/" + $otherapid
}
New-MgEntitlementManagementAccessPackageIncompatibleAccessPackageByRef -AccessPackageId $apid -BodyParameter $params
このアクセス パッケージとは互換性がないと構成されている他のアクセス パッケージを表示する
既存のアクセス パッケージとは互換性がないことが示されたその他のアクセス パッケージの一覧を表示するには、次の手順に従います。
Microsoft Entra 管理センターに Identity Governance 管理者以上としてサインインします。
ヒント
このタスクを完了できる他の最小特権ロールには、カタログ所有者とアクセス パッケージ マネージャーがあります。
[Identity Governance]>[エンタイトルメント管理]>[アクセス パッケージ] の順に移動します。
[アクセス パッケージ] ページで、アクセス パッケージを開きます。
左側のメニューで、[職務の分離] を選択します。
[互換性なし] を選択します。
別のアクセス パッケージに対して既に互換性のないアクセスを持っているユーザーを特定する (プレビュー)
ユーザーが既に割り当てられているアクセス パッケージで互換性のないアクセス設定を構成している場合は、その追加アクセス権を持つユーザーの一覧をダウンロードできます。 互換性のないアクセス パッケージにも割り当てられているユーザーは、アクセスを再要求できません。
以下の手順に従って、2 つのアクセス パッケージへの割り当てがあるユーザーの一覧を表示します。
Microsoft Entra 管理センターに Identity Governance 管理者以上としてサインインします。
ヒント
このタスクを完了できる他の最小特権ロールには、カタログ所有者とアクセス パッケージ マネージャーがあります。
[Identity Governance]>[エンタイトルメント管理]>[アクセス パッケージ] の順に移動します。
[アクセス パッケージ] ページで、別のアクセス パッケージを互換性なしとして構成したアクセス パッケージを開きます。
左側のメニューで、[職務の分離] を選択します。
テーブルで、2 つ目のアクセス パッケージの [追加アクセス] 列に 0 以外の値がある場合は、割り当てのあるユーザーが 1 人以上存在することを意味します。
その数を選択して、互換性のない割り当ての一覧を表示します。
必要に応じて、[ダウンロード] ボタンを選択して、割り当ての一覧を CSV ファイルとして保存できます。
別のアクセス パッケージに対して互換性のないアクセスを持つユーザーを特定する
既にユーザーが割り当てられているアクセス パッケージに対して、互換性のないアクセス設定を構成しようとしている場合、互換性のないアクセス パッケージやグループへの割り当ても持っているユーザーはすべて、アクセスを再要求できなくなります。
以下の手順に従って、2 つのアクセス パッケージへの割り当てがあるユーザーの一覧を表示します。
Microsoft Entra 管理センターに Identity Governance 管理者以上としてサインインします。
ヒント
このタスクを完了できる他の最小特権ロールには、カタログ所有者とアクセス パッケージ マネージャーがあります。
[Identity Governance]>[エンタイトルメント管理]>[アクセス パッケージ] の順に移動します。
互換性のない割り当てを構成しようとしているアクセス パッケージを開きます。
左側のメニューで、[割り当て] を選びます。
[状態] フィールドで、[Delivered] 状態が選択されていることを確認します。
[ダウンロード] ボタンを選択し、結果の CSV ファイルを、割り当ての一覧が含まれる最初のファイルとして保存します。
ナビゲーション バーで、[Identity Governance] を選択します。
左側のメニューで [アクセス パッケージ] を選択してから、互換性がないと指定しようとしているアクセス パッケージを開きます。
左側のメニューで、[割り当て] を選びます。
[状態] フィールドで、[Delivered] 状態が選択されていることを確認します。
[ダウンロード] ボタンを選択し、結果の CSV ファイルを、割り当ての一覧が含まれる 2 番目のファイルとして保存します。
Excel などのスプレッドシート プログラムを使用して、2 つのファイルを開きます。
両方のファイルの一覧に記載されているユーザーは、既にある互換性がない割り当てを持つことになります。
互換性のないアクセスを既に持っているユーザーをプログラムで識別する
Microsoft Graph を使用してアクセス パッケージへの割り当てを取得できます。割り当てのスコープは、別のアクセス パッケージにも割り当てられているユーザーのみに設定されています。 委任された EntitlementManagement.Read.All
または EntitlementManagement.ReadWrite.All
アクセス許可を持つアプリケーションを有する管理ロールのユーザーは、API を呼び出して追加アクセスを一覧表示することができます。
互換性のないアクセスを既に持っているユーザーを PowerShell を使用して識別する
Identity Governance 用の Microsoft Graph PowerShell コマンドレット モジュール バージョン 2.1.0 以降の Get-MgEntitlementManagementAssignment
コマンドレットを使用して、アクセス パッケージに対する割り当てを持っているユーザーについてのクエリを実行することもできます。
たとえば、ID が 00aa00aa-bb11-cc22-dd33-44ee44ee44ee
のアクセス パッケージと、ID が 11bb11bb-cc22-dd33-ee44-55ff55ff55ff
のアクセス パッケージの 2 つがある場合は、最初のアクセス パッケージへの割り当てがあるユーザーを取得してから、それらのユーザーを、2 つ目のアクセス パッケージへの割り当てがあるユーザーと比較することができます。 次のような PowerShell スクリプトを使用して、両方に出力された割り当てを持っているユーザーを報告することもできます。
$c = Connect-MgGraph -Scopes "EntitlementManagement.Read.All"
$ap_w_id = "00aa00aa-bb11-cc22-dd33-44ee44ee44ee"
$ap_e_id = "11bb11bb-cc22-dd33-ee44-55ff55ff55ff"
$apa_w_filter = "accessPackage/id eq '" + $ap_w_id + "' and state eq 'Delivered'"
$apa_e_filter = "accessPackage/id eq '" + $ap_e_id + "' and state eq 'Delivered'"
$apa_w = @(Get-MgEntitlementManagementAssignment -Filter $apa_w_filter -ExpandProperty target -All)
$apa_e = @(Get-MgEntitlementManagementAssignment -Filter $apa_e_filter -ExpandProperty target -All)
$htt = @{}; foreach ($e in $apa_e) { if ($null -ne $e.Target -and $null -ne $e.Target.Id) {$htt[$e.Target.Id] = $e} }
foreach ($w in $apa_w) { if ($null -ne $w.Target -and $null -ne $w.Target.Id -and $htt.ContainsKey($w.Target.Id)) { write-output $w.Target.Email } }
オーバーライド シナリオのために複数のアクセス パッケージを構成する
あるアクセス パッケージが、互換性がないものとして構成されている場合、その互換性のないアクセス パッケージへの割り当てを持っているユーザーは、そのアクセス パッケージを要求することができず、管理者は、互換性がなくなる新しい割り当てを行うことができません。
たとえば、運用環境アクセス パッケージで開発環境パッケージが "互換性がない" とマークされていて、あるユーザーが、その開発環境アクセス パッケージへの割り当てを持っている場合、運用環境アクセス パッケージのマネージャーは、そのユーザーのために運用環境への割り当てを作成することができません。 その割り当てを続行するには、まず、そのユーザーの開発環境アクセス パッケージへの既存の割り当てを削除する必要があります。
職務規則の分離をオーバーライドする必要がある例外的状況がある場合は、重複するアクセス権を持っているユーザーをキャプチャする追加のアクセス パッケージを構成すれば、承認者、レビュー担当者、監査者に対して、それらの割り当ての例外的な性質が明確に示されることになります。
たとえば、一部のユーザーが運用環境とデプロイ環境の両方に同時にアクセスする必要があるシナリオがあるとすれば、新しいアクセス パッケージとして運用と開発の環境を作成できます。 そのアクセス パッケージは、そのリソース ロールとして、運用環境アクセス パッケージのリソース ロールの一部と、開発環境アクセス パッケージのリソース ロールの一部を持つようにできます。
1 つのリソースのロールに問題があることが互換性のないアクセスの誘因となっている場合は、そのリソースを、他のものと一緒になっているアクセス パッケージから取り除き、そのリソースのロールへのユーザーの割り当てについては、管理者が明示的に行うよう求めることもできます。 それがサード パーティのアプリケーションや独自のアプリケーションである場合は、次のセクションで説明するアプリケーション ロールの割り当てアクティビティ ブックを使用してそれらのロールの割り当てを監視すれば、確実に監視を行えます。
ガバナンス プロセスによっては、そうした組み合わせアクセス パッケージのポリシーとして、次のいずれかが適用される場合があります。
- アクセス パッケージ マネージャーだけがアクセス パッケージを操作することになるようにする直接割り当てポリシー。
- ユーザーが要求できるようする、ユーザーがアクセスを要求できるポリシー (追加の承認ステージを設ける場合あり)
このようなポリシーについては、ライフサイクル設定として、他のアクセス パッケージのポリシーよりも有効期限の日数を短くしたり、ユーザーが必要以上に長くアクセスを保持しないように、定期的な監視によってより頻繁なアクセス レビューを求めたりする場合があります。
アクセスの割り当てを監視してレポートを表示する
Azure Monitor ブックを使用して、ユーザーがどのようにアクセスを取得してきたかに関する分析情報を得ることができます。
Azure Monitor に監査イベントを送信するように Microsoft Entra ID を構成します。
Access Package Activity という名前のブックには、特定のアクセス パッケージに関連する各イベントが表示されます。
あるアプリケーションについて、アクセス パッケージの割り当てが理由で作成されたのではないアプリケーション ロールの割り当に対して変更があったかどうかを確認するには、Application role assignment activity という名前のブックを選択します。 エンタイトルメント アクティビティを省略することを選択した場合は、エンタイトルメント管理によって作成されたのではないアプリケーション ロールに対する変更のみが表示されます。 たとえば、全体管理者がユーザーを特定のアプリケーション ロールに直接割り当てた場合は、行が表示されます。