Пространство имен: microsoft.graph
Важно!
API версии /beta в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.
Обновление свойств определенного объекта параметров каталога .
Этот API доступен в следующих национальных облачных развертываниях.
| Глобальное обслуживание |
Правительство США L4 |
Правительство США L5 (DOD) |
Китай, обслуживаемый 21Vianet |
| ✅ |
✅ |
✅ |
✅ |
Разрешения
В следующих таблицах показаны наименее привилегированные разрешения или разрешения, необходимые для вызова этого API для каждого поддерживаемого типа ресурса. Следуйте рекомендациям , чтобы запрашивать разрешения с наименьшим объемом привилегий. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в статье Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
Для всех параметров , кроме объекта "Параметры политики согласия"
| Тип разрешения |
Разрешения с наименьшим объемом привилегий |
Разрешения с более высоким уровнем привилегий |
| Делегированные (рабочая или учебная учетная запись) |
GroupSettings.ReadWrite.All |
Directory.ReadWrite.All, Policy.ReadWrite.Authorization |
| Делегированные (личная учетная запись Майкрософт) |
Не поддерживается. |
Не поддерживается. |
| Приложение |
GroupSettings.ReadWrite.All |
Directory.ReadWrite.All, Policy.ReadWrite.Authorization |
Важно!
Для делегированного доступа с помощью рабочих или учебных учетных записей вошедшему пользователю должна быть назначена поддерживаемая роль Microsoft Entra или пользовательская роль, предоставляющая разрешения, необходимые для этой операции. Эта операция поддерживает следующие встроенные роли, которые предоставляют лишь наименьшее количество необходимых прав:
- Чтение основных свойств при настройке шаблонов и параметров: устройство, присоединенное к Microsoft Entra, локальный администратор, средства чтения каталогов, глобальное средство чтения
- Управление всеми параметрами групп и каталогов — средства записи каталогов
- Управление глобальными и локальными параметрами групп; Управление
Group.Unified.Guest и Group.Unified параметры — Администратор групп
- Обновление
Password Rule Settings - администратора политики проверки подлинности
- Обновление параметров, чтение основных свойств при настройке шаблонов и параметров — администратор пользователя
Когда приложению предоставляются делегированные разрешения Directory.Read.All или Directory.ReadWrite.All , вошедшему пользователю требуется только роль участника по умолчанию. Дополнительная роль Microsoft Entra не требуется. Перечисленные выше роли Microsoft Entra необходимы только в том случае, если вызывающему приложению предоставлено более ограниченное делегированное разрешение, например GroupSettings.Read.All. В этом случае пользователь, вошедший в систему, должен иметь одну из перечисленных ролей.
Для объекта "Параметры политики согласия"
Для обновления объекта directorySetting "Параметры политики согласия" требуются следующие разрешения.
| Тип разрешения |
Разрешения с наименьшим объемом привилегий |
Разрешения с более высоким уровнем привилегий |
| Делегированные (рабочая или учебная учетная запись) |
GroupSettings.ReadWrite.All |
Directory.ReadWrite.All, Policy.ReadWrite.Authorization |
| Делегированные (личная учетная запись Майкрософт) |
Не поддерживается. |
Не поддерживается. |
| Приложение |
GroupSettings.ReadWrite.All |
Directory.ReadWrite.All, Policy.ReadWrite.Authorization |
HTTP-запрос
Обновление параметра на уровне клиента.
PATCH /settings/{directorySettingId}
Обновление параметра, специфичного для группы.
PATCH /groups/{groupId}/settings/{directorySettingId}
Текст запроса
В теле запроса укажите значения для соответствующих полей, которые необходимо обновить.
| Свойство |
Тип |
Описание |
| values |
Коллекция значенийпараметров |
Обновленный набор значений. ПРИМЕЧАНИЕ: Вы должны предоставить весь набор коллекции. Невозможно обновить один набор значений. |
Отклик
В случае успешного выполнения этот метод возвращает код отклика 204 No Content.
Пример
Запрос
Ниже показан пример запроса.
PATCH https://graph.microsoft.com/beta/settings/3c105fc3-2254-4861-9e2d-d59e2126f3ef
Content-type: application/json
{
"values": [
{
"name": "CustomBlockedWordsList",
"value": "Contoso"
}
]
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new DirectorySetting
{
Values = new List<SettingValue>
{
new SettingValue
{
Name = "CustomBlockedWordsList",
Value = "Contoso",
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Settings["{directorySetting-id}"].PatchAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewDirectorySetting()
settingValue := graphmodels.NewSettingValue()
name := "CustomBlockedWordsList"
settingValue.SetName(&name)
value := "Contoso"
settingValue.SetValue(&value)
values := []graphmodels.SettingValueable {
settingValue,
}
requestBody.SetValues(values)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
settings, err := graphClient.Settings().ByDirectorySettingId("directorySetting-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);
DirectorySetting directorySetting = new DirectorySetting();
LinkedList<SettingValue> values = new LinkedList<SettingValue>();
SettingValue settingValue = new SettingValue();
settingValue.setName("CustomBlockedWordsList");
settingValue.setValue("Contoso");
values.add(settingValue);
directorySetting.setValues(values);
DirectorySetting result = graphClient.settings().byDirectorySettingId("{directorySetting-id}").patch(directorySetting);
const options = {
authProvider,
};
const client = Client.init(options);
const directorySetting = {
values: [
{
name: 'CustomBlockedWordsList',
value: 'Contoso'
}
]
};
await client.api('/settings/3c105fc3-2254-4861-9e2d-d59e2126f3ef')
.version('beta')
.update(directorySetting);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\DirectorySetting;
use Microsoft\Graph\Beta\Generated\Models\SettingValue;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new DirectorySetting();
$valuesSettingValue1 = new SettingValue();
$valuesSettingValue1->setName('CustomBlockedWordsList');
$valuesSettingValue1->setValue('Contoso');
$valuesArray []= $valuesSettingValue1;
$requestBody->setValues($valuesArray);
$result = $graphServiceClient->settings()->byDirectorySettingId('directorySetting-id')->patch($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Identity.DirectoryManagement
$params = @{
values = @(
@{
name = "CustomBlockedWordsList"
value = "Contoso"
}
)
}
Update-MgBetaDirectorySetting -DirectorySettingId $directorySettingId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.directory_setting import DirectorySetting
from msgraph_beta.generated.models.setting_value import SettingValue
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = DirectorySetting(
values = [
SettingValue(
name = "CustomBlockedWordsList",
value = "Contoso",
),
],
)
result = await graph_client.settings.by_directory_setting_id('directorySetting-id').patch(request_body)
Отклик
HTTP/1.1 204 No Content
Пример 2. Включение меток конфиденциальности для всех облачных групп безопасности в клиенте
Используйте Group.Security шаблон (d209f6fa-3839-4d70-b83f-60b1c64d0e8f), чтобы включить метки конфиденциальности MIP для всех облачных групп безопасности и сохранить существующий параметр для AllowToAddGuests. Вы должны уже создать объект directorySetting из этого шаблона ; Замените идентификатор в URL на идентификатор существующего объекта directorySetting .
Примечание.
Для этой функции требуется лицензия Microsoft Entra ID P1.
Запрос
PATCH https://graph.microsoft.com/beta/settings/{directorySettingId}
Content-type: application/json
{
"values": [
{
"name": "EnableMIPLabels",
"value": "true"
}
]
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new DirectorySetting
{
Values = new List<SettingValue>
{
new SettingValue
{
Name = "EnableMIPLabels",
Value = "true",
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Settings["{directorySetting-id}"].PatchAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewDirectorySetting()
settingValue := graphmodels.NewSettingValue()
name := "EnableMIPLabels"
settingValue.SetName(&name)
value := "true"
settingValue.SetValue(&value)
values := []graphmodels.SettingValueable {
settingValue,
}
requestBody.SetValues(values)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
settings, err := graphClient.Settings().ByDirectorySettingId("directorySetting-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);
DirectorySetting directorySetting = new DirectorySetting();
LinkedList<SettingValue> values = new LinkedList<SettingValue>();
SettingValue settingValue = new SettingValue();
settingValue.setName("EnableMIPLabels");
settingValue.setValue("true");
values.add(settingValue);
directorySetting.setValues(values);
DirectorySetting result = graphClient.settings().byDirectorySettingId("{directorySetting-id}").patch(directorySetting);
const options = {
authProvider,
};
const client = Client.init(options);
const directorySetting = {
values: [
{
name: 'EnableMIPLabels',
value: 'true'
}
]
};
await client.api('/settings/{directorySettingId}')
.version('beta')
.update(directorySetting);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\DirectorySetting;
use Microsoft\Graph\Beta\Generated\Models\SettingValue;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new DirectorySetting();
$valuesSettingValue1 = new SettingValue();
$valuesSettingValue1->setName('EnableMIPLabels');
$valuesSettingValue1->setValue('true');
$valuesArray []= $valuesSettingValue1;
$requestBody->setValues($valuesArray);
$result = $graphServiceClient->settings()->byDirectorySettingId('directorySetting-id')->patch($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Identity.DirectoryManagement
$params = @{
values = @(
@{
name = "EnableMIPLabels"
value = "true"
}
)
}
Update-MgBetaDirectorySetting -DirectorySettingId $directorySettingId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.directory_setting import DirectorySetting
from msgraph_beta.generated.models.setting_value import SettingValue
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = DirectorySetting(
values = [
SettingValue(
name = "EnableMIPLabels",
value = "true",
),
],
)
result = await graph_client.settings.by_directory_setting_id('directorySetting-id').patch(request_body)
Отклик
HTTP/1.1 204 No Content