ESC
Type to search...

PrivilegedAccess.ReadWrite.AzureResources

Export JSON
Export CSV
Copy URL
Print
ApplicationDelegated Read/Write User Scope

Allows the app to request and manage time-based assignment and just-in-time elevation of Azure resources (like your subscriptions, resource groups, storage, compute) in your organization, without a signed-in user.

Delegated Access App-Only Access

Permission Details

Application Permission

Read and write privileged access to Azure resources

Allows the app to request and manage time-based assignment and just-in-time elevation of Azure resources (like your subscriptions, resource groups, storage, compute) in your organization, without a signed-in user.

Delegated Permission Admin consent required

Read and write privileged access to Azure resources

Allows the app to request and manage time-based assignment and just-in-time elevation of user privileges to manage Azure resources (like subscriptions, resource groups, storage, compute) on behalf of the signed-in users.

Properties

Property Type Description
id string The unique identifier for an entity. Read-only.
eligibilityScheduleInstances microsoft.graph.privilegedAccessGroupEligibilityScheduleInstance collection The instances of eligibility schedules to activate a just-in-time access.
assignmentSchedules microsoft.graph.privilegedAccessGroupAssignmentSchedule collection The assignment schedules to activate a just-in-time access.
assignmentScheduleInstances microsoft.graph.privilegedAccessGroupAssignmentScheduleInstance collection The instances of assignment schedules to activate a just-in-time access.
resources microsoft.graph.groupResource collection The privileged groups in PIM for Groups.
assignmentApprovals microsoft.graph.approval collection
eligibilityScheduleRequests microsoft.graph.privilegedAccessGroupEligibilityScheduleRequest collection The schedule requests for operations to create, update, delete, extend, and renew an eligibility.
eligibilitySchedules microsoft.graph.privilegedAccessGroupEligibilitySchedule collection The eligibility schedules to activate a just-in-time access.
assignmentScheduleRequests microsoft.graph.privilegedAccessGroupAssignmentScheduleRequest collection The schedule requests for operations to create, update, delete, extend, and renew an assignment.

JSON Representation

JSON representation
{
  "id": "String",
  "resources": "[...]",
  "roleAssignments": "[...]",
  "roleSettings": "[...]",
  "roleDefinitions": "[...]",
  "roleAssignmentRequests": "[...]",
  "displayName": "String"
}

Graph Methods

Delegated access App-only access

No API methods available for this version.

