Share via


Create roleAssignmentScheduleRequests

Espace de noms: microsoft.graph

Importante

Les API sous la version /beta dans Microsoft Graph sont susceptibles d’être modifiées. L’utilisation de ces API dans des applications de production n’est pas prise en charge. Pour déterminer si une API est disponible dans v1.0, utilisez le sélecteur Version .

Create un nouvel objet unifiedRoleAssignmentScheduleRequest. Cette opération permet aux administrateurs et aux utilisateurs d’ajouter, de supprimer, d’étendre ou de renouveler des affectations. Pour exécuter cette requête, l’utilisateur appelant doit avoir appliqué l’authentification multifacteur (MFA) et exécuter la requête dans une session dans laquelle il a été contesté pour l’authentification multifacteur. Consultez Activer l’authentification multifacteur par utilisateur Microsoft Entra pour sécuriser les événements de connexion.

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) RoleAssignmentSchedule.ReadWrite.Directory RoleAssignmentSchedule.Remove.Directory, RoleEligibilitySchedule.Remove.Directory, RoleManagement.ReadWrite.Directory
Déléguée (compte Microsoft personnel) Non prise en charge. Non prise en charge.
Application RoleManagement.ReadWrite.Directory RoleAssignmentSchedule.Remove.Directory, RoleEligibilitySchedule.Remove.Directory

Pour les scénarios délégués, l’utilisateur connecté doit également se voir attribuer au moins l’un des rôles Microsoft Entra suivants :

  • Pour les opérations de lecture : Lecteur général, Opérateur de sécurité, Lecteur de sécurité, Administrateur de la sécurité ou Administrateur de rôle privilégié
  • Pour les opérations d’écriture : Administrateur de rôle privilégié

Requête HTTP

POST /roleManagement/directory/roleAssignmentScheduleRequests

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 unifiedRoleAssignmentScheduleRequest .

Le tableau suivant répertorie les propriétés requises lorsque vous créez unifiedRoleAssignmentScheduleRequest.

Propriété Type Description
id Chaîne Identificateur unique de unifiedRoleAssignmentScheduleRequest. Clé non nullable, en lecture seule.
action Chaîne Représente le type de l’opération sur l’attribution de rôle. Les valeurs possibles sont les suivantes :
  • AdminAssign: pour que les administrateurs attribuent des rôles à des utilisateurs ou des groupes.
  • AdminRemove: pour que les administrateurs suppriment des utilisateurs ou des groupes des rôles.
  • AdminUpdate: pour que les administrateurs modifient les attributions de rôles existantes.
  • AdminExtend: pour que les administrateurs étendent les attributions arrivant à expiration.
  • AdminRenew: pour que les administrateurs renouvellent les affectations expirées.
  • SelfActivate: pour que les utilisateurs activent leurs affectations.
  • SelfDeactivate: pour que les utilisateurs désactivent leurs affectations actives.
  • SelfExtend: pour que les utilisateurs demandent d’étendre leurs affectations arrivant à expiration.
  • SelfRenew: pour que les utilisateurs demandent de renouveler leurs affectations expirées.
principalId Chaîne Identificateur du principal auquel l’attribution est accordée.
roleDefinitionId Chaîne Identificateur du unifiedRoleDefinition pour lequel l’affectation est destinée. En lecture seule.
directoryScopeId Chaîne Identificateur de l’objet directory représentant l’étendue de l’affectation. L’étendue d’une affectation détermine l’ensemble des ressources pour lesquelles l’accès au principal a été accordé. Les étendues de répertoire sont des étendues partagées stockées dans le répertoire et comprises par plusieurs applications. Utilisez / pour l’étendue à l’échelle du locataire. Utilisez appScopeId pour limiter l’étendue à une application uniquement.
appScopeId Chaîne Identificateur de l’étendue spécifique à l’application lorsque l’étendue d’affectation est spécifique à l’application. L’étendue d’une affectation détermine l’ensemble des ressources pour lesquelles l’accès au principal a été accordé. Les étendues d’application sont des étendues définies et comprises par cette application uniquement. Utilisez / pour les étendues d’application à l’échelle du locataire. Utilisez directoryScopeId pour limiter l’étendue à des objets d’annuaire particuliers, par exemple des unités administratives.
isValidationOnly Valeur booléenne Spécifie si l’appel est une validation ou un appel réel. Définissez cette propriété uniquement si vous souhaitez case activée si une activation est soumise à des règles supplémentaires telles que l’authentification multifacteur avant d’envoyer réellement la demande.
targetScheduleId Chaîne ID de l’objet de planification attaché à l’affectation.
Justification Chaîne Message fourni par les utilisateurs et les administrateurs lors de la création de la demande sur la raison pour laquelle elle est nécessaire.
scheduleInfo requestSchedule Objet de planification de la demande d’attribution de rôle.
ticketInfo ticketInfo Objet ticketInfo attaché à la demande d’attribution de rôle qui inclut les détails du numéro de ticket et du système de ticket.

Réponse

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

Lorsque l’utilisateur appelant n’a pas été mis en cause pour l’authentification multifacteur pendant sa session de connexion, une requête avec l’action SelfActiver échoue et retourne un 400 Bad request code de réponse.

Exemples

