Créer governanceRoleAssignmentRequest

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 .

Attention

Cette version de l’API Privileged Identity Management (PIM) pour les ressources Azure sera bientôt déconseillée. Utilisez la nouvelle API PIM REST Azure pour les rôles de ressources Azure.

Créez une demande d’attribution de rôle pour représenter l’opération souhaitée sur une attribution de rôle. Le tableau suivant répertorie les opérations.

Opération Type
Attribuer une attribution de rôle AdministrateurAjouter
Activer une attribution de rôle éligible Useradd
Désactiver une attribution de rôle activée UserRemove
Supprimer une attribution de rôle AdminRemove
Mettre à jour une attribution de rôle AdminUpdate
Demande d’extension de mon attribution de rôle UserExtend
Étendre une attribution de rôle AdminExtend
Demande de renouvellement de mon attribution de rôle expirée UserRenew
Renouveler une attribution de rôle expirée AdminRenew

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

Le tableau suivant indique l’autorisation ou les autorisations les moins privilégiées requises pour appeler cette API sur chaque type de ressource pris en charge. Suivez les bonnes pratiques pour demander des autorisations minimales. 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.

Ressource prise en charge Déléguée (compte professionnel ou scolaire) Déléguée (compte Microsoft personnel) Application
Identifiant Microsoft Entra PrivilegedAccess.ReadWrite.AzureAD Non prise en charge. Non prise en charge.
Ressources Azure PrivilegedAccess.ReadWrite.AzureResources Non prise en charge. Non prise en charge.
groupe PrivilegedAccess.ReadWrite.AzureADGroup Non prise en charge. Non prise en charge.

Requête HTTP

POST /privilegedAccess/azureResources/roleAssignmentRequests

En-têtes de demande

Nom Description
Autorisation Porteur {code}
Content-type application/json

Corps de la demande

Dans le corps de la demande, fournissez une représentation JSON d’un objet governanceRoleAssignmentRequest .

Propriété Type Description
resourceId String Identificateur unique de la ressource Azure associée à la demande d’attribution de rôle. Les ressources Azure peuvent inclure des abonnements, des groupes de ressources, des machines virtuelles et des bases de données SQL. Obligatoire.
roleDefinitionId Chaîne Identificateur de la définition de rôle Azure à laquelle la demande d’attribution de rôle est associée. Obligatoire.
subjectId Chaîne Identificateur unique du principal ou du sujet auquel la demande d’attribution de rôle est associée. Les principaux peuvent être des utilisateurs, des groupes ou des principaux de service. Obligatoire.
assignmentState Chaîne État de l’affectation. La valeur peut être Eligible et Active. Obligatoire.
type Chaîne Type de demande. La valeur peut être AdminAdd, UserAdd, AdminUpdate, AdminRemoveUserRemove, UserExtend, UserRenew, AdminRenewet AdminExtend. Obligatoire.
reason (Raison) Chaîne La raison doit être fournie pour la demande d’attribution de rôle à des fins d’audit et de révision.
planifier governanceSchedule Planification de la demande d’attribution de rôle. Pour le type de demande , UserAddAdminAdd, AdminUpdateet AdminExtend, il est nécessaire.

Réponse

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

Codes d’erreur

Cette API retourne les codes d’erreur HTTP standard. En outre, elle retourne également les codes d’erreur répertoriés dans le tableau suivant.

Code d’erreur Message d’erreur Détails
400 BadRequest RoleNotFound Le roleDefinitionId fourni dans le corps de la demande est introuvable.
400 BadRequest ResourceIsLocked La ressource fournie dans le corps de la demande est dans l’état de et ne peut pas créer de demandes d’attribution de Locked rôle.
400 BadRequest SubjectNotFound Le subjectId fourni dans le corps de la demande est introuvable.
400 BadRequest PendingRoleAssignmentRequest Il existe déjà une demande governanceRoleAssignmentRequest en attente dans le système.
400 BadRequest RoleAssignmentExists Le governanceRoleAssignment demandé à être créé existe déjà dans le système.
400 BadRequest RoleAssignmentDoesNotExist Le governanceRoleAssignment demandé pour être mis à jour/étendu n’existe pas dans le système.
400 BadRequest RoleAssignmentRequestPolicyValidationFailed Le governanceRoleAssignmentRequest ne répond pas aux stratégies internes et ne peut pas être créé.

