New-MgPolicyPermissionGrantPolicy

Creates a permissionGrantPolicy. A permission grant policy is used to describe the conditions under which permissions can be granted (for example, during application consent). After creating the permission grant policy, you can add include condition sets to add matching rules, and add exclude condition sets to add exclusion rules.

Note

To view the beta release of this cmdlet, view New-MgBetaPolicyPermissionGrantPolicy

Syntax

New-MgPolicyPermissionGrantPolicy
   [-ResponseHeadersVariable <String>]
   [-AdditionalProperties <Hashtable>]
   [-DeletedDateTime <DateTime>]
   [-Description <String>]
   [-DisplayName <String>]
   [-Excludes <IMicrosoftGraphPermissionGrantConditionSet[]>]
   [-Id <String>]
   [-Includes <IMicrosoftGraphPermissionGrantConditionSet[]>]
   [-Headers <IDictionary>]
   [-ProgressAction <ActionPreference>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-MgPolicyPermissionGrantPolicy
   -BodyParameter <IMicrosoftGraphPermissionGrantPolicy>
   [-ResponseHeadersVariable <String>]
   [-Headers <IDictionary>]
   [-ProgressAction <ActionPreference>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

Creates a permissionGrantPolicy. A permission grant policy is used to describe the conditions under which permissions can be granted (for example, during application consent). After creating the permission grant policy, you can add include condition sets to add matching rules, and add exclude condition sets to add exclusion rules.

Permissions

Permission type Least privileged permissions Higher privileged permissions
Delegated (work or school account) Policy.ReadWrite.PermissionGrant Not available.
Delegated (personal Microsoft account) Not supported. Not supported.
Application Policy.ReadWrite.PermissionGrant Not available.

Examples

Example 1: Create a permission grant policy

Connect-MgGraph -Scopes "Policy.Read.PermissionGrant,Policy.ReadWrite.PermissionGrant"  
New-MgPolicyPermissionGrantPolicy -Id "testtenant-sampleapp-permissions" -Description "Permissions for sample app in test tenant" -DisplayName "Sample app permissions" | fl 

DeletedDateTime      :
Description          : Permissions for sample app in test tenant
DisplayName          : Sample app permissions
Excludes             :
Id                   : testtenant-sampleapp-permissions
Includes             :
AdditionalProperties : {[@odata.context, https://graph.microsoft.com/v1.0/$metadata#policies/permissionGrantPolicies/$entity]}

This command creates a new permission grant policy in Azure AD. Specific include and exclude configurations can be created using the New-MgPolicyPermissionGrantPolicyInclude and New-MgPolicyPermissionGrantPolicyExclude cmdlets.

Parameters

-AdditionalProperties

Additional Parameters

Type:Hashtable
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-BodyParameter

permissionGrantPolicy To construct, see NOTES section for BODYPARAMETER properties and create a hash table.

Type:IMicrosoftGraphPermissionGrantPolicy
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Confirm

Prompts you for confirmation before running the cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DeletedDateTime

Date and time when this object was deleted. Always null when the object hasn't been deleted.

Type:DateTime
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Description

Description for this policy. Required.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisplayName

Display name for this policy. Required.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Excludes

Condition sets which are excluded in this permission grant policy. Automatically expanded on GET. To construct, see NOTES section for EXCLUDES properties and create a hash table.

Type:IMicrosoftGraphPermissionGrantConditionSet[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Headers

Optional headers that will be added to the request.

Type:IDictionary
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Id

The unique identifier for an entity. Read-only.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Includes

Condition sets which are included in this permission grant policy. Automatically expanded on GET. To construct, see NOTES section for INCLUDES properties and create a hash table.

Type:IMicrosoftGraphPermissionGrantConditionSet[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ProgressAction

{{ Fill ProgressAction Description }}

Type:ActionPreference
Aliases:proga
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ResponseHeadersVariable

Optional Response Headers Variable.

Type:String
Aliases:RHV
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Inputs

Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPermissionGrantPolicy

System.Collections.IDictionary

Outputs

Microsoft.Graph.PowerShell.Models.IMicrosoftGraphPermissionGrantPolicy

Notes

COMPLEX PARAMETER PROPERTIES

To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.

BODYPARAMETER <IMicrosoftGraphPermissionGrantPolicy>: permissionGrantPolicy

  • [(Any) <Object>]: This indicates any property can be added to this object.
  • [Description <String>]: Description for this policy. Required.
  • [DisplayName <String>]: Display name for this policy. Required.
  • [DeletedDateTime <DateTime?>]: Date and time when this object was deleted. Always null when the object hasn't been deleted.
  • [Id <String>]: The unique identifier for an entity. Read-only.
  • [Excludes <IMicrosoftGraphPermissionGrantConditionSet- []>]: Condition sets which are excluded in this permission grant policy. Automatically expanded on GET.
    • [Id <String>]: The unique identifier for an entity. Read-only.
    • [ClientApplicationIds <String- []>]: A list of appId values for the client applications to match with, or a list with the single value all to match any client application. Default is the single value all.
    • [ClientApplicationPublisherIds <String- []>]: A list of Microsoft Partner Network (MPN) IDs for verified publishers of the client application, or a list with the single value all to match with client apps from any publisher. Default is the single value all.
    • [ClientApplicationTenantIds <String- []>]: A list of Microsoft Entra tenant IDs in which the client application is registered, or a list with the single value all to match with client apps registered in any tenant. Default is the single value all.
    • [ClientApplicationsFromVerifiedPublisherOnly <Boolean?>]: Set to true to only match on client applications with a verified publisher. Set to false to match on any client app, even if it doesn't have a verified publisher. Default is false.
    • [PermissionClassification <String>]: The permission classification for the permission being granted, or all to match with any permission classification (including permissions that aren't classified). Default is all.
    • [PermissionType <String>]: permissionType
    • [Permissions <String- []>]: The list of id values for the specific permissions to match with, or a list with the single value all to match with any permission. The id of delegated permissions can be found in the oauth2PermissionScopes property of the API's servicePrincipal object. The id of application permissions can be found in the appRoles property of the API's servicePrincipal object. The id of resource-specific application permissions can be found in the resourceSpecificApplicationPermissions property of the API's servicePrincipal object. Default is the single value all.
    • [ResourceApplication <String>]: The appId of the resource application (for example the API) for which a permission is being granted, or any to match with any resource application or API. Default is any.
  • [Includes <IMicrosoftGraphPermissionGrantConditionSet- []>]: Condition sets which are included in this permission grant policy. Automatically expanded on GET.

EXCLUDES <IMicrosoftGraphPermissionGrantConditionSet- []>: Condition sets which are excluded in this permission grant policy. Automatically expanded on GET.

  • [Id <String>]: The unique identifier for an entity. Read-only.
  • [ClientApplicationIds <String- []>]: A list of appId values for the client applications to match with, or a list with the single value all to match any client application. Default is the single value all.
  • [ClientApplicationPublisherIds <String- []>]: A list of Microsoft Partner Network (MPN) IDs for verified publishers of the client application, or a list with the single value all to match with client apps from any publisher. Default is the single value all.
  • [ClientApplicationTenantIds <String- []>]: A list of Microsoft Entra tenant IDs in which the client application is registered, or a list with the single value all to match with client apps registered in any tenant. Default is the single value all.
  • [ClientApplicationsFromVerifiedPublisherOnly <Boolean?>]: Set to true to only match on client applications with a verified publisher. Set to false to match on any client app, even if it doesn't have a verified publisher. Default is false.
  • [PermissionClassification <String>]: The permission classification for the permission being granted, or all to match with any permission classification (including permissions that aren't classified). Default is all.
  • [PermissionType <String>]: permissionType
  • [Permissions <String- []>]: The list of id values for the specific permissions to match with, or a list with the single value all to match with any permission. The id of delegated permissions can be found in the oauth2PermissionScopes property of the API's servicePrincipal object. The id of application permissions can be found in the appRoles property of the API's servicePrincipal object. The id of resource-specific application permissions can be found in the resourceSpecificApplicationPermissions property of the API's servicePrincipal object. Default is the single value all.
  • [ResourceApplication <String>]: The appId of the resource application (for example the API) for which a permission is being granted, or any to match with any resource application or API. Default is any.

INCLUDES <IMicrosoftGraphPermissionGrantConditionSet- []>: Condition sets which are included in this permission grant policy. Automatically expanded on GET.

  • [Id <String>]: The unique identifier for an entity. Read-only.
  • [ClientApplicationIds <String- []>]: A list of appId values for the client applications to match with, or a list with the single value all to match any client application. Default is the single value all.
  • [ClientApplicationPublisherIds <String- []>]: A list of Microsoft Partner Network (MPN) IDs for verified publishers of the client application, or a list with the single value all to match with client apps from any publisher. Default is the single value all.
  • [ClientApplicationTenantIds <String- []>]: A list of Microsoft Entra tenant IDs in which the client application is registered, or a list with the single value all to match with client apps registered in any tenant. Default is the single value all.
  • [ClientApplicationsFromVerifiedPublisherOnly <Boolean?>]: Set to true to only match on client applications with a verified publisher. Set to false to match on any client app, even if it doesn't have a verified publisher. Default is false.
  • [PermissionClassification <String>]: The permission classification for the permission being granted, or all to match with any permission classification (including permissions that aren't classified). Default is all.
  • [PermissionType <String>]: permissionType
  • [Permissions <String- []>]: The list of id values for the specific permissions to match with, or a list with the single value all to match with any permission. The id of delegated permissions can be found in the oauth2PermissionScopes property of the API's servicePrincipal object. The id of application permissions can be found in the appRoles property of the API's servicePrincipal object. The id of resource-specific application permissions can be found in the resourceSpecificApplicationPermissions property of the API's servicePrincipal object. Default is the single value all.
  • [ResourceApplication <String>]: The appId of the resource application (for example the API) for which a permission is being granted, or any to match with any resource application or API. Default is any.