Skip to content

Commit 3a6cc6c

Browse files
Merge pull request #12754 from MicrosoftDocs/main
Auto Publish – main to live - 2026-04-22 22:05 UTC
2 parents 41233d8 + e8bd360 commit 3a6cc6c

8 files changed

Lines changed: 418 additions & 238 deletions

docs/id-governance/entitlement-management-access-package-create-app.md

Lines changed: 39 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: You can use Microsoft Entra entitlement management to enforce the p
44
author: markwahl-msft
55
editor: markwahl-msft
66
ms.topic: how-to
7-
ms.date: 08/25/2024
7+
ms.date: 04/22/2026
88
ms.author: mwahl
99
ms.reviewer: mwahl
1010
ms.custom: sfi-ga-nochange
@@ -48,9 +48,7 @@ To create the access package and its associated policies and assignments, you'll
4848

4949
This section shows how to interact with Microsoft Entra ID Governance by using [Microsoft Graph PowerShell](https://www.powershellgallery.com/packages/Microsoft.Graph) cmdlets.
5050

51-
The first time your organization uses these cmdlets for this scenario, you need to be in a Global Administrator role to allow Microsoft Graph PowerShell to be used in your tenant. Subsequent interactions can use a lower-privileged role, such as:
52-
53-
- [Identity Governance Administrator](~/identity/role-based-access-control/permissions-reference.md#identity-governance-administrator).
51+
The first time your organization uses these cmdlets for this scenario, you need to be in a Global Administrator role to allow Microsoft Graph PowerShell to be used in your tenant. Subsequent interactions can use a lower-privileged role, such as [Identity Governance Administrator](~/identity/role-based-access-control/permissions-reference.md#identity-governance-administrator).
5452

5553
1. Open PowerShell.
5654
1. If you don't have the [Microsoft Graph PowerShell modules](https://www.powershellgallery.com/packages/Microsoft.Graph) already installed, install the `Microsoft.Graph.Identity.Governance` module and others by using this command:
@@ -320,7 +318,7 @@ If the application relies upon a group, then you link the group membership of th
320318

321319
In this section you'll create the first access package assignment policy in the access package, an [access package assignment policy for direct assignment](entitlement-management-access-package-request-policy.md#none-administrator-direct-assignments-only), that can be used to track the users who already have access to the application. In the example policy created in this section, only the administrators or access package assignment managers can assign access, users retain access indefinitely, and there are no approvals or access reviews.
322320

323-
1. Create a policy.
321+
- Create a policy.
324322

325323
```powershell
326324
$policy1Name = "Direct assignment policy"
@@ -403,8 +401,43 @@ For each access package that is to be marked as incompatible with another, you c
403401
1. If your scenario requires the ability to override a separation of duties check, then you can also [set up additional access packages for those override scenarios](entitlement-management-access-package-incompatible.md#configuring-multiple-access-packages-for-override-scenarios).
404402

405403
## Add assignments of existing users who already have access to the application
404+
**Option 1**
405+
406+
When you use the Microsoft Entra provisioning service to [discover](~/identity/app-provisioning/how-to-account-discovery.md) users in your application, you can easily assign those users to an access package. [Download](https://aka.ms/AssignCorrelatedUsersPowerShell) the Assign-CorrelatedUsersWithRules.ps1 file. See the example approaches for adding assignments.
407+
408+
1. Assign all discovered users to a specific access package (dry run):
409+
410+
```powershell
411+
.\Assign-CorrelatedUsersWithRules.ps1 -ServicePrincipalId "7A22..." ` -RulesFile ".\access-package-rules.csv" -DryRun
412+
```
413+
414+
1. Assign all discovered users to a specific access package:
415+
416+
```powershell
417+
.\Assign-CorrelatedUsersWithRules.ps1 -ServicePrincipalId "7A22..." `-AccessPackageId "6e809820-1f6a-4ff8-adc9-991f9f3151bd" `-PolicyId "8de7482f-ff17-4310-a8f5-3f35bcf02cca"
418+
```
419+
420+
1. Assign users to packages based on rules that you define (example rules file):
421+
422+
```powershell
423+
.\Assign-CorrelatedUsers.ps1 -ServicePrincipalId "7A22..." `-RulesFile ".\access-package-rules.csv"
424+
```
425+
426+
1. Assign users to access packages with a fallback package for users that don't meet any of the defined rules:
427+
428+
```powershell
429+
.\Assign-CorrelatedUsers.ps1 -ServicePrincipalId "7A22..." `-RulesFile ".\access-package-rules.csv" `-AccessPackageId "fallback-pkg-id" -PolicyId "fallback-policy-id" `-FallbackBehavior UseFallback
430+
```
431+
432+
1. Assign users to access packages and skip app role assignments:
433+
434+
```powershell
435+
.\Assign-CorrelatedUsers.ps1 -ServicePrincipalId "7A22..." `-RulesFile ".\access-package-rules.csv" -SkipAppRoleAssignment
436+
```
437+
438+
**Option 2**
406439

407-
Add assignments of existing users, who already have access to the application, to the access package and its direct assignment policy. You can [directly assign each user](entitlement-management-access-package-assignments.md#assign-a-user-to-an-access-package-with-powershell) to an access package.
440+
Add assignments of existing users, who are already assigned to the Entra Enterprise application, to the access package and its direct assignment policy. You can [directly assign each user](entitlement-management-access-package-assignments.md#assign-a-user-to-an-access-package-with-powershell) to an access package.
408441

409442
1. Retrieve the existing application role assignments.
410443

0 commit comments

Comments
 (0)