Exemples

Les exemples suivants montrent comment utiliser cette API.

Exemple 1 : L’administrateur attribue un rôle à l’utilisateur

Dans cet exemple, un administrateur attribue à l’utilisateur nawu@contoso.com le rôle Lecteur de facturation.

Note: En plus de l’autorisation, cet exemple exige que le demandeur dispose d’au moins une attribution de rôle d’administrateur Active (owner ou user access administrator) sur la ressource.

Propriété Type Requis Valeur
resourceId String Oui <resourceId>
roleDefinitionId Chaîne Oui <roleDefinitionId>
subjectId Chaîne Oui <subjectId>
assignmentState Chaîne Oui Éligible / Actif
type Chaîne Oui AdministrateurAjouter
reason (Raison) Chaîne dépend des paramètres de rôle
planifier governanceSchedule Oui

Demande

POST https://graph.microsoft.com/beta/privilegedAccess/azureResources/roleAssignmentRequests
Content-type: application/json

{
  "roleDefinitionId": "ea48ad5e-e3b0-4d10-af54-39a45bbfe68d",
  "resourceId": "e5e7d29d-5465-45ac-885f-4716a5ee74b5",
  "subjectId": "918e54be-12c4-4f4c-a6d3-2ee0e3661c51",
  "assignmentState": "Eligible",
  "type": "AdminAdd",
  "reason": "Assign an eligible role",
  "schedule": {
    "startDateTime": "2018-05-12T23:37:43.356Z",
    "endDateTime": "2018-11-08T23:37:43.356Z",
    "type": "Once"
  }
}

Réponse

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

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#governanceRoleAssignmentRequests/$entity",
  "id": "1232e4ea-741a-4be5-8044-5edabdd61672",
  "resourceId": "e5e7d29d-5465-45ac-885f-4716a5ee74b5",
  "roleDefinitionId": "ea48ad5e-e3b0-4d10-af54-39a45bbfe68d",
  "subjectId": "918e54be-12c4-4f4c-a6d3-2ee0e3661c51",
  "linkedEligibleRoleAssignmentId": "",
  "type": "AdminAdd",
  "assignmentState": "Eligible",
  "requestedDateTime": "0001-01-01T00:00:00Z",
  "reason": "Evaluate Only",
  "status": {
    "status": "InProgress",
    "subStatus": "Granted",
    "statusDetails": [
      {
        "key": "AdminRequestRule",
        "value": "Grant"
      },
      {
        "key": "ExpirationRule",
        "value": "Grant"
      },
      {
        "key": "MfaRule",
        "value": "Grant"
      }
    ]
  },
  "schedule": {
    "type": "Once",
    "startDateTime": "2018-05-12T23:37:43.356Z",
    "endDateTime": "2018-11-08T23:37:43.356Z",
    "duration": "PT0S"
  }
}

Exemple 2 : L’utilisateur active un rôle éligible

Dans cet exemple, l’utilisateur nawu@contoso.com active le rôle Lecteur de facturation éligible.

Propriété Type Requis Valeur
resourceId String Oui <resourceId>
roleDefinitionId Chaîne Oui <roleDefinitionId>
subjectId Chaîne Oui <subjectId>
assignmentState Chaîne Oui Actif
type Chaîne Oui Useradd
reason (Raison) Chaîne dépend des paramètres de rôle
planifier governanceSchedule Oui

Demande

POST https://graph.microsoft.com/beta/privilegedAccess/azureResources/roleAssignmentRequests
Content-type: application/json

