Crear customSecurityAttributeDefinition

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.

Cree un nuevo objeto customSecurityAttributeDefinition .

Esta API está disponible en las siguientes implementaciones en la nube nacional.

Servicio global Administración pública de EE. UU. Gobierno de EE. UU. L5 (DOD) China operado por 21Vianet
✅ ✅ ✅ ✅

Permissions

Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use uno o varios permisos con privilegios más altos 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

Para el acceso delegado con cuentas profesionales o educativas, el usuario que ha iniciado sesión debe tener asignado un rol compatible de Microsoft Entra o un rol personalizado que conceda los permisos necesarios para esta operación.

  • El Administrador de definición de atributo 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 o 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 autenticación y 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 una customSecurityAttributeDefinition.

Propiedad Tipo Description
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 una longitud máxima de 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. Ya no se puede cambiar. Si tipo se establece en Boolean, isCollection no se puede establecer en true. Obligatorio.
isSearchable Booleano Indica si los valores de atributo de seguridad personalizados están indexados para buscar objetos a los que se asignan valores de atributo. Ya no se puede cambiar. Obligatorio.
name Cadena Nombre del atributo de seguridad personalizado. Debe ser único dentro de un conjunto de atributos. Puede tener una longitud máxima de 32 caracteres e incluir caracteres Unicode. No puede contener espacios ni caracteres especiales. Ya no se puede cambiar. 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 de los valores de atributo de seguridad personalizados. Los tipos admitidos son: Boolean, Integery String. Ya no se puede cambiar. Obligatorio.
usePreDefinedValuesOnly Booleano Indica si solo se pueden asignar valores predefinidos al atributo de seguridad personalizado. Si se establece en false, se permiten valores de forma libre. Más adelante se puede cambiar de true a false, pero no se puede cambiar de false a true. Si tipo se establece 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 realiza 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/beta/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/beta/$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/beta/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/beta/$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 muestra cómo agregar 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, Baker, Cascade

Solicitud

En el ejemplo siguiente se muestra la solicitud.

POST https://graph.microsoft.com/beta/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/beta/$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
}