Privileged Identity Management の API
Microsoft Entra の一部である Privileged Identity Management (PIM) には、3 つのプロバイダーが含まれます。
- Microsoft Entra ロール用の PIM
- Azure リソース向けの PIM
- グループの PIM
Microsoft Entra ロール用 PIM とグループ用 PIM での割り当ては、Microsoft Graph を使って管理できます。 Azure リソース用 PIM での割り当ては、Azure Resource Manager API を使って管理できます。 この記事では、Privileged Identity Management の API を使用するための重要な概念について説明します。
割り当てを管理できる API について詳しくは、次のドキュメントご覧ください。
- Microsoft Entra ロール用 PIM の API リファレンス
- Azure リソース ロール用の PIM の API レファレンス
- グループ用 PIM の API リファレンス
- Microsoft Entra ロール用の PIM アラートの API リファレンス
- Azure リソース用 PIM アラートの API リファレンス
PIM API の歴史
PIM API は、過去数年に渡って何度か見直しが行われてきました。 機能に重複している部分はいくつかありますが、直線的にバージョンが上がっているわけではありません。
見直し 1 – 非推奨
Microsoft の /beta/privilegedRoles
エンドポイントには、Microsoft Entra のみがサポートされていたが現在ではサポートされなくなった、従来のバージョンの PIM API が配置されていました。 この API へのアクセスは、2021 年 6 月に非推奨となりました。
見直し 2 – Microsoft Entra ロールと Azure リソース ロールのサポート
Microsoft では、/beta/privilegedAccess
エンドポイントの /aadRoles
と /azureResources
の両方がサポートされていました。 このエンドポイントはテナントで引き続き使用できますが、Microsoft では、この API を使用して新しい開発を開始することは推奨していません。 この API は一般提供されることはなく、最終的には非推奨となります。
見直し 3 (現在) – Microsoft Graph API での Microsoft Entra ロール用 PIM とグループ用 PIM、および ARM API での Azure リソース用 PIM
これは、PIM API の最後の見直しです。 次の機能が含まれます。
- Microsoft Graph API での Microsoft Entra ロール用 PIM - 一般提供。
- ARM API での Azure リソース用 PIM - 一般提供。
- Microsoft Graph API のグループの PIM - 一般提供。
- Microsoft Graph API での Microsoft Entra ロール用 PIM アラート - プレビュー。
- ARM API での Azure リソース用 PIM アラート - プレビュー。
Microsoft Graph API での Microsoft Entra ロール用 PIM と ARM API での Azure リソース用 PIM には、次のような利点があります。
- Microsoft Entra ロールと Azure Resource ロールの両方における PIM API と通常のロールの割り当てとの一致。
- リソースのオンボード、リソースの取得、またはロール定義の取得を行うために他の PIM API を呼び出す必要性の削減。
- アプリ専用のアクセス許可のサポート。
- 承認やメール通知の構成などの新機能。
PIM API 見直し 3 の概要
PIM API はプロバイダーが異なっても (Microsoft Graph API と ARM API の両方) 同じ原則に従います。
割り当ての管理
割り当て (アクティブまたは適格) の作成、割り当て (アクティブまたは適格) の更新と延長、適格な割り当てのアクティブ化、適格な割り当ての非アクティブ化を行うには、リソース *AssignmentScheduleRequest と *EligibilityScheduleRequest を使います。
- Microsoft Entra の場合: unifiedRoleAssignmentScheduleRequest、unifiedRoleEligibilityScheduleRequest。
- Azure リソースの場合: ロール割り当てスケジュール要求、ロール適格性スケジュール要求。
- グループの場合: privilegedAccessGroupAssignmentScheduleRequest、privilegedAccessGroupEligibilityScheduleRequest。
*AssignmentScheduleRequest または *EligibilityScheduleRequest オブジェクトを作成すると、読み取り専用の *AssignmentSchedule、*EligibilitySchedule、*AssignmentScheduleInstance、*EligibilityScheduleInstance オブジェクトが作成される場合があります。
- *AssignmentSchedule と *EligibilitySchedule オブジェクトでは、現在の割り当てと、将来作成される割り当ての要求が示されます。
- *AssignmentScheduleInstance と *EligibilityScheduleInstance オブジェクトでは、現在の割り当てのみが示されます。
適格な割り当てがアクティブ化された (Create *AssignmentScheduleRequest が呼び出された) とき、*EligibilityScheduleInstance は存続し、そのアクティブ化された期間に対して新しい *AssignmentSchedule オブジェクトと *AssignmentScheduleInstance オブジェクトが作成されます。
割り当てとアクティブ化の API の詳細については、ロールの割り当てと適格性を管理するための PIM API に関する記事を参照してください。
PIM ポリシー (ロールの設定)
PIM ポリシーを管理するには、*roleManagementPolicy と *roleManagementPolicyAssignment エンティティを使います。
- Microsoft Entra ロール用 PIM とグループ用 PIM の場合: unifiedroleManagementPolicy、unifiedroleManagementPolicyAssignment
- Azure リソース用 PIM の場合: ロール管理ポリシー、ロール管理ポリシーの割り当て
*roleManagementPolicy リソースには、PIM ポリシーを構成するルール (承認要件、最大アクティブ化期間、通知設定など) が含まれます。
*roleManagementPolicyAssignment オブジェクトにより、ポリシーが特定のロールにアタッチされます。
ポリシー設定 API の詳細については、「ロール設定と PIM」を参照してください。
アクセス許可
Microsoft Entra ロール用の PIM
PIM for Microsoft Entra ロールに必要な Microsoft Graph のアクセス許可については、対応する REST API リファレンス ページを参照してください。
Azure リソース向けの PIM
Azure リソース ロールの PIM API は、Azure Resource Manager フレームワーク上で開発されています。 Azure Resource Management に同意する必要がありますが、Microsoft Graph のアクセス許可は必要ありません。 また、API を呼び出すユーザーまたはサービス プリンシパルに、管理予定のリソースに対する所有者またはユーザー アクセス管理者以上のロールが割り当てられていることを確認します。
グループの PIM
PIM for Groups に必要な Microsoft Graph のアクセス許可については、対応する REST API リファレンス ページを参照してください。
PIM エンティティとロールの割り当てエンティティ間の関係
Microsoft Entra ロールまたは Azure ロールの永続的な (アクティブな) 割り当てに対する PIM エンティティとロール割り当てエンティティの間の唯一のリンクは、*AssignmentScheduleInstance です。 2 つのエンティティ間には 1 対 1 のマッピングがあります。 そのマッピングは、roleAssignment と *AssignmentScheduleInstance の両方に次のものが含まれることを意味します。
- PIM の外部で行われた永続的な (アクティブな) 割り当て
- PIM 内で作成されたスケジュールでの永続的な (アクティブな) 割り当て
- アクティブ化された資格のある割り当て
PIM 固有のプロパティ (終了時刻など) は、*AssignmentScheduleInstance オブジェクトを通じてのみ使用できます。