{
  "roleDefinitionId": "8b4d1d51-08e9-4254-b0a6-b16177aae376",
  "resourceId": "e5e7d29d-5465-45ac-885f-4716a5ee74b5",
  "subjectId": "918e54be-12c4-4f4c-a6d3-2ee0e3661c51",
  "assignmentState": "Active",
  "type": "UserAdd",
  "reason": "Activate the owner role",
  "schedule": {
    "type": "Once",
    "startDateTime": "2018-05-12T23:28:43.537Z",
    "duration": "PT9H"
  },
  "linkedEligibleRoleAssignmentId": "e327f4be-42a0-47a2-8579-0a39b025b394"
}

Réponse

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

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#governanceRoleAssignmentRequests/$entity",
  "id": "3ad49a7c-918e-4d86-9f84-fab28f8658c0",
  "resourceId": "e5e7d29d-5465-45ac-885f-4716a5ee74b5",
  "roleDefinitionId": "8b4d1d51-08e9-4254-b0a6-b16177aae376",
  "subjectId": "918e54be-12c4-4f4c-a6d3-2ee0e3661c51",
  "linkedEligibleRoleAssignmentId": "e327f4be-42a0-47a2-8579-0a39b025b394",
  "type": "UserAdd",
  "assignmentState": "Active",
  "requestedDateTime": "0001-01-01T00:00:00Z",
  "reason": "Activate the owner role",
  "status": {
    "status": "InProgress",
    "subStatus": "Granted",
    "statusDetails": [
      {
        "key": "EligibilityRule",
        "value": "Grant"
      },
      {
        "key": "ExpirationRule",
        "value": "Grant"
      },
      {
        "key": "MfaRule",
        "value": "Grant"
      },
      {
        "key": "JustificationRule",
        "value": "Grant"
      },
      {
        "key": "ActivationDayRule",
        "value": "Grant"
      },
      {
        "key": "ApprovalRule",
        "value": "Grant"
      }
    ]
  },
  "schedule": {
    "type": "Once",
    "startDateTime": "2018-05-12T23:28:43.537Z",
    "endDateTime": "0001-01-01T00:00:00Z",
    "duration": "PT9H"
  }
}

Exemple 3 : L’utilisateur désactive un rôle attribué

Dans cet exemple, l’utilisateur nawu@contoso.com désactive le rôle Lecteur de facturation actif.

Propriété Type Requis Valeur
resourceId String Oui <resourceId>
roleDefinitionId Chaîne Oui <roleDefinitionId>
subjectId Chaîne Oui <subjectId>
assignmentState Chaîne Oui Actif
type Chaîne Oui UserRemove
reason (Raison) Chaîne Non
planifier governanceSchedule Non

Demande

POST https://graph.microsoft.com/beta/privilegedAccess/azureResources/roleAssignmentRequests
Content-type: application/json

{
  "roleDefinitionId": "bc75b4e6-7403-4243-bf2f-d1f6990be122",
  "resourceId": "fb016e3a-c3ed-4d9d-96b6-a54cd4f0b735",
  "subjectId": "918e54be-12c4-4f4c-a6d3-2ee0e3661c51",
  "assignmentState": "Active",
  "type": "UserRemove",
  "reason": "Deactivate the role",
  "linkedEligibleRoleAssignmentId": "cb8a533e-02d5-42ad-8499-916b1e4822ec"
}

Réponse

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

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#governanceRoleAssignmentRequests/$entity",
  "id": "abfcdb57-8e5d-42a0-ae67-7598b96fddb1",
  "resourceId": "fb016e3a-c3ed-4d9d-96b6-a54cd4f0b735",
  "roleDefinitionId": "bc75b4e6-7403-4243-bf2f-d1f6990be122",
  "subjectId": "918e54be-12c4-4f4c-a6d3-2ee0e3661c51",
  "linkedEligibleRoleAssignmentId": "cb8a533e-02d5-42ad-8499-916b1e4822ec",
  "type": "UserRemove",
  "assignmentState": "Active",
  "requestedDateTime": "0001-01-01T00:00:00Z",
  "reason": "Evaluate only",
  "schedule": null,
  "status": {
    "status": "Closed",
    "subStatus": "Revoked",
    "statusDetails": []
  }
}

