List conditionalAccessTemplates
Namespace: microsoft.graph
Important
APIs under the /beta
version in Microsoft Graph are subject to change. Use of these APIs in production applications is not supported. To determine whether an API is available in v1.0, use the Version selector.
Get a list of the conditionalAccessTemplate objects and their properties.
This API is available in the following national cloud deployments.
Global service | US Government L4 | US Government L5 (DOD) | China operated by 21Vianet |
---|---|---|---|
✅ | ✅ | ✅ | ✅ |
Permissions
Choose the permission or permissions marked as least privileged for this API. Use a higher privileged permission or permissions only if your app requires it. For details about delegated and application permissions, see Permission types. To learn more about these permissions, see the permissions reference.
Permission type | Least privileged permissions | Higher privileged permissions |
---|---|---|
Delegated (work or school account) | Policy.Read.All | Not available. |
Delegated (personal Microsoft account) | Not supported. | Not supported. |
Application | Policy.Read.All | Not available. |
Important
In delegated scenarios with work or school accounts where the signed-in user is acting on another user, they must be assigned a supported Microsoft Entra role or a custom role with a supported role permission. The following least privileged roles are supported for this operation.
- Global Secure Access Administrator - read standard properties
- Security Reader - read standard properties
- Security Administrator - read standard properties
- Global Reader
- Conditional Access Administrator
HTTP request
GET /identity/conditionalAccess/templates
Optional query parameters
This method supports the $filter
and $select
OData query parameters to help customize the response. For general information, see OData query parameters.
Request headers
Name | Description |
---|---|
Authorization | Bearer {token}. Required. Learn more about authentication and authorization. |
Accept-Language | Language. Optional. |
Request body
Don't supply a request body for this method.
Response
If successful, this method returns a 200 OK
response code and a collection of conditionalAccessTemplate objects in the response body.
Examples
Example 1: List all conditional access policy templates
Request
The following example shows a request.
GET https://graph.microsoft.com/beta/identity/conditionalAccess/templates
Response
The following example shows the response.
Note: The response object shown here might be shortened for readability.
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#identity/conditionalAccess/templates",
"value": [
{
"name": "Require multifactor authentication for admins",
"description": "Require multifactor authentication for privileged administrative accounts to reduce risk of compromise. This policy will target the same roles as Security Default.",
"id": "c7503427-338e-4c5e-902d-abe252abfb43",
"scenarios": "secureFoundation,zeroTrust,protectAdmins",
"details": {
"sessionControls": null,
"conditions": {
"userRiskLevels": [],
"signInRiskLevels": [],
"clientAppTypes": [
"all"
],
"servicePrincipalRiskLevels": [],
"platforms": null,
"locations": null,
"signInRiskDetections": null,
"times": null,
"deviceStates": null,
"devices": null,
"clientApplications": null,
"applications": {
"includeApplications": [
"All"
],
"excludeApplications": [],
"includeUserActions": [],
"includeAuthenticationContextClassReferences": [],
"applicationFilter": null,
"networkAccess": null
},
"users": {
"includeUsers": [],
"excludeUsers": [
"Current administrator will be excluded"
],
"includeGroups": [],
"excludeGroups": [],
"includeRoles": [
"62e90394-69f5-4237-9190-012177145e10",
"194ae4cb-b126-40b2-bd5b-6091b380977d"
],
"excludeRoles": [],
"includeGuestsOrExternalUsers": null,
"excludeGuestsOrExternalUsers": null
}
},
"grantControls": {
"operator": "OR",
"builtInControls": [
"mfa"
],
"customAuthenticationFactors": [],
"termsOfUse": [],
"authenticationStrength": null
}
}
}
]
}
Example 2: List name, description, id, scenarios of templates whose scenarios contain "secureFoundation"
Request
The following example shows a request.
GET https://graph.microsoft.com/beta/identity/conditionalAccess/templates?$select=name,description,id,scenarios&$filter=scenarios has 'secureFoundation'
Response
The following example shows the response.
Note: The response object shown here might be shortened for readability.
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#identity/conditionalAccess/templates(name,description,id,scenarios)",
"value": [
{
"name": "Require multifactor authentication for admins",
"description": "Require multifactor authentication for privileged administrative accounts to reduce risk of compromise. This policy will target the same roles as Security Default.",
"id": "c7503427-338e-4c5e-902d-abe252abfb43",
"scenarios": "secureFoundation,zeroTrust,protectAdmins"
},
{
"name": "Securing security info registration",
"description": "Secure when and how users register for Azure AD multifactor authentication and self-service password.",
"id": "b8bda7f8-6584-4446-bce9-d871480e53fa",
"scenarios": "secureFoundation,zeroTrust,remoteWork"
},
{
"name": "Block legacy authentication",
"description": "Block legacy authentication endpoints that can be used to bypass multifactor authentication.",
"id": "0b2282f9-2862-4178-88b5-d79340b36cb8",
"scenarios": "secureFoundation,zeroTrust,remoteWork,protectAdmins"
},
{
"name": "Require multifactor authentication for all users",
"description": "Require multifactor authentication for all user accounts to reduce risk of compromise.",
"id": "a3d0a415-b068-4326-9251-f9cdf9feeb64",
"scenarios": "secureFoundation,zeroTrust,remoteWork"
}
]
}