EntitlementManagement.ReadWrite.All
Allows the app to read and write access packages and related entitlement management resources without a signed-in user.
Permission Details
Read and write all entitlement management resources
Allows the app to read and write access packages and related entitlement management resources without a signed-in user.
9acd699f-1e81-4958-b001-93b1d2506e19
Read and write entitlement management resources
Allows the app to request access to and management of access packages and related entitlement management resources on behalf of the signed-in user.
ae7a573d-81d7-432b-ad44-4ed5c9d89038
Properties
| Property | Type | Description |
|---|---|---|
id |
string |
The unique identifier for an entity. Read-only. |
accessPackageAssignmentApprovals |
microsoft.graph.approval collection |
|
accessPackageAssignmentResourceRoles |
microsoft.graph.accessPackageAssignmentResourceRole collection |
Represents the resource-specific role which a subject has been assigned through an access package assignment. |
accessPackageCatalogs |
microsoft.graph.accessPackageCatalog collection |
A container of access packages. |
accessPackageResourceRoleScopes |
microsoft.graph.accessPackageResourceRoleScope collection |
A reference to both a scope within a resource, and a role in that resource for that scope. |
accessPackageAssignmentRequests |
microsoft.graph.accessPackageAssignmentRequest collection |
Represents access package assignment requests created by or on behalf of a user. DO NOT USE. TO BE RETIRED SOON. Use the assignmentRequests relationship instead. |
accessPackageResources |
microsoft.graph.accessPackageResource collection |
A reference to a resource associated with an access package catalog. |
accessPackageResourceEnvironments |
microsoft.graph.accessPackageResourceEnvironment collection |
A reference to the geolocation environment in which a resource is located. |
accessPackages |
microsoft.graph.accessPackage collection |
Represents access package objects. |
accessPackageAssignmentPolicies |
microsoft.graph.accessPackageAssignmentPolicy collection |
Represents the policy that governs which subjects can request or be assigned an access package via an access package assignment. |
accessPackageSuggestions |
microsoft.graph.accessPackageSuggestion collection |
|
availableAccessPackages |
microsoft.graph.availableAccessPackage collection |
|
controlConfigurations |
microsoft.graph.controlConfiguration collection |
Represents the policies that control lifecycle and access to access packages across the organization. |
settings |
object |
Represents the settings that control the behavior of Microsoft Entra entitlement management. |
assignmentRequests |
microsoft.graph.accessPackageAssignmentRequest collection |
Represents access package assignment requests created by or on behalf of a user. |
Showing 15 of 19 properties. View all on Microsoft Learn →
JSON Representation
{
"id": "String",
"accessPackageAssignmentApprovals": "[...]",
"accessPackageAssignmentResourceRoles": "[...]",
"accessPackageCatalogs": "[...]",
"accessPackageResourceRoleScopes": "[...]",
"accessPackageAssignmentRequests": "[...]",
"accessPackageResources": "[...]",
"accessPackageResourceEnvironments": "[...]",
"accessPackages": "[...]",
"accessPackageAssignmentPolicies": "[...]",
"accessPackageSuggestions": "[...]",
"availableAccessPackages": "[...]",
"controlConfigurations": "[...]",
"settings": "{...}",
"assignmentRequests": "[...]",
"accessPackageResourceRequests": "[...]",
"accessPackageAssignments": "[...]",
"subjects": "[...]",
"connectedOrganizations": "[...]"
}
Relationships
| Relationship | Type | Description |
|---|---|---|
accessPackageAssignmentApprovals |
approval collection |
Approval stages for decisions associated with access package assignment requests. |
accessPackages |
accessPackage collection |
Access packages define the collection of resource roles and the policies for how one or more users can get access to those resources. |
assignmentPolicies |
accessPackageAssignmentPolicy collection |
Access package assignment policies govern which subjects may request or be assigned an access package via an access package assignment. |
assignmentRequests |
accessPackageAssignmentRequest collection |
Access package assignment requests created by or on behalf of a subject. |
assignments |
accessPackageAssignment collection |
The assignment of an access package to a subject for a period of time. |
catalogs |
accessPackageCatalog collection |
A container for access packages. |
connectedOrganizations |
connectedOrganization collection |
References to a directory or domain of another organization whose users can request access. |
resourceEnvironments |
accessPackageResourceEnvironment collection |
A reference to the geolocation environments in which a resource is located. |
resourceRequests |
accessPackageResourceRequest collection |
Represents a request to add or remove a resource to or from a catalog respectively. |
resourceRoleScopes |
accessPackageResourceRoleScope collection |
A reference to both a scope within a resource, and a role in that resource for that scope. |
resources |
accessPackageResource collection |
The resources associated with the catalogs. |
settings |
entitlementManagementSettings |
The settings that control the behavior of Azure AD entitlement management. |
subjects |
accessPackageSubject collection |
The subjects within entitlement management. |
Graph Methods
Code Examples
// Install: dotnet add package Microsoft.Graph
// Install: dotnet add package Azure.Identity
using Microsoft.Graph;
using Azure.Identity;
// Delegated permissions - interactive user sign-in
var scopes = new[] { "EntitlementManagement.ReadWrite.All" };
var options = new InteractiveBrowserCredentialOptions
{
ClientId = "YOUR_CLIENT_ID",
TenantId = "YOUR_TENANT_ID",
RedirectUri = new Uri("http://localhost")
};
var credential = new InteractiveBrowserCredential(options);
var graphClient = new GraphServiceClient(credential, scopes);
// Example: GET /me
var result = await graphClient.Me.GetAsync();
Console.WriteLine($"User: {result?.DisplayName}");
// Application permissions - daemon/service app
var tenantId = "YOUR_TENANT_ID";
var clientId = "YOUR_CLIENT_ID";
var clientSecret = "YOUR_CLIENT_SECRET";
var credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
var graphClient = new GraphServiceClient(credential);
// Example: GET /users/{user-id}
var users = await graphClient.Users.GetAsync();
foreach (var user in users?.Value ?? [])
{
Console.WriteLine($"User: {user.DisplayName}");
}
// npm install @azure/msal-browser @microsoft/microsoft-graph-client
import { PublicClientApplication } from "@azure/msal-browser";
import { Client } from "@microsoft/microsoft-graph-client";
import { AuthCodeMSALBrowserAuthenticationProvider } from
"@microsoft/microsoft-graph-client/authProviders/authCodeMsalBrowser";
const msalConfig = {
auth: {
clientId: "YOUR_CLIENT_ID",
authority: "https://login.microsoftonline.com/YOUR_TENANT_ID"
}
};
const pca = new PublicClientApplication(msalConfig);
await pca.initialize();
// Delegated: Login with required scope
const loginResponse = await pca.loginPopup({
scopes: ["EntitlementManagement.ReadWrite.All"]
});
const authProvider = new AuthCodeMSALBrowserAuthenticationProvider(pca, {
account: loginResponse.account,
scopes: ["EntitlementManagement.ReadWrite.All"],
interactionType: "popup"
});
const graphClient = Client.initWithMiddleware({ authProvider });
// Example: GET /me
const result = await graphClient.api("/me").get();
console.log(result);
// Application: Use client credentials (Node.js backend only)
// npm install @azure/identity @microsoft/microsoft-graph-client
import { ClientSecretCredential } from "@azure/identity";
import { TokenCredentialAuthenticationProvider } from
"@microsoft/microsoft-graph-client/authProviders/azureTokenCredentials";
const credential = new ClientSecretCredential(
"YOUR_TENANT_ID",
"YOUR_CLIENT_ID",
"YOUR_CLIENT_SECRET"
);
const authProvider = new TokenCredentialAuthenticationProvider(credential, {
scopes: ["https://graph.microsoft.com/.default"]
});
const graphClient = Client.initWithMiddleware({ authProvider });
const result = await graphClient.api("/users").get();
console.log(result);
# Install Microsoft Graph PowerShell module
Install-Module Microsoft.Graph -Scope CurrentUser
# Delegated access - interactive sign-in
Connect-MgGraph -Scopes "EntitlementManagement.ReadWrite.All"
# Verify connection
Get-MgContext | Select-Object Account, TenantId, Scopes
# Example: GET /me
$result = Invoke-MgGraphRequest -Method GET -Uri "https://graph.microsoft.com/v1.0/me"
$result | ConvertTo-Json -Depth 5
# Application access with certificate
$params = @{
ClientId = "YOUR_CLIENT_ID"
TenantId = "YOUR_TENANT_ID"
CertificateThumbprint = "YOUR_CERT_THUMBPRINT"
}
Connect-MgGraph @params
# Or with client secret (not recommended for production)
# Connect-MgGraph -ClientSecretCredential $credential
# Example: GET /users
$result = Invoke-MgGraphRequest -Method GET -Uri "https://graph.microsoft.com/v1.0/users"
$result | ConvertTo-Json -Depth 5
# Always disconnect when done
Disconnect-MgGraph
# pip install msgraph-sdk azure-identity
from azure.identity import InteractiveBrowserCredential, ClientSecretCredential
from msgraph import GraphServiceClient
import asyncio
# Delegated permissions - interactive browser sign-in
credential = InteractiveBrowserCredential(
client_id="YOUR_CLIENT_ID",
tenant_id="YOUR_TENANT_ID"
)
scopes = ["EntitlementManagement.ReadWrite.All"]
client = GraphServiceClient(credential, scopes)
async def get_data():
# Example: GET /me
result = await client.me.get()
print(f"User: {result.display_name}")
return result
asyncio.run(get_data())
# Application permissions - client credentials
credential = ClientSecretCredential(
tenant_id="YOUR_TENANT_ID",
client_id="YOUR_CLIENT_ID",
client_secret="YOUR_CLIENT_SECRET"
)
scopes = ["https://graph.microsoft.com/.default"]
client = GraphServiceClient(credential, scopes)
async def get_users():
# Example: GET /users
result = await client.users.get()
for user in result.value:
print(f"User: {user.display_name}")
return result
asyncio.run(get_users())
App Registration
Navigate to Azure Portal
Go to App registrations in Microsoft Entra admin center
Add API Permission
Select your app → API permissions → Add a permission → Microsoft Graph
Select Permission Type
Choose Application permissions or Delegated permissions and search for EntitlementManagement.ReadWrite.All
Grant Admin Consent
Application permissions always require admin consent. Click "Grant admin consent" in the Azure portal.