Exemple 4 : L’administrateur supprime un utilisateur d’un rôle

Dans cet exemple, un administrateur supprime l’utilisateur nawu@contoso.com du rôle Lecteur de facturation.

Note: En plus de l’autorisation, cet exemple exige que le demandeur dispose d’au moins une attribution de rôle d’administrateur Active (owner ou user access administrator) sur la ressource.

Propriété Type Requis Valeur
resourceId String Oui <resourceId>
roleDefinitionId Chaîne Oui <roleDefinitionId>
subjectId Chaîne Oui <subjectId>
assignmentState Chaîne Oui Éligible / Actif
type Chaîne Oui AdminRemove
reason (Raison) Chaîne Non
planifier governanceSchedule Non

Demande

POST https://graph.microsoft.com/beta/privilegedAccess/azureResources/roleAssignmentRequests
Content-type: application/json

{
  "roleDefinitionId": "65bb4622-61f5-4f25-9d75-d0e20cf92019",
  "resourceId": "e5e7d29d-5465-45ac-885f-4716a5ee74b5",
  "subjectId": "74765671-9ca4-40d7-9e36-2f4a570608a6",
  "assignmentState": "Eligible",
  "type": "AdminRemove"
}

Réponse

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

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#governanceRoleAssignmentRequests/$entity",
  "id": "c934fcb9-cf53-42ac-a8b4-6246f6726299",
  "resourceId": "e5e7d29d-5465-45ac-885f-4716a5ee74b5",
  "roleDefinitionId": "65bb4622-61f5-4f25-9d75-d0e20cf92019",
  "subjectId": "74765671-9ca4-40d7-9e36-2f4a570608a6",
  "linkedEligibleRoleAssignmentId": "",
  "type": "AdminRemove",
  "assignmentState": "Eligible",
  "requestedDateTime": "0001-01-01T00:00:00Z",
  "reason": null,
  "status": {
    "status": "Closed",
    "subStatus": "Revoked",
    "statusDetails": []
  },
  "schedule": null
}

Exemple 5 : l’administrateur met à jour l’attribution de rôle

Dans cet exemple, les administrateurs mettent à jour l’attribution de rôle de l’utilisateur nawu@contoso.com sur Propriétaire.

Note: En plus de l’autorisation, cet exemple exige que le demandeur dispose d’au moins une attribution de rôle d’administrateur Active (owner ou user access administrator) sur la ressource.

Propriété Type Requis Valeur
resourceId String Oui <resourceId>
roleDefinitionId Chaîne Oui <roleDefinitionId>
subjectId Chaîne Oui <subjectId>
assignmentState Chaîne Oui Éligible / Actif
type Chaîne Oui AdminUpdate
reason (Raison) Chaîne dépend de roleSettings
planifier governanceSchedule Oui

Demande

POST https://graph.microsoft.com/beta/privilegedAccess/azureResources/roleAssignmentRequests
Content-type: application/json

{
  "roleDefinitionId": "70521f3e-3b95-4e51-b4d2-a2f485b02103",
  "resourceId": "e5e7d29d-5465-45ac-885f-4716a5ee74b5",
  "subjectId": "1566d11d-d2b6-444a-a8de-28698682c445",
  "assignmentState": "Eligible",
  "type": "AdminUpdate",
  "schedule": {
    "type": "Once",
    "startDateTime": "2018-03-08T05:42:45.317Z",
    "endDateTime": "2018-06-05T05:42:31.000Z"
  }
}

