Créer customSecurityAttributeDefinition

Espace de noms: microsoft.graph

Créez un objet customSecurityAttributeDefinition .

Cette API est disponible dans les déploiements de cloud national suivants.

Service global Gouvernement des États-Unis L4 Us Government L5 (DOD) Chine gérée par 21Vianet

Autorisations

Choisissez l’autorisation ou les autorisations marquées comme moins privilégiées pour cette API. Utilisez une autorisation ou des autorisations privilégiées plus élevées uniquement si votre application en a besoin. Pour plus d’informations sur les autorisations déléguées et d’application, consultez Types d’autorisations. Pour en savoir plus sur ces autorisations, consultez les informations de référence sur les autorisations.

Type d’autorisation Autorisations avec privilèges minimum Autorisations privilégiées plus élevées
Déléguée (compte professionnel ou scolaire) CustomSecAttributeDefinition.ReadWrite.All Non disponible.
Déléguée (compte Microsoft personnel) Non prise en charge. Non prise en charge.
Application CustomSecAttributeDefinition.ReadWrite.All Non disponible.

Importante

Dans les scénarios délégués avec des comptes professionnels ou scolaires, l’utilisateur connecté doit se voir attribuer un rôle Microsoft Entra pris en charge ou un rôle personnalisé avec une autorisation de rôle prise en charge. L’administrateur de définition d’attribut est le seul rôle privilégié pris en charge pour cette opération.

Par défaut, les rôles d’administrateur général et d’autres rôles d’administrateur ne disposent pas des autorisations nécessaires pour lire, définir ou attribuer des attributs de sécurité personnalisés.

Requête HTTP

POST /directory/customSecurityAttributeDefinitions

En-têtes de demande

Nom Description
Autorisation Porteur {token}. Obligatoire. En savoir plus sur l’authentification et l’autorisation.
Content-Type application/json. Obligatoire.

Corps de la demande

Dans le corps de la demande, fournissez une représentation JSON de l’objet customSecurityAttributeDefinition .

Le tableau suivant présente les propriétés que vous pouvez configurer lorsque vous créez un customSecurityAttributeDefinition.

Propriété Type Description
attributeSet String Nom du jeu d’attributs. Respect de la casse. Obligatoire.
description String Description de l’attribut de sécurité personnalisé. Peut contenir jusqu’à 128 caractères et inclure des caractères Unicode. Ne peut pas contenir d’espaces ou de caractères spéciaux. Peut être modifié ultérieurement. Optional.
isCollection Boolean Indique si plusieurs valeurs peuvent être affectées à l’attribut de sécurité personnalisé. Ne peut pas être modifié ultérieurement. Si type a la Booleanvaleur , isCollection ne peut pas être défini sur true. Obligatoire.
isSearchable Boolean Indique si les valeurs d’attribut de sécurité personnalisées sont indexées pour la recherche sur les objets auxquels des valeurs d’attribut sont attribuées. Ne peut pas être modifié ultérieurement. Obligatoire.
nom String Nom de l’attribut de sécurité personnalisé. Doit être unique dans un jeu d’attributs. Peut contenir jusqu’à 32 caractères et inclure des caractères Unicode. Ne peut pas contenir d’espaces ou de caractères spéciaux. Ne peut pas être modifié ultérieurement. Respect de la casse. Obligatoire.
status String Spécifie si l’attribut de sécurité personnalisé est actif ou désactivé. Les valeurs acceptables sont Available et Deprecated. Peut être modifié ultérieurement. Obligatoire.
type String Type de données pour les valeurs d’attribut de sécurité personnalisées. Les types pris en charge sont les suivants : Boolean, Integeret String. Ne peut pas être modifié ultérieurement. Obligatoire.
usePreDefinedValuesOnly Boolean Indique si seules des valeurs prédéfinies peuvent être affectées à l’attribut de sécurité personnalisé. Si la falsevaleur est définie sur , les valeurs de forme libre sont autorisées. Peut être modifié ultérieurement de true à , mais ne peut pas être remplacé par falsetrue.false Si type est défini sur Boolean, usePreDefinedValuesOnly ne peut pas être défini sur true. Obligatoire.

La propriété id est générée automatiquement et ne peut pas être définie.

Réponse

Si elle réussit, cette méthode renvoie un 201 Created code de réponse et un objet customSecurityAttributeDefinition dans le corps de la réponse.

Exemples

Exemple 1 : Ajouter un attribut de sécurité personnalisé

L’exemple suivant ajoute une nouvelle définition d’attribut de sécurité personnalisée qui est une valeur de forme libre unique de type String.

  • Jeu d’attributs : Engineering
  • Attribut : ProjectDate

Demande

L’exemple suivant illustre une demande.

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
}

Réponse

L’exemple suivant illustre la réponse.

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
}

Exemple 2 : Ajouter un attribut de sécurité personnalisé qui prend en charge plusieurs valeurs prédéfinies

L’exemple suivant ajoute une nouvelle définition d’attribut de sécurité personnalisée qui prend en charge plusieurs valeurs de type String prédéfinies.

  • Jeu d’attributs : Engineering
  • Attribut : Project

Demande

L’exemple suivant illustre une demande.

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
}

Réponse

L’exemple suivant illustre la réponse.

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
}

Exemple 3 : Ajouter un attribut de sécurité personnalisé avec une liste de valeurs prédéfinies

L’exemple suivant ajoute une nouvelle définition d’attribut de sécurité personnalisée avec une liste de valeurs prédéfinies en tant que collection de chaînes.

  • Jeu d’attributs : Engineering
  • Attribut : Project
  • Type de données d’attribut : collection de chaînes
  • Valeurs prédéfinies : Alpine, Baker, Cascade

Demande

L’exemple suivant illustre une demande.

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

Réponse

L’exemple suivant illustre la réponse.

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
}