Namespace: microsoft.graph
Importante
As APIs na versão /beta no Microsoft Graph estão sujeitas a alterações. Não há suporte para o uso dessas APIs em aplicativos de produção. Para determinar se uma API está disponível na v1.0, use o seletor Versão.
Atualizar as propriedades de um objeto de configuração de diretório específico.
Essa API está disponível nas seguintes implantações de nuvem nacional.
| Serviço global |
Governo dos EUA L4 |
US Government L5 (DOD) |
China operada pela 21Vianet |
| ✅ |
✅ |
✅ |
✅ |
Permissões
As tabelas a seguir mostram a permissão ou permissões menos privilegiadas necessárias para chamar essa API em cada tipo de recurso com suporte. Siga as práticas recomendadas para solicitar permissões com privilégios mínimos. Para obter detalhes sobre permissões delegadas e de aplicativo, consulte Tipos de permissão. Para saber mais sobre essas permissões, consulte a referência de permissões.
Para todas as configurações, exceto o objeto Configurações de Política de Consentimento
| Tipo de permissão |
Permissões menos privilegiadas |
Permissões com privilégios mais elevados |
| Delegado (conta corporativa ou de estudante) |
GroupSettings.ReadWrite.All |
Directory.ReadWrite.All, Policy.ReadWrite.Authorization |
| Delegado (conta pessoal da Microsoft) |
Sem suporte. |
Sem suporte. |
| Application |
GroupSettings.ReadWrite.All |
Directory.ReadWrite.All, Policy.ReadWrite.Authorization |
Importante
Para acesso delegado usando contas corporativas ou de estudante, o usuário conectado deve receber uma função do Microsoft Entra com suporte ou uma função personalizada que conceda as permissões necessárias para esta operação. Esta operação dá suporte às seguintes funções internas, que fornecem apenas o menor privilégio necessário:
- Ler propriedades básicas sobre como definir modelos e configurações - Microsoft Entra Joined Device Administrador Local, Leitores de Diretório, Leitor Global
- Gerenciar todas as configurações de grupo/diretório - Gravadores de Diretório
- Gerenciar configurações globais e locais para grupos; gerenciar
Group.Unified.Guest e Group.Unified configurações - Administrador de Grupos
- Atualizar
Password Rule Settings - Administrador da Política de Autenticação
- Atualizar configurações, ler propriedades básicas sobre definição de modelos e configurações - Administrador de usuários
Quando um aplicativo recebe permissões delegadas Directory.Read.All ou Directory.ReadWrite.All , o usuário conectado só precisa da função de membro padrão. Nenhuma função adicional do Microsoft Entra é necessária. As funções do Microsoft Entra listadas acima são necessárias somente quando o aplicativo de chamada recebe uma permissão delegada mais limitada, como GroupSettings.Read.All. Nesse caso, o usuário conectado deve ter uma das funções listadas.
Para o objeto Configurações de Política de Consentimento
As permissões a seguir são necessárias para atualizar o objeto directorySetting "Configurações da Política de Consentimento".
| Tipo de permissão |
Permissões menos privilegiadas |
Permissões com privilégios mais elevados |
| Delegado (conta corporativa ou de estudante) |
GroupSettings.ReadWrite.All |
Directory.ReadWrite.All, Policy.ReadWrite.Authorization |
| Delegado (conta pessoal da Microsoft) |
Sem suporte. |
Sem suporte. |
| Application |
GroupSettings.ReadWrite.All |
Directory.ReadWrite.All, Policy.ReadWrite.Authorization |
Solicitação HTTP
Atualizar uma configuração de todo o locatário.
PATCH /settings/{directorySettingId}
Atualize uma configuração específica do grupo.
PATCH /groups/{groupId}/settings/{directorySettingId}
Corpo da solicitação
No corpo da solicitação, forneça os valores para os campos relevantes que devem ser atualizados.
| Propriedade |
Tipo |
Descrição |
| values |
Coleção settingValue |
O conjunto de valores atualizado. NOTA: Você deve fornecer todo o conjunto de coleta. Não é possível atualizar um único conjunto de valores. |
Resposta
Se tiver êxito, este método retornará um código de resposta 204 No Content.
Exemplo
Solicitação
O exemplo a seguir mostra uma solicitação.
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)
Resposta
HTTP/1.1 204 No Content
Exemplo 2: habilitar rótulos de confidencialidade para todos os grupos de segurança de nuvem no locatário
Use o Group.Security modelo (d209f6fa-3839-4d70-b83f-60b1c64d0e8f) para habilitar rótulos de confidencialidade MIP para todos os grupos de segurança de nuvem e manter a configuração preexistente para AllowToAddGuests. Você já deve ter criado um objeto directorySetting a partir deste modelo; substitua o identificador na URL pela ID do objeto directorySetting existente.
Observação
Esse recurso requer uma licença do Microsoft Entra ID P1.
Solicitação
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)
Resposta
HTTP/1.1 204 No Content