Create customSecurityAttributeDefinition

Namespace: microsoft.graph

Crie um novo objeto customSecurityAttributeDefinition .

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

Escolha a(s) permissão(s) marcada(s) como menos privilegiada(s) para essa API. Use uma permissão ou permissões com privilégios mais altos somente se o aplicativo exigir. 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.

Tipo de permissão Permissões menos privilegiadas Permissões com privilégios mais elevados
Delegado (conta corporativa ou de estudante) CustomSecAttributeDefinition.ReadWrite.All Indisponível.
Delegado (conta pessoal da Microsoft) Sem suporte. Sem suporte.
Application CustomSecAttributeDefinition.ReadWrite.All Indisponível.

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.

  • O Administrador de Definição de Atributo é a única função privilegiada com suporte para esta operação.
  • Por padrão, as funções de Administrador Global e outras funções de administrador não têm permissões para ler, definir ou atribuir atributos de segurança personalizados.

Solicitação HTTP

POST /directory/customSecurityAttributeDefinitions

Cabeçalhos de solicitação

Nome Descrição
Autorização {token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização.
Content-Type application/json. Obrigatório.

Corpo da solicitação

No corpo da solicitação, forneça uma representação JSON do objeto customSecurityAttributeDefinition .

A tabela a seguir mostra as propriedades que você pode configurar ao criar um customSecurityAttributeDefinition.

Propriedade Tipo Descrição
attributeSet Cadeia de caracteres Nome do conjunto de atributos. Diferenciar maiúsculas de minúsculas. Obrigatório.
description Cadeia de caracteres Descrição do atributo de segurança personalizado. Pode ter até 128 caracteres e incluir caracteres Unicode. Não pode conter espaços ou caracteres especiais. Pode ser alterado posteriormente. Opcional.
isCollection Booliano Indica se vários valores podem ser atribuídos ao atributo de segurança personalizado. Não pode ser alterado posteriormente. Se type for definido como Boolean, isCollection não poderá ser definido como true. Obrigatório.
isSearchable Booliano Indica se os valores de atributo de segurança personalizados são indexados para pesquisa em objetos aos quais são atribuídos valores de atributo. Não pode ser alterado posteriormente. Obrigatório.
nome Cadeia de caracteres Nome do atributo de segurança personalizado. Deve ser exclusivo em um conjunto de atributos. Pode ter até 32 caracteres e incluir caracteres Unicode. Não pode conter espaços ou caracteres especiais. Não pode ser alterado posteriormente. Diferenciar maiúsculas de minúsculas. Obrigatório.
status Cadeia de caracteres Especifica se o atributo de segurança personalizado está ativo ou desativado. Os valores aceitáveis são Available e Deprecated. Pode ser alterado posteriormente. Obrigatório.
type Cadeia de caracteres Tipo de dados para os valores de atributo de segurança personalizados. Os tipos com suporte são: Boolean, Integere String. Não pode ser alterado posteriormente. Obrigatório.
usePreDefinedValuesOnly Booliano Indica se apenas valores predefinidos podem ser atribuídos ao atributo de segurança personalizado. Se definido como false, valores de forma livre são permitidos. Pode ser alterado posteriormente de true para false, mas não pode ser alterado de false para true. Se o tipo for definido como Boolean, usePreDefinedValuesOnly não poderá ser definido como true. Obrigatório.

A propriedade id é gerada automaticamente e não pode ser definida.

Resposta

Se for bem-sucedido, esse método retornará um código de 201 Created resposta e um objeto customSecurityAttributeDefinition no corpo da resposta.

Exemplos

Exemplo 1: Adicionar um atributo de segurança personalizado

O exemplo a seguir adiciona uma nova definição de atributo de segurança personalizado que é um único valor de forma livre do tipo String.

  • Conjunto de atributos: Engineering
  • Atributo: ProjectDate

Solicitação

O exemplo a seguir mostra uma solicitação.

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
}

Resposta

O exemplo a seguir mostra a resposta.

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
}

Exemplo 2: Adicionar um atributo de segurança personalizado que dá suporte a vários valores predefinidos

O exemplo a seguir adiciona uma nova definição de atributo de segurança personalizado que dá suporte a vários valores do tipo String predefinidos.

  • Conjunto de atributos: Engineering
  • Atributo: Project

Solicitação

O exemplo a seguir mostra uma solicitação.

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
}

Resposta

O exemplo a seguir mostra a resposta.

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
}

Exemplo 3: Adicionar um atributo de segurança personalizado com uma lista de valores predefinidos

O exemplo a seguir adiciona uma nova definição de atributo de segurança personalizado com uma lista de valores predefinidos como uma coleção de Cadeias de Caracteres.

  • Conjunto de atributos: Engineering
  • Atributo: Project
  • Tipo de dados de atributo: Coleção de cadeias de caracteres
  • Valores predefinidos: Alpine, Baker, Cascade

Solicitação

O exemplo a seguir mostra uma solicitação.

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
        }
    ]
}

Resposta

O exemplo a seguir mostra a resposta.

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
}