Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
Тип разрешения
Разрешения с наименьшими привилегиями
Более высокие привилегированные разрешения
Делегированные (рабочая или учебная учетная запись)
AuthenticationContext.ReadWrite.All
Policy.ReadWrite.ConditionalAccess
Делегированные (личная учетная запись Майкрософт)
Не поддерживается.
Не поддерживается.
Приложение
AuthenticationContext.ReadWrite.All
Policy.ReadWrite.ConditionalAccess
Важно!
В делегированных сценариях с рабочими или учебными учетными записями, в которых пользователь, выполнив вход, работает с другим пользователем, ему должна быть назначена поддерживаемая роль Microsoft Entra или настраиваемая роль с разрешением поддерживаемой роли. Для этой операции поддерживаются следующие роли с наименьшими привилегиями.
В тексте запроса укажите только значения свойств для обновления. Существующие свойства, которые не включены в текст запроса, сохраняют свои предыдущие значения или пересчитываются на основе изменений других значений свойств.
В следующей таблице указаны свойства, которые можно обновить.
Свойство
Тип
Описание
displayName
String
Отображаемое имя — это понятное имя authenticationContextClassReference. Это значение следует использовать для идентификации ссылки на класс контекста проверки подлинности при создании взаимодействия с администратором. Например, выберите UX.
description
String
Краткое описание политик, которые применяются с помощью authenticationContextClassReference. Это значение следует использовать для предоставления дополнительного текста, описывающего ссылку на класс контекста проверки подлинности при создании взаимодействия с администратором с пользователем. Например, выберите UX.
isAvailable
Логический
Указывает, был ли параметр authenticationContextClassReference опубликован администратором безопасности и готов к использованию приложениями. Если задано значение false , он не должен отображаться в пользовательском интерфейсе выбора контекста проверки подлинности или использоваться для защиты ресурсов приложения. Он будет отображаться и доступен для разработки политики условного доступа.
Запрос с использованием пустого объекта JSON без свойств создаст новый объект authenticationContextClassReference , если он с указанным идентификатором не существует, а свойства заданы null или имеют значения по умолчанию.
Отклик
В случае успешного выполнения этот метод возвращает код отклика 204 No Content. Он не возвращает ничего в теле ответа.
Примеры
Запрос
Ниже показан пример запроса. Если объект с идентификатором c1 не существует, этот запрос создает новый объект; если объект существует, этот запрос обновляет указанные свойства.
PATCH https://graph.microsoft.com/v1.0/identity/conditionalAccess/authenticationContextClassReferences/c1
Content-type: application/json
{
"displayName": "Contoso medium",
"description": "Medium protection level defined for Contoso policy",
"isAvailable": true
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new AuthenticationContextClassReference
{
DisplayName = "Contoso medium",
Description = "Medium protection level defined for Contoso policy",
IsAvailable = true,
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Identity.ConditionalAccess.AuthenticationContextClassReferences["{authenticationContextClassReference-id}"].PatchAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewAuthenticationContextClassReference()
displayName := "Contoso medium"
requestBody.SetDisplayName(&displayName)
description := "Medium protection level defined for Contoso policy"
requestBody.SetDescription(&description)
isAvailable := true
requestBody.SetIsAvailable(&isAvailable)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
authenticationContextClassReferences, err := graphClient.Identity().ConditionalAccess().AuthenticationContextClassReferences().ByAuthenticationContextClassReferenceId("authenticationContextClassReference-id").Patch(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
AuthenticationContextClassReference authenticationContextClassReference = new AuthenticationContextClassReference();
authenticationContextClassReference.setDisplayName("Contoso medium");
authenticationContextClassReference.setDescription("Medium protection level defined for Contoso policy");
authenticationContextClassReference.setIsAvailable(true);
AuthenticationContextClassReference result = graphClient.identity().conditionalAccess().authenticationContextClassReferences().byAuthenticationContextClassReferenceId("{authenticationContextClassReference-id}").patch(authenticationContextClassReference);
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\AuthenticationContextClassReference;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new AuthenticationContextClassReference();
$requestBody->setDisplayName('Contoso medium');
$requestBody->setDescription('Medium protection level defined for Contoso policy');
$requestBody->setIsAvailable(true);
$result = $graphServiceClient->identity()->conditionalAccess()->authenticationContextClassReferences()->byAuthenticationContextClassReferenceId('authenticationContextClassReference-id')->patch($requestBody)->wait();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.authentication_context_class_reference import AuthenticationContextClassReference
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = AuthenticationContextClassReference(
display_name = "Contoso medium",
description = "Medium protection level defined for Contoso policy",
is_available = True,
)
result = await graph_client.identity.conditional_access.authentication_context_class_references.by_authentication_context_class_reference_id('authenticationContextClassReference-id').patch(request_body)