Methods
GET /privilegedAccess
GET /privilegedAccess/{privilegedAccess-id}
GET /privilegedAccess/{privilegedAccess-id}/resources
GET /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}
GET /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/parent
GET /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleAssignmentRequests
GET /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleAssignmentRequests/{governanceRoleAssignmentRequest-id}
GET /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleAssignmentRequests/{governanceRoleAssignmentRequest-id}/resource
GET /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleAssignmentRequests/{governanceRoleAssignmentRequest-id}/roleDefinition
GET /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleAssignmentRequests/{governanceRoleAssignmentRequest-id}/roleDefinition/resource
GET /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleAssignmentRequests/{governanceRoleAssignmentRequest-id}/roleDefinition/roleSetting
GET /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleAssignmentRequests/{governanceRoleAssignmentRequest-id}/subject
GET /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleAssignments
GET /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleAssignments/{governanceRoleAssignment-id}
GET /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleAssignments/{governanceRoleAssignment-id}/linkedEligibleRoleAssignment
GET /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleAssignments/{governanceRoleAssignment-id}/resource
GET /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleAssignments/{governanceRoleAssignment-id}/roleDefinition
GET /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleAssignments/{governanceRoleAssignment-id}/roleDefinition/resource
GET /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleAssignments/{governanceRoleAssignment-id}/roleDefinition/roleSetting
GET /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleAssignments/{governanceRoleAssignment-id}/subject
GET /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleDefinitions
GET /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleDefinitions/{governanceRoleDefinition-id}
GET /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleDefinitions/{governanceRoleDefinition-id}/resource
GET /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleDefinitions/{governanceRoleDefinition-id}/roleSetting
GET /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleSettings
GET /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleSettings/{governanceRoleSetting-id}
GET /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleSettings/{governanceRoleSetting-id}/resource
GET /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleSettings/{governanceRoleSetting-id}/roleDefinition
GET /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleSettings/{governanceRoleSetting-id}/roleDefinition/resource
GET /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleSettings/{governanceRoleSetting-id}/roleDefinition/roleSetting
GET /privilegedAccess/{privilegedAccess-id}/roleAssignmentRequests
GET /privilegedAccess/{privilegedAccess-id}/roleAssignmentRequests/{governanceRoleAssignmentRequest-id}
GET /privilegedAccess/{privilegedAccess-id}/roleAssignmentRequests/{governanceRoleAssignmentRequest-id}/resource
GET /privilegedAccess/{privilegedAccess-id}/roleAssignmentRequests/{governanceRoleAssignmentRequest-id}/roleDefinition
GET /privilegedAccess/{privilegedAccess-id}/roleAssignmentRequests/{governanceRoleAssignmentRequest-id}/roleDefinition/resource
GET /privilegedAccess/{privilegedAccess-id}/roleAssignmentRequests/{governanceRoleAssignmentRequest-id}/roleDefinition/roleSetting
GET /privilegedAccess/{privilegedAccess-id}/roleAssignmentRequests/{governanceRoleAssignmentRequest-id}/subject
GET /privilegedAccess/{privilegedAccess-id}/roleAssignments
GET /privilegedAccess/{privilegedAccess-id}/roleAssignments/{governanceRoleAssignment-id}
GET /privilegedAccess/{privilegedAccess-id}/roleAssignments/{governanceRoleAssignment-id}/linkedEligibleRoleAssignment
GET /privilegedAccess/{privilegedAccess-id}/roleAssignments/{governanceRoleAssignment-id}/resource
GET /privilegedAccess/{privilegedAccess-id}/roleAssignments/{governanceRoleAssignment-id}/roleDefinition
GET /privilegedAccess/{privilegedAccess-id}/roleAssignments/{governanceRoleAssignment-id}/roleDefinition/resource
GET /privilegedAccess/{privilegedAccess-id}/roleAssignments/{governanceRoleAssignment-id}/roleDefinition/roleSetting
GET /privilegedAccess/{privilegedAccess-id}/roleAssignments/{governanceRoleAssignment-id}/subject
GET /privilegedAccess/{privilegedAccess-id}/roleDefinitions
GET /privilegedAccess/{privilegedAccess-id}/roleDefinitions/{governanceRoleDefinition-id}
GET /privilegedAccess/{privilegedAccess-id}/roleDefinitions/{governanceRoleDefinition-id}/resource
GET /privilegedAccess/{privilegedAccess-id}/roleDefinitions/{governanceRoleDefinition-id}/roleSetting
GET /privilegedAccess/{privilegedAccess-id}/roleSettings
GET /privilegedAccess/{privilegedAccess-id}/roleSettings/{governanceRoleSetting-id}
GET /privilegedAccess/{privilegedAccess-id}/roleSettings/{governanceRoleSetting-id}/resource
GET /privilegedAccess/{privilegedAccess-id}/roleSettings/{governanceRoleSetting-id}/roleDefinition
GET /privilegedAccess/{privilegedAccess-id}/roleSettings/{governanceRoleSetting-id}/roleDefinition/resource
GET /privilegedAccess/{privilegedAccess-id}/roleSettings/{governanceRoleSetting-id}/roleDefinition/roleSetting
GET /privilegedAccess/azureResources/resources
GET /privilegedAccess/azureResources/resources/{id}
GET /privilegedAccess/azureResources/resources/{resourceId}/roleAssignmentRequests
GET /privilegedAccess/azureResources/resources/{resourceId}/roleAssignments
GET /privilegedAccess/azureResources/resources/{resourceId}/roleAssignments/{id}
GET /privilegedAccess/azureResources/resources/{resourceId}/roleDefinitions
GET /privilegedAccess/azureResources/resources/{resourceId}/roleDefinitions/{id}
GET /privilegedAccess/azureResources/resources/{resourceId}/roleSettings
GET /privilegedAccess/azureResources/roleAssignmentRequests?$filter=resourceId+eq+'{resourceId}'
GET /privilegedAccess/azureResources/roleAssignmentRequests/{id}
GET /privilegedAccess/azureResources/roleAssignments?$filter=resourceId+eq+'{resourceId}'
GET /privilegedAccess/azureResources/roleAssignments/{id}?$filter=resourceId+eq+'{resourceId}'
GET /privilegedAccess/azureResources/roleAssignments/export?$filter=resourceId+eq+'{resourceId}'
GET /privilegedAccess/azureResources/roleDefinitions?$filter=resourceId+eq+'{resourceId}'
GET /privilegedAccess/azureResources/roleDefinitions/{id}?$filter=resourceId+eq+'{resourceId}'
GET /privilegedAccess/azureResources/roleSettings?$filter=resourceId+eq+'<resourceId>'
GET /privilegedAccess/azureResources/roleSettings/{id}
POST /privilegedAccess
POST /privilegedAccess/{privilegedAccess-id}/resources
POST /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleAssignmentRequests
POST /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleAssignmentRequests/{governanceRoleAssignmentRequest-id}/cancel
POST /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleAssignmentRequests/{governanceRoleAssignmentRequest-id}/updateRequest
POST /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleAssignments
POST /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleDefinitions
POST /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleSettings
POST /privilegedAccess/{privilegedAccess-id}/resources/register
POST /privilegedAccess/{privilegedAccess-id}/roleAssignmentRequests
POST /privilegedAccess/{privilegedAccess-id}/roleAssignmentRequests/{governanceRoleAssignmentRequest-id}/cancel
POST /privilegedAccess/{privilegedAccess-id}/roleAssignmentRequests/{governanceRoleAssignmentRequest-id}/updateRequest
POST /privilegedAccess/{privilegedAccess-id}/roleAssignments
POST /privilegedAccess/{privilegedAccess-id}/roleDefinitions
POST /privilegedAccess/{privilegedAccess-id}/roleSettings
POST /privilegedAccess/azureResources/resources/register
POST /privilegedAccess/azureResources/roleAssignmentRequests
POST /privilegedAccess/azureResources/roleAssignmentRequests/{id}/cancel
POST /privilegedAccess/azureResources/roleAssignmentRequests/{id}/updateRequest
PATCH /privilegedAccess/{privilegedAccess-id}
PATCH /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}
PATCH /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleAssignmentRequests/{governanceRoleAssignmentRequest-id}
PATCH /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleAssignmentRequests/{governanceRoleAssignmentRequest-id}/roleDefinition
PATCH /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleAssignmentRequests/{governanceRoleAssignmentRequest-id}/subject
PATCH /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleAssignments/{governanceRoleAssignment-id}
PATCH /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleAssignments/{governanceRoleAssignment-id}/roleDefinition
PATCH /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleAssignments/{governanceRoleAssignment-id}/subject
PATCH /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleDefinitions/{governanceRoleDefinition-id}
PATCH /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleSettings/{governanceRoleSetting-id}
PATCH /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleSettings/{governanceRoleSetting-id}/roleDefinition
PATCH /privilegedAccess/{privilegedAccess-id}/roleAssignmentRequests/{governanceRoleAssignmentRequest-id}
PATCH /privilegedAccess/{privilegedAccess-id}/roleAssignmentRequests/{governanceRoleAssignmentRequest-id}/roleDefinition
PATCH /privilegedAccess/{privilegedAccess-id}/roleAssignmentRequests/{governanceRoleAssignmentRequest-id}/subject
PATCH /privilegedAccess/{privilegedAccess-id}/roleAssignments/{governanceRoleAssignment-id}
PATCH /privilegedAccess/{privilegedAccess-id}/roleAssignments/{governanceRoleAssignment-id}/roleDefinition
PATCH /privilegedAccess/{privilegedAccess-id}/roleAssignments/{governanceRoleAssignment-id}/subject
PATCH /privilegedAccess/{privilegedAccess-id}/roleDefinitions/{governanceRoleDefinition-id}
PATCH /privilegedAccess/{privilegedAccess-id}/roleSettings/{governanceRoleSetting-id}
PATCH /privilegedAccess/{privilegedAccess-id}/roleSettings/{governanceRoleSetting-id}/roleDefinition
PATCH /privilegedAccess/azureResources/roleSettings/{id}
DELETE /privilegedAccess/{privilegedAccess-id}
DELETE /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}
DELETE /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleAssignmentRequests/{governanceRoleAssignmentRequest-id}
DELETE /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleAssignmentRequests/{governanceRoleAssignmentRequest-id}/roleDefinition
DELETE /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleAssignmentRequests/{governanceRoleAssignmentRequest-id}/subject
DELETE /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleAssignments/{governanceRoleAssignment-id}
DELETE /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleAssignments/{governanceRoleAssignment-id}/roleDefinition
DELETE /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleAssignments/{governanceRoleAssignment-id}/subject
DELETE /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleDefinitions/{governanceRoleDefinition-id}
DELETE /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleSettings/{governanceRoleSetting-id}
DELETE /privilegedAccess/{privilegedAccess-id}/resources/{governanceResource-id}/roleSettings/{governanceRoleSetting-id}/roleDefinition
DELETE /privilegedAccess/{privilegedAccess-id}/roleAssignmentRequests/{governanceRoleAssignmentRequest-id}
DELETE /privilegedAccess/{privilegedAccess-id}/roleAssignmentRequests/{governanceRoleAssignmentRequest-id}/roleDefinition
DELETE /privilegedAccess/{privilegedAccess-id}/roleAssignmentRequests/{governanceRoleAssignmentRequest-id}/subject
DELETE /privilegedAccess/{privilegedAccess-id}/roleAssignments/{governanceRoleAssignment-id}
DELETE /privilegedAccess/{privilegedAccess-id}/roleAssignments/{governanceRoleAssignment-id}/roleDefinition
DELETE /privilegedAccess/{privilegedAccess-id}/roleAssignments/{governanceRoleAssignment-id}/subject
DELETE /privilegedAccess/{privilegedAccess-id}/roleDefinitions/{governanceRoleDefinition-id}
DELETE /privilegedAccess/{privilegedAccess-id}/roleSettings/{governanceRoleSetting-id}
DELETE /privilegedAccess/{privilegedAccess-id}/roleSettings/{governanceRoleSetting-id}/roleDefinition

No PowerShell cmdlets available for this version.

Code Examples

C# / .NET SDK
// 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[] { "PrivilegedAccess.ReadWrite.AzureResources" };
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}");
}
JavaScript / TypeScript
// 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: ["PrivilegedAccess.ReadWrite.AzureResources"]
});

const authProvider = new AuthCodeMSALBrowserAuthenticationProvider(pca, {
    account: loginResponse.account,
    scopes: ["PrivilegedAccess.ReadWrite.AzureResources"],
    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);
PowerShell
# Install Microsoft Graph PowerShell module
Install-Module Microsoft.Graph -Scope CurrentUser

# Delegated access - interactive sign-in
Connect-MgGraph -Scopes "PrivilegedAccess.ReadWrite.AzureResources"

# 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
Python
# 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 = ["PrivilegedAccess.ReadWrite.AzureResources"]
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

1

Navigate to Azure Portal

Go to App registrations in Microsoft Entra admin center

2

Add API Permission

Select your app → API permissions → Add a permission → Microsoft Graph

3

Select Permission Type

Choose Application permissions or Delegated permissions and search for PrivilegedAccess.ReadWrite.AzureResources

4

Grant Admin Consent

Application permissions always require admin consent. Click "Grant admin consent" in the Azure portal.