Share via


Create customSecurityAttributeDefinition

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.

Create um novo objeto customSecurityAttributeDefinition.

Essa API está disponível nas seguintes implantações nacionais de nuvem.

Serviço global Governo dos EUA L4 GOVERNO DOS EUA L5 (DOD) China operada pela 21Vianet

Permissões

Escolha a permissão ou as permissões marcadas como menos privilegiadas para essa API. Use uma permissão ou permissões privilegiadas mais altas 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 privilegiadas mais altas
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.

O usuário conectado também deve receber pelo menos a função de diretório administrador de definiçãode atributo. Por padrão, o 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. Caso confidencial. 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 é possível 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 mais tarde. Se o tipo estiver 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 atribuídos a valores de atributo. Não pode ser alterado mais tarde. Obrigatório.
nome Cadeia de caracteres Nome do atributo de segurança personalizado. Deve ser exclusivo dentro de um conjunto de atributos. Pode ter até 32 caracteres e incluir caracteres Unicode. Não é possível conter espaços ou caracteres especiais. Não pode ser alterado mais tarde. Caso confidencial. Obrigatório.
status Cadeia de caracteres Especifica se o atributo de segurança personalizado está ativo ou desativado. 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 mais tarde. Obrigatório.
usePreDefinedValuesOnly Booliano Indica se somente valores predefinidos podem ser atribuídos ao atributo de segurança personalizado. Se definido como false, os valores de formulário livre serão permitidos. Posteriormente, pode ser alterado de true para false, mas não pode ser alterado de false para true. Se o tipo estiver 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 201 Created código de 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 personalizada 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/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
}

Resposta

O exemplo a seguir mostra a resposta.

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
}

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 personalizada 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/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
}

Resposta

O exemplo a seguir mostra a resposta.

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
}

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

Aqui está um exemplo que adiciona uma nova definição de atributo de segurança personalizada 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, , BakerCascade

Solicitação

O exemplo a seguir mostra uma solicitação.

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

Resposta

O exemplo a seguir mostra a resposta.

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
}