Espacio de nombres: microsoft.graph
Importante
Las API de la versión /beta de Microsoft Graph están sujetas a cambios. No se admite el uso de estas API en aplicaciones de producción. Para determinar si una API está disponible en la versión 1.0, use el selector de Versión.
Actualice las propiedades de un objeto customSecurityAttributeDefinition .
Esta API está disponible en las siguientes implementaciones nacionales de nube.
| Servicio global |
Gobierno de EE. UU. L4 |
Us Government L5 (DOD) |
China operada por 21Vianet |
| ✅ |
✅ |
✅ |
✅ |
Permissions
Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use un permiso o permisos con privilegios superiores solo si la aplicación lo requiere. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.
| Tipo de permiso |
Permisos con privilegios mínimos |
Permisos con privilegios más altos |
| Delegado (cuenta profesional o educativa) |
CustomSecAttributeDefinition.ReadWrite.All |
No disponible. |
| Delegado (cuenta personal de Microsoft) |
No admitida. |
No admitida. |
| Aplicación |
CustomSecAttributeDefinition.ReadWrite.All |
No disponible. |
Importante
En escenarios delegados con cuentas profesionales o educativas, al usuario que ha iniciado sesión se le debe asignar un rol de Microsoft Entra compatible o un rol personalizado con un permiso de rol admitido.
El administrador de definición de atributos es el único rol con privilegios admitido para esta operación.
De forma predeterminada, el administrador global y otros roles de administrador no tienen permisos para leer, definir ni asignar atributos de seguridad personalizados.
Solicitud HTTP
PATCH /directory/customSecurityAttributeDefinitions/{customSecurityAttributeDefinitionId}
| Nombre |
Descripción |
| Authorization |
{token} de portador. Obligatorio. Obtenga más información sobre la autenticación y la autorización. |
| Content-Type |
application/json. Obligatorio. |
| OData-Version |
4.01. Opcional. |
Nota:
Para actualizar los valores predefinidos de un atributo de seguridad personalizado, debe agregar el encabezado OData-Version y asignarle el valor 4.01.
Cuerpo de la solicitud
En el cuerpo de la solicitud, proporcione solo los valores de las propiedades que se van a actualizar. Las propiedades existentes que no se incluyen en el cuerpo de la solicitud mantienen sus valores anteriores o se recalculan en función de los cambios realizados en otros valores de propiedad.
En la tabla siguiente se especifican las propiedades que se pueden actualizar.
| Propiedad |
Tipo |
Descripción |
| description |
Cadena |
Descripción del atributo de seguridad personalizado. Puede tener hasta 128 caracteres e incluir caracteres Unicode. Opcional. |
| status |
Cadena |
Especifica si el atributo de seguridad personalizado está activo o desactivado. Los valores aceptables son Available y Deprecated. Opcional. |
| usePreDefinedValuesOnly |
Booleano |
Indica si solo se pueden asignar valores predefinidos al atributo de seguridad personalizado. Si se establece en false, se permiten los valores de forma libre. Se puede cambiar de true a false, pero no se puede cambiar de false a true. Si type está establecido en Boolean, usePreDefinedValuesOnly no se puede establecer en true. Opcional. |
Respuesta
Si se ejecuta correctamente, este método devuelve un código de respuesta 204 No Content.
Ejemplos
Ejemplo 1: Actualización de un atributo de seguridad personalizado
En el ejemplo siguiente se actualiza la descripción de una definición de atributo de seguridad personalizada.
- Conjunto de atributos:
Engineering
- Atributo:
ProjectDate
Solicitud
En el ejemplo siguiente se muestra la solicitud.
PATCH https://graph.microsoft.com/beta/directory/customSecurityAttributeDefinitions/Engineering_ProjectDate
Content-Type: application/json
{
"description": "Target completion date (YYYY/MM/DD)",
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new CustomSecurityAttributeDefinition
{
Description = "Target completion date (YYYY/MM/DD)",
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Directory.CustomSecurityAttributeDefinitions["{customSecurityAttributeDefinition-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.NewCustomSecurityAttributeDefinition()
description := "Target completion date (YYYY/MM/DD)"
requestBody.SetDescription(&description)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
customSecurityAttributeDefinitions, err := graphClient.Directory().CustomSecurityAttributeDefinitions().ByCustomSecurityAttributeDefinitionId("customSecurityAttributeDefinition-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);
CustomSecurityAttributeDefinition customSecurityAttributeDefinition = new CustomSecurityAttributeDefinition();
customSecurityAttributeDefinition.setDescription("Target completion date (YYYY/MM/DD)");
CustomSecurityAttributeDefinition result = graphClient.directory().customSecurityAttributeDefinitions().byCustomSecurityAttributeDefinitionId("{customSecurityAttributeDefinition-id}").patch(customSecurityAttributeDefinition);
const options = {
authProvider,
};
const client = Client.init(options);
const customSecurityAttributeDefinition = {
description: 'Target completion date (YYYY/MM/DD)',
};
await client.api('/directory/customSecurityAttributeDefinitions/Engineering_ProjectDate')
.version('beta')
.update(customSecurityAttributeDefinition);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\CustomSecurityAttributeDefinition;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new CustomSecurityAttributeDefinition();
$requestBody->setDescription('Target completion date (YYYY/MM/DD)');
$result = $graphServiceClient->directory()->customSecurityAttributeDefinitions()->byCustomSecurityAttributeDefinitionId('customSecurityAttributeDefinition-id')->patch($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Identity.DirectoryManagement
$params = @{
description = "Target completion date (YYYY/MM/DD)"
}
Update-MgBetaDirectoryCustomSecurityAttributeDefinition -CustomSecurityAttributeDefinitionId $customSecurityAttributeDefinitionId -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.custom_security_attribute_definition import CustomSecurityAttributeDefinition
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = CustomSecurityAttributeDefinition(
description = "Target completion date (YYYY/MM/DD)",
)
result = await graph_client.directory.custom_security_attribute_definitions.by_custom_security_attribute_definition_id('customSecurityAttributeDefinition-id').patch(request_body)
Respuesta
En el ejemplo siguiente se muestra la respuesta.
HTTP/1.1 204 No Content
Ejemplo 2: Actualización de los valores predefinidos para un atributo de seguridad personalizado
En el ejemplo siguiente se actualiza el estado de un valor predefinido existente y se agrega un nuevo valor predefinido para una definición de atributo de seguridad personalizada.
- Conjunto de atributos:
Engineering
- Atributo:
Project
- Tipo de datos de atributo: colección de cadenas
- Actualice el valor predefinido:
Baker
- Nuevo valor predefinido:
Skagit
Nota:
Para esta solicitud, debe agregar el encabezado OData-Version y asignarle el valor 4.01.
Solicitud
En el ejemplo siguiente se muestra la solicitud.
PATCH https://graph.microsoft.com/beta/directory/customSecurityAttributeDefinitions/Engineering_Project
Content-Type: application/json
OData-Version: 4.01
{
"allowedValues@delta": [
{
"id": "Baker",
"isActive": false
},
{
"id": "Skagit",
"isActive": true
}
]
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
using Microsoft.Kiota.Abstractions.Serialization;
var requestBody = new CustomSecurityAttributeDefinition
{
AdditionalData = new Dictionary<string, object>
{
{
"allowedValues@delta" , new List<object>
{
new UntypedObject(new Dictionary<string, UntypedNode>
{
{
"id", new UntypedString("Baker")
},
{
"isActive", new UntypedBoolean(false)
},
}),
new UntypedObject(new Dictionary<string, UntypedNode>
{
{
"id", new UntypedString("Skagit")
},
{
"isActive", new UntypedBoolean(true)
},
}),
}
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Directory.CustomSecurityAttributeDefinitions["{customSecurityAttributeDefinition-id}"].PatchAsync(requestBody, (requestConfiguration) =>
{
requestConfiguration.Headers.Add("OData-Version", "4.01");
});
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
CustomSecurityAttributeDefinition customSecurityAttributeDefinition = new CustomSecurityAttributeDefinition();
HashMap<String, Object> additionalData = new HashMap<String, Object>();
LinkedList<Object> allowedValuesDelta = new LinkedList<Object>();
property = new ();
property.setId("Baker");
property.setIsActive(false);
allowedValuesDelta.add(property);
property1 = new ();
property1.setId("Skagit");
property1.setIsActive(true);
allowedValuesDelta.add(property1);
additionalData.put("allowedValues@delta", allowedValuesDelta);
customSecurityAttributeDefinition.setAdditionalData(additionalData);
CustomSecurityAttributeDefinition result = graphClient.directory().customSecurityAttributeDefinitions().byCustomSecurityAttributeDefinitionId("{customSecurityAttributeDefinition-id}").patch(customSecurityAttributeDefinition, requestConfiguration -> {
requestConfiguration.headers.add("OData-Version", "4.01");
});
const options = {
authProvider,
};
const client = Client.init(options);
const customSecurityAttributeDefinition = {
'allowedValues@delta': [
{
id: 'Baker',
isActive: false
},
{
id: 'Skagit',
isActive: true
}
]
};
await client.api('/directory/customSecurityAttributeDefinitions/Engineering_Project')
.version('beta')
.update(customSecurityAttributeDefinition);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Directory\CustomSecurityAttributeDefinitions\Item\CustomSecurityAttributeDefinitionItemRequestBuilderPatchRequestConfiguration;
use Microsoft\Graph\Beta\Generated\Models\CustomSecurityAttributeDefinition;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new CustomSecurityAttributeDefinition();
$additionalData = [
'allowedValues@delta' => [
[
'id' => 'Baker',
'isActive' => false,
],
[
'id' => 'Skagit',
'isActive' => true,
],
],
];
$requestBody->setAdditionalData($additionalData);
$requestConfiguration = new CustomSecurityAttributeDefinitionItemRequestBuilderPatchRequestConfiguration();
$headers = [
'OData-Version' => '4.01',
];
$requestConfiguration->headers = $headers;
$result = $graphServiceClient->directory()->customSecurityAttributeDefinitions()->byCustomSecurityAttributeDefinitionId('customSecurityAttributeDefinition-id')->patch($requestBody, $requestConfiguration)->wait();
Import-Module Microsoft.Graph.Beta.Identity.DirectoryManagement
$params = @{
"allowedValues@delta" = @(
@{
id = "Baker"
isActive = $false
}
@{
id = "Skagit"
isActive = $true
}
)
}
Update-MgBetaDirectoryCustomSecurityAttributeDefinition -CustomSecurityAttributeDefinitionId $customSecurityAttributeDefinitionId -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.directory.custom_security_attribute_definitions.item.custom_security_attribute_definition_item_request_builder import CustomSecurityAttributeDefinitionItemRequestBuilder
from kiota_abstractions.base_request_configuration import RequestConfiguration
from msgraph_beta.generated.models.custom_security_attribute_definition import CustomSecurityAttributeDefinition
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = CustomSecurityAttributeDefinition(
additional_data = {
"allowed_values@delta" : [
{
"id" : "Baker",
"is_active" : False,
},
{
"id" : "Skagit",
"is_active" : True,
},
],
}
)
request_configuration = RequestConfiguration()
request_configuration.headers.add("OData-Version", "4.01")
result = await graph_client.directory.custom_security_attribute_definitions.by_custom_security_attribute_definition_id('customSecurityAttributeDefinition-id').patch(request_body, request_configuration = request_configuration)
Respuesta
En el ejemplo siguiente se muestra la respuesta.
HTTP/1.1 204 No Content
Ejemplo 3: Desactivación de un atributo de seguridad personalizado
En el ejemplo siguiente se desactiva una definición de atributo de seguridad personalizada.
- Conjunto de atributos:
Engineering
- Atributo:
Project
Solicitud
En el ejemplo siguiente se muestra la solicitud.
PATCH https://graph.microsoft.com/beta/directory/customSecurityAttributeDefinitions/Engineering_Project
Content-Type: application/json
{
"status": "Deprecated"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new CustomSecurityAttributeDefinition
{
Status = "Deprecated",
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Directory.CustomSecurityAttributeDefinitions["{customSecurityAttributeDefinition-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.NewCustomSecurityAttributeDefinition()
status := "Deprecated"
requestBody.SetStatus(&status)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
customSecurityAttributeDefinitions, err := graphClient.Directory().CustomSecurityAttributeDefinitions().ByCustomSecurityAttributeDefinitionId("customSecurityAttributeDefinition-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);
CustomSecurityAttributeDefinition customSecurityAttributeDefinition = new CustomSecurityAttributeDefinition();
customSecurityAttributeDefinition.setStatus("Deprecated");
CustomSecurityAttributeDefinition result = graphClient.directory().customSecurityAttributeDefinitions().byCustomSecurityAttributeDefinitionId("{customSecurityAttributeDefinition-id}").patch(customSecurityAttributeDefinition);
const options = {
authProvider,
};
const client = Client.init(options);
const customSecurityAttributeDefinition = {
status: 'Deprecated'
};
await client.api('/directory/customSecurityAttributeDefinitions/Engineering_Project')
.version('beta')
.update(customSecurityAttributeDefinition);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\CustomSecurityAttributeDefinition;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new CustomSecurityAttributeDefinition();
$requestBody->setStatus('Deprecated');
$result = $graphServiceClient->directory()->customSecurityAttributeDefinitions()->byCustomSecurityAttributeDefinitionId('customSecurityAttributeDefinition-id')->patch($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Identity.DirectoryManagement
$params = @{
status = "Deprecated"
}
Update-MgBetaDirectoryCustomSecurityAttributeDefinition -CustomSecurityAttributeDefinitionId $customSecurityAttributeDefinitionId -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.custom_security_attribute_definition import CustomSecurityAttributeDefinition
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = CustomSecurityAttributeDefinition(
status = "Deprecated",
)
result = await graph_client.directory.custom_security_attribute_definitions.by_custom_security_attribute_definition_id('customSecurityAttributeDefinition-id').patch(request_body)
Respuesta
En el ejemplo siguiente se muestra la respuesta.
HTTP/1.1 204 No Content