Compartir a través de


Creación de customSecurityAttributeDefinition

Espacio de nombres: microsoft.graph

Cree un nuevo 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

POST /directory/customSecurityAttributeDefinitions

Encabezados de solicitud

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.

Cuerpo de la solicitud

En el cuerpo de la solicitud, proporcione una representación JSON del objeto customSecurityAttributeDefinition .

En la tabla siguiente se muestran las propiedades que puede configurar al crear un customSecurityAttributeDefinition.

Propiedad Tipo Descripción
attributeSet Cadena Nombre del conjunto de atributos. Distingue mayúsculas de minúsculas. Obligatorio.
description Cadena Descripción del atributo de seguridad personalizado. Puede tener hasta 128 caracteres e incluir caracteres Unicode. No puede contener espacios ni caracteres especiales. Se puede cambiar más adelante. Opcional.
isCollection Booleano Indica si se pueden asignar varios valores al atributo de seguridad personalizado. No se puede cambiar más adelante. Si type está establecido en Boolean, isCollection no se puede establecer en true. Obligatorio.
isSearchable Booleano Indica si los valores de atributos de seguridad personalizados se indizan para buscar en objetos a los que se asignan valores de atributo. No se puede cambiar más adelante. Obligatorio.
name Cadena Nombre del atributo de seguridad personalizado. Debe ser único dentro de un conjunto de atributos. Puede tener hasta 32 caracteres e incluir caracteres Unicode. No puede contener espacios ni caracteres especiales. No se puede cambiar más adelante. Distingue mayúsculas de minúsculas. Obligatorio.
status Cadena Especifica si el atributo de seguridad personalizado está activo o desactivado. Los valores aceptables son Available y Deprecated. Se puede cambiar más adelante. Obligatorio.
type Cadena Tipo de datos para los valores de atributo de seguridad personalizados. Los tipos admitidos son: Boolean, Integery String. No se puede cambiar más adelante. Obligatorio.
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. Más adelante 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. Obligatorio.

La propiedad id se genera automáticamente y no se puede establecer.

Respuesta

Si se ejecuta correctamente, este método devuelve un 201 Created código de respuesta y un objeto customSecurityAttributeDefinition en el cuerpo de la respuesta.

Ejemplos

Ejemplo 1: Agregar un atributo de seguridad personalizado

En el ejemplo siguiente se agrega una nueva definición de atributo de seguridad personalizada que es un único valor de forma libre de tipo String.

  • Conjunto de atributos: Engineering
  • Atributo: ProjectDate

Solicitud

En el ejemplo siguiente se muestra la solicitud.

POST https://graph.microsoft.com/v1.0/directory/customSecurityAttributeDefinitions
Content-Type: application/json

{
    "attributeSet":"Engineering",
    "description":"Target completion date",
    "isCollection":false,
    "isSearchable":true,
    "name":"ProjectDate",
    "status":"Available",
    "type":"String",
    "usePreDefinedValuesOnly": false
}

Respuesta

En el ejemplo siguiente se muestra la respuesta.

HTTP/1.1 201 Created
Content-Type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#directory/customSecurityAttributeDefinitions/$entity",
    "attributeSet": "Engineering",
    "description": "Target completion date",
    "id": "Engineering_ProjectDate",
    "isCollection": false,
    "isSearchable": true,
    "name": "ProjectDate",
    "status": "Available",
    "type": "String",
    "usePreDefinedValuesOnly": false
}

Ejemplo 2: Agregar un atributo de seguridad personalizado que admita varios valores predefinidos

En el ejemplo siguiente se agrega una nueva definición de atributo de seguridad personalizada que admite varios valores de tipo String predefinidos.

  • Conjunto de atributos: Engineering
  • Atributo: Project

Solicitud

En el ejemplo siguiente se muestra la solicitud.

POST https://graph.microsoft.com/v1.0/directory/customSecurityAttributeDefinitions
Content-Type: application/json
Content-length: 310

{
    "attributeSet":"Engineering",
    "description":"Active projects for user",
    "isCollection":true,
    "isSearchable":true,
    "name":"Project",
    "status":"Available",
    "type":"String",
    "usePreDefinedValuesOnly": true
}

Respuesta

En el ejemplo siguiente se muestra la respuesta.

HTTP/1.1 201 Created
Content-Type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#directory/customSecurityAttributeDefinitions/$entity",
    "attributeSet": "Engineering",
    "description": "Active projects for user",
    "id": "Engineering_Project",
    "isCollection": true,
    "isSearchable": true,
    "name": "Project",
    "status": "Available",
    "type": "String",
    "usePreDefinedValuesOnly": true
}

Ejemplo 3: Agregar un atributo de seguridad personalizado con una lista de valores predefinidos

En el ejemplo siguiente se agrega una nueva definición de atributo de seguridad personalizada con una lista de valores predefinidos como una colección de cadenas.

  • Conjunto de atributos: Engineering
  • Atributo: Project
  • Tipo de datos de atributo: colección de cadenas
  • Valores predefinidos: Alpine, , BakerCascade

Solicitud

En el ejemplo siguiente se muestra la solicitud.

POST https://graph.microsoft.com/v1.0/directory/customSecurityAttributeDefinitions
Content-Type: application/json

{
    "attributeSet": "Engineering",
    "description": "Active projects for user",
    "isCollection": true,
    "isSearchable": true,
    "name": "Project",
    "status": "Available",
    "type": "String",
    "usePreDefinedValuesOnly": true,
    "allowedValues": [
        {
            "id": "Alpine",
            "isActive": true
        },
        {
            "id": "Baker",
            "isActive": true
        },
        {
            "id": "Cascade",
            "isActive": true
        }
    ]
}

Respuesta

En el ejemplo siguiente se muestra la respuesta.

HTTP/1.1 201 Created
Content-Type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#directory/customSecurityAttributeDefinitions/$entity",
    "attributeSet": "Engineering",
    "description": "Active projects for user",
    "id": "Engineering_Project",
    "isCollection": true,
    "isSearchable": true,
    "name": "Project",
    "status": "Available",
    "type": "String",
    "usePreDefinedValuesOnly": true
}