Réponse

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

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#governanceRoleAssignmentRequests/$entity",
  "id": "4f6d4802-b3ac-4f5a-86d7-a6a4edd7d383",
  "resourceId": "e5e7d29d-5465-45ac-885f-4716a5ee74b5",
  "roleDefinitionId": "70521f3e-3b95-4e51-b4d2-a2f485b02103",
  "subjectId": "1566d11d-d2b6-444a-a8de-28698682c445",
  "linkedEligibleRoleAssignmentId": "",
  "type": "AdminUpdate",
  "assignmentState": "Eligible",
  "requestedDateTime": "0001-01-01T00:00:00Z",
  "reason": null,
  "status": {
    "status": "InProgress",
    "subStatus": "Granted",
    "statusDetails": [
      {
        "key": "AdminRequestRule",
        "value": "Grant"
      },
      {
        "key": "ExpirationRule",
        "value": "Grant"
      },
      {
        "key": "MfaRule",
        "value": "Grant"
      }
    ]
  },
  "schedule": {
    "type": "Once",
    "startDateTime": "2018-03-08T05:42:45.317Z",
    "endDateTime": "2018-06-05T05:42:31Z",
    "duration": "PT0S"
  }
}

Exemple 6 : L’administrateur étend l’attribution de rôle arrivant à expiration

Cet exemple étend l’attribution de rôle arrivant à expiration pour l’utilisateur ANUJCUSER à Gestion des API Contributeur de service.

Note: En plus de l’autorisation, cet exemple exige que le demandeur dispose d’au moins une attribution de rôle d’administrateur Active (owner ou user access administrator) sur la ressource.

Propriété Type Requis Valeur
resourceId String Oui <resourceId>
roleDefinitionId Chaîne Oui <roleDefinitionId>
subjectId Chaîne Oui <subjectId>
assignmentState Chaîne Oui Éligible / Actif
type Chaîne Oui AdminExtend
reason (Raison) Chaîne dépend de roleSettings
planifier governanceSchedule Oui

Demande

POST https://graph.microsoft.com/beta/privilegedAccess/azureResources/roleAssignmentRequests
Content-type: application/json

{
  "roleDefinitionId": "0e88fd18-50f5-4ee1-9104-01c3ed910065",
  "resourceId": "e5e7d29d-5465-45ac-885f-4716a5ee74b5",
  "subjectId": "74765671-9ca4-40d7-9e36-2f4a570608a6",
  "assignmentState": "Eligible",
  "type": "AdminExtend",
  "reason": "extend role assignment",
  "schedule": {
    "type": "Once",
    "startDateTime": "2018-05-12T23:53:55.327Z",
    "endDateTime": "2018-08-10T23:53:55.327Z"
  }
}

Réponse

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

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#governanceRoleAssignmentRequests/$entity",
  "id": "486f0c05-47c8-4498-9c06-086a78c83004",
  "resourceId": "e5e7d29d-5465-45ac-885f-4716a5ee74b5",
  "roleDefinitionId": "0e88fd18-50f5-4ee1-9104-01c3ed910065",
  "subjectId": "74765671-9ca4-40d7-9e36-2f4a570608a6",
  "linkedEligibleRoleAssignmentId": "",
  "type": "AdminExtend",
  "assignmentState": "Eligible",
  "requestedDateTime": "0001-01-01T00:00:00Z",
  "reason": "extend role assignment",
  "status": {
    "status": "InProgress",
    "subStatus": "Granted",
    "statusDetails": [
      {
        "key": "AdminRequestRule",
        "value": "Grant"
      },
      {
        "key": "ExpirationRule",
        "value": "Grant"
      },
      {
        "key": "MfaRule",
        "value": "Grant"
      }
    ]
  },
  "schedule": {
    "type": "Once",
    "startDateTime": "2018-05-12T23:53:55.327Z",
    "endDateTime": "2018-08-10T23:53:55.327Z",
    "duration": "PT0S"
  }
}