Exemple 1 : Administration l’attribution d’un rôle d’annuaire à un principal

Demande

Dans la requête suivante, l’administrateur crée une demande pour attribuer un rôle identifié par fdd7a751-b60b-444a-984c-02652fe8fa1c à un principal identifié par id07706ff1-46c7-4847-ae33-3003830675a1. L’étendue de leur rôle est tous les objets d’annuaire dans le locataire et l’attribution est permanente, c’est-à-dire qu’elle n’expire pas.

POST https://graph.microsoft.com/beta/roleManagement/directory/roleAssignmentScheduleRequests/
Content-Type: application/json

{
  "action": "AdminAssign",
  "justification": "Assign User Admin to IT Helpdesk (User) group",
  "roleDefinitionId": "fdd7a751-b60b-444a-984c-02652fe8fa1c",
  "directoryScopeId": "/",
  "principalId": "07706ff1-46c7-4847-ae33-3003830675a1",
  "scheduleInfo": {
    "startDateTime": "2021-07-01T00:00:00Z",
    "expiration": {
      "type": "NoExpiration"
    }
  }
}

Réponse

L’exemple suivant illustre la réponse.

Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.

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

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#roleManagement/directory/roleAssignmentScheduleRequests/$entity",
  "id": "b5a22921-656a-4429-9c4e-59a5f576614d",
  "status": "Provisioned",
  "createdDateTime": "2021-07-27T09:18:40.2029365Z",
  "completedDateTime": "2021-07-27T09:18:42.7811184Z",
  "approvalId": null,
  "customData": null,
  "action": "AdminAssign",
  "principalId": "07706ff1-46c7-4847-ae33-3003830675a1",
  "roleDefinitionId": "fdd7a751-b60b-444a-984c-02652fe8fa1c",
  "directoryScopeId": "/",
  "appScopeId": null,
  "isValidationOnly": false,
  "targetScheduleId": "b5a22921-656a-4429-9c4e-59a5f576614d",
  "justification": "Assign User Admin to IT Helpdesk (User) group",
  "createdBy": {
    "application": null,
    "device": null,
    "user": {
      "displayName": null,
      "id": "fc9a2c2b-1ddc-486d-a211-5fe8ca77fa1f"
    }
  },
  "scheduleInfo": {
    "startDateTime": "2021-07-27T09:18:42.7811184Z",
    "recurrence": null,
    "expiration": {
      "type": "noExpiration",
      "endDateTime": null,
      "duration": null
    }
  },
  "ticketInfo": {
    "ticketNumber": null,
    "ticketSystem": null
  }
}

Exemple 2 : Utilisateur activant son rôle éligible

Demande

Dans la requête suivante, un utilisateur identifié par principalIdc6ad1942-4afa-47f8-8d48-afb5d8d69d2f active son propre rôle éligible identifié par 9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3. L’étendue de leur rôle est tous les objets d’annuaire dans le locataire et l’attribution est de cinq heures. Pour exécuter cette requête, l’utilisateur appelant doit avoir appliqué l’authentification multifacteur (MFA) et exécuter la requête dans une session dans laquelle il a été contesté pour l’authentification multifacteur.

POST https://graph.microsoft.com/beta/roleManagement/directory/roleAssignmentScheduleRequests/
Content-Type: application/json

{
    "action": "SelfActivate",
    "principalId": "c6ad1942-4afa-47f8-8d48-afb5d8d69d2f",
    "roleDefinitionId": "9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3",
    "directoryScopeId": "/",
    "justification": "Need to update app roles for selected apps.",
    "scheduleInfo": {
        "startDateTime": "2021-08-17T17:40:00.000Z",
        "expiration": {
            "type": "AfterDuration",
            "duration": "PT5H"
        }
    },
    "ticketInfo": {
        "ticketNumber": "CONTOSO:Normal-67890",
        "ticketSystem": "MS Project"
    }
}

Réponse

L’exemple suivant illustre la réponse.

Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.

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

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#roleManagement/directory/roleAssignmentScheduleRequests/$entity",
    "id": "163daf73-8746-4996-87de-ab71dc624bf9",
    "status": "Granted",
    "createdDateTime": "2021-08-17T17:39:36.7040696Z",
    "completedDateTime": "2021-08-17T17:40:00Z",
    "approvalId": null,
    "customData": null,
    "action": "SelfActivate",
    "principalId": "c6ad1942-4afa-47f8-8d48-afb5d8d69d2f",
    "roleDefinitionId": "9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3",
    "directoryScopeId": "/",
    "appScopeId": null,
    "isValidationOnly": false,
    "targetScheduleId": "163daf73-8746-4996-87de-ab71dc624bf9",
    "justification": "Need to update app roles for selected apps.",
    "createdBy": {
        "application": null,
        "device": null,
        "user": {
            "displayName": null,
            "id": "c6ad1942-4afa-47f8-8d48-afb5d8d69d2f"
        }
    },
    "scheduleInfo": {
        "startDateTime": "2021-08-17T17:40:00Z",
        "recurrence": null,
        "expiration": {
            "type": "afterDuration",
            "endDateTime": null,
            "duration": "PT5H"
        }
    },
    "ticketInfo": {
        "ticketNumber": "CONTOSO:Normal-67890",
        "ticketSystem": "MS Project"
    }
}