Créer accessPackageResourceRequest

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 .

Créez un objet accessPackageResourceRequest pour demander l’ajout d’une ressource à un catalogue de packages d’accès, la mise à jour d’une ressource ou la suppression d’une ressource d’un catalogue. Une ressource doit être incluse dans un catalogue de packages d’accès avant qu’un rôle de cette ressource puisse être ajouté à un package d’accès.

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

Service global Gouvernement américain L4 Gouvernement américain L5 (DOD) Chine exploitée par 21Vianet
✅ ✅ ✅ ✅

Autorisations

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

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

Conseil

Dans les scénarios de délégation de comptes professionnels ou scolaires, l’utilisateur connecté doit également disposer d’un rôle d’administrateur avec des autorisations de rôle prises en charge via l’une des options suivantes :

Dans les scénarios d’application uniquement, l’application appelante peut se voir attribuer l’un des rôles pris en charge précédents au lieu de l’autorisation d’application EntitlementManagement.ReadWrite.All . Le rôle Propriétaire du catalogue est moins privilégié que l’autorisation de l’application EntitlementManagement.ReadWrite.All .

En outre, vous devez également disposer des autorisations suivantes sur la ressource ajoutée :

  • Pour ajouter un groupe Microsoft Entra en tant que ressource à un catalogue :
    • Si vous utilisez des autorisations déléguées, l’utilisateur qui demande à ajouter un groupe doit être propriétaire du groupe ou avoir un rôle d’annuaire qui lui permet de modifier les groupes.
    • Si vous utilisez des autorisations d’application, l’autorisation doit également être attribuée Group.ReadWrite.All à l’application demandant l’ajout du groupe.
  • Pour ajouter un rôle Microsoft Entra en tant que ressource à un catalogue :
    • Si vous utilisez des autorisations déléguées, l’utilisateur qui souhaite ajouter le rôle au catalogue doit être administrateur général ou administrateur de rôle privilégié avec des autorisations de propriétaire de catalogue.
    • Les applications disposant des autorisations Entitlement Management.ReadWrite.All ne peuvent pas ajouter de rôles Microsoft Entra aux catalogues, sauf si elles disposent également d’autorisations d’administrateur général ou d’administrateur de rôles de privilèges.
  • Pour ajouter une application Microsoft Entra en tant que ressource à un catalogue :
    • Si vous utilisez des autorisations déléguées, l’utilisateur qui demande à ajouter une application doit être propriétaire de l’application ou dans un rôle d’annuaire qui lui permet de modifier les attributions de rôles d’application.
    • Si vous utilisez des autorisations d’application, l’application qui demande à ajouter le principal de service doit également disposer de l’autorisation Application.ReadWrite.All .
  • Pour ajouter un site SharePoint Online en tant que ressource à un catalogue :
    • Si vous utilisez des autorisations déléguées, l’utilisateur doit disposer du rôle d’administrateur SharePoint ou être administrateur du site SharePoint.
    • Si vous utilisez des autorisations d’application, l’autorisation doit également être attribuée à l’application Sites.FullControl.All .

Requête HTTP

POST /identityGovernance/entitlementManagement/accessPackageResourceRequests

En-têtes de demande

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

Corps de la demande

Dans le corps de la demande, fournissez une représentation JSON d’un objet accessPackageResourceRequest . Incluez la accessPackageResource relation avec un objet accessPackageResource dans la demande.

Pour ajouter un groupe Microsoft Entra en tant que ressource à un catalogue, définissez catalogId comme étant de l’ID du catalogue, requestType comme étant AdminAdd, et représentant accessPackageResource la ressource. La valeur de la propriété originSystem dans devrait accessPackageResource être AadGroup et la valeur de originId est l’identificateur du groupe. Si vous utilisez des autorisations déléguées, l’utilisateur qui demande à ajouter un groupe doit être propriétaire du groupe ou avoir un rôle d’annuaire qui lui permet de modifier les groupes. Si vous utilisez des autorisations d’application, l’autorisation doit également être attribuée Group.ReadWrite.All à l’application demandant l’ajout du groupe.

Pour ajouter une application Microsoft Entra en tant que ressource à un catalogue, définissez catalogId comme étant de l’ID du catalogue, requestType comme étant AdminAdd, et représentant accessPackageResource la ressource. La valeur de la propriété originSystem dans should be accessPackageResourceAadApplication et la valeur de originId est l’identificateur de servicePrincipal. Si vous utilisez des autorisations déléguées, l’utilisateur qui demande à ajouter une application doit être propriétaire de l’application ou dans un rôle d’annuaire qui lui permet de modifier les attributions de rôles d’application.

Pour ajouter un site SharePoint Online en tant que ressource à un catalogue, définissez catalogId comme étant de l’ID du catalogue, requestType comme étant AdminAdd, et représentant accessPackageResource la ressource. La valeur de la propriété originSystem dans devrait accessPackageResource être SharePointOnline et la valeur de l’originId est l’URI du site. Si vous utilisez des autorisations déléguées, l’utilisateur doit avoir le rôle d’administrateur SharePoint. Si vous utilisez des autorisations d’application, l’autorisation doit également être attribuée Sites.FullControl.All à l’application demandant l’ajout du site. Pour affecter l’environnement de géolocalisation d’une ressource Sharepoint Online à plusieurs géolocalisations, incluez la relation accessPackageResourceEnvironment dans l’objet accessPackageResource . Cette opération peut être effectuée de deux manières :

  • Utilisez @odata.bind l’annotation pour affecter le id à accessPackageResourceEnvironment un accessPackageResourceEnvironment objet.
  • Spécifiez le originId paramètre de dans accessPackageResourceEnvironment un accessPackageResourceEnvironment objet.

Pour supprimer une ressource d’un catalogue, définissez catalogId comme étant l’ID du catalogue, requestType comme étant AdminRemove, et l’objet accessPackageResource de ressource à supprimer. L’objet de ressource peut être récupéré à l’aide de list accessPackageResources.

Réponse

En cas de réussite, cette méthode renvoie un 201 Created code de réponse et un nouvel objet accessPackageResourceRequest dans le corps de la réponse.

Exemples

Exemple 1 : créer une accessPackageResourceRequest pour ajouter un site en tant que ressource

Demande

L’exemple suivant illustre une demande.

POST https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackageResourceRequests
Content-type: application/json

{
  "catalogId":"26ac0c0a-08bc-4a7b-a313-839f58044ba5",
  "requestType": "AdminAdd",
  "justification": "",
  "accessPackageResource": {
     "displayName": "Sales",
     "description": "https://contoso.sharepoint.com/sites/Sales",
     "url": "https://contoso.sharepoint.com/sites/Sales",
     "resourceType": "SharePoint Online Site",
     "originId": "https://contoso.sharepoint.com/sites/Sales",
     "originSystem": "SharePointOnline"
  }
}

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

{
  "catalogId": "26ac0c0a-08bc-4a7b-a313-839f58044ba5",
  "id": "1fe272f0-d463-42aa-a9a8-b07ab50a1c4d",
  "isValidationOnly": false,
  "justification": "",
  "requestState": "Delivered",
  "requestStatus": "Fulfilled",
  "requestType": "AdminAdd"
}

Exemple 2 : créer une accessPackageResourceRequest pour ajouter un site en tant que ressource et affecter une accessPackageResourceEnvironment à l’aide de @odata.bind

Demande

L’exemple suivant illustre une demande. Dans cet exemple, l’annotation @odata.bind est utilisée pour affecter le idaccessPackageResourceEnvironment à un accessPackageResourceEnvironment objet.

POST https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackageResourceRequests
Content-type: application/json

{
    "catalogId": "de9315c1-272b-4905-924b-cc112ca180c7",
    "accessPackageResource": {
        "displayName": "Community Outreach",
        "description": "https://contoso.sharepoint.com/sites/CSR",
        "resourceType": "SharePoint Online Site",
        "originId": "https://contoso.sharepoint.com/sites/CSR",
        "originSystem": "SharePointOnline",
        "accessPackageResourceEnvironment@odata.bind": "accessPackageResourceEnvironments/615f2218-678f-471f-a60a-02c2f4f80c57"
    },
    "requestType": "AdminAdd"
}

Réponse

L’exemple suivant illustre la réponse.

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

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#identityGovernance/entitlementManagement/accessPackageResourceRequests/$entity",
    "catalogId": "de9315c1-272b-4905-924b-cc112ca180c7",
    "executeImmediately": false,
    "id": "d3f800d5-0dd6-47f3-9e90-ef562c7551dc",
    "requestType": "AdminAdd",
    "requestState": "Delivered",
    "requestStatus": "Fulfilled",
    "isValidationOnly": false,
    "expirationDateTime": null,
    "justification": null
}

Exemple 3 : créer une accessPackageResourceRequest pour ajouter un site en tant que ressource et affecter une accessPackageResourceEnvironment à l’aide d’originId

Demande

L’exemple suivant illustre une demande. Dans cet exemple, les paramètres d’un accessPackageResourceEnvironment sont spécifiés dans un accessPackageResourceEnvironment objet.

POST https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackageResourceRequests
Content-type: application/json

{
    "catalogId": "de9315c1-272b-4905-924b-cc112ca180c7",
    "accessPackageResource": {
        "displayName": "Community Outreach",
        "description": "https://contoso.sharepoint.com/sites/CSR",
        "resourceType": "SharePoint Online Site",
        "originId": "https://contoso.sharepoint.com/sites/CSR",
        "originSystem": "SharePointOnline",
        "accessPackageResourceEnvironment": {
            "originId": "https://contoso-admin.sharepoint.com/"
        }
    },
    "requestType": "AdminAdd"
}

Réponse

L’exemple suivant illustre la réponse.

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

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#identityGovernance/entitlementManagement/accessPackageResourceRequests/$entity",
    "catalogId": "de9315c1-272b-4905-924b-cc112ca180c7",
    "executeImmediately": false,
    "id": "eadf3fbb-668c-4c3a-8d84-7c8bd73dc3e4",
    "requestType": "AdminAdd",
    "requestState": "Delivered",
    "requestStatus": "Fulfilled",
    "isValidationOnly": false,
    "expirationDateTime": null,
    "justification": null
}

Exemple 4 : créer une accessPackageResourceRequest pour ajouter un groupe en tant que ressource

Demande

L’exemple suivant illustre une demande.

POST https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackageResourceRequests
Content-type: application/json

{

  "catalogId":"beedadfe-01d5-4025-910b-84abb9369997",
  "requestType": "AdminAdd",
  "accessPackageResource": {
     "originId": "c6294667-7348-4f5a-be73-9d2c65f574f3",
     "originSystem": "AadGroup"
  }
}

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

{
  "catalogId": "beedadfe-01d5-4025-910b-84abb9369997",
  "id": "acc2294e-f37f-42d3-981d-4e83847ed0ce",
  "requestType": "AdminAdd",
  "requestState": "Delivered",
  "requestStatus": "Fulfilled"
}

Exemple 5 : créer une accessPackageResourceRequest pour supprimer une ressource

Demande

L’exemple suivant illustre une demande.

POST https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackageResourceRequests
Content-type: application/json

{
  "catalogId": "beedadfe-01d5-4025-910b-84abb9369997",
  "requestType": "AdminRemove",
  "accessPackageResource": {
    "id": "354078e5-dbce-4894-8af4-0ab274d41662"
  }
}

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

{
  "catalogId": "beedadfe-01d5-4025-910b-84abb9369997",
  "id": "65c3340d-defb-49a9-8930-63841fda0e68",
  "requestType": "AdminRemove",
  "requestState": "Delivered",
  "requestStatus": "Fulfilled"
}

Exemple 6 : créer une accessPackageResourceRequest pour ajouter une application

Demande

L’exemple suivant montre une demande d’ajout d’une application à un catalogue, y compris la spécification d’un attribut obligatoire de cette application.

POST https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackageResourceRequests
Content-type: application/json

{
  "catalogId": "26ac0c0a-08bc-4a7b-a313-839f58044ba5",
  "requestType": "AdminAdd",
  "justification": "",
  "accessPackageResource": {
      "displayName": "Faculty cafeteria ordering",
      "description": "Example application",
      "url": "https://myapps.microsoft.com/example.com/signin/Faculty%20cafeteria%20ordering/f1e3b407-942d-4934-9a3f-cef1975cb988/",
      "resourceType": "Application",
      "originId": "2f1099a6-d4fc-4cc9-a0ef-ddd3f1bf0b7e",
      "originSystem": "AadApplication",
      "attributes": [
        {
          "attributeName": "extension_2b676109c7c74ae2b41549205f1947ed_personalTitle",
          "isEditable": true,
          "isPersistedOnAssignmentRemoval": true,
          "attributeSource": {
              "@odata.type": "#microsoft.graph.accessPackageResourceAttributeQuestion",
              "question": {
                  "@odata.type": "#microsoft.graph.accessPackageTextInputQuestion",
                  "isRequired": false,
                  "sequence": 0,
                  "isSingleLineQuestion": true,
                  "text": {
                      "defaultText": "Title",
                      "localizedTexts": []
                  }
              }
          },
          "attributeDestination": {
              "@odata.type": "#microsoft.graph.accessPackageUserDirectoryAttributeStore"
          }
        }
      ]
  }
}

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

{
  "id": "f0e632ed-afd2-41d3-8d6e-ccefda457e5e",
  "requestType": "AdminAdd",
  "requestState": "Delivered",
  "requestStatus": "Fulfilled"
}

Exemple 7 : Créer une accessPackageResourceRequest pour ajouter des droits d’accès SAP IAG en tant que ressource

Demande

L’exemple suivant illustre une demande d’ajout d’un connecteur de ressource d’origine externe à un catalogue, y compris la spécification d’un attribut obligatoire de ce connecteur de ressource.

POST https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackageResourceRequests
Content-type: application/json

{
  "catalogId": "bcb19bf7-cdf7-4a70-a106-f6543620b2a5",
  "accessPackageResource": {
    "id": "88eb460d-ca08-4eb9-afae-8d60a8b00377",
    "displayName": "SAP IAG Access Rights",
    "description": "This resource represents the business roles of SAP IAG",
    "resourceType": "Business role",
    "originId": "https://iagintgorg-iag-intg-space-java-rest-arqapi.cfapps.sap.hana.ondemand.com",
    "originSystem": "External",
    "accessPackageResourceScopes": [],
    "externalOriginResourceConnector": {
      "id": "1a53cea5-48bd-467c-af81-a24245b0df2b",
      "displayName": "SAP IAG 10.0",
      "description": "SAP IAG 10.0.0",
      "connectorType": "sapIag",
      "connectionInfo": {
        "@odata.type": "microsoft.graph.externalTokenBasedSapIagConnectionInfo",
        "url": "https://iagigorg-iag-intg-space-java-rest-arqapi.cfapps.sap.hana.ondemand.com",
        "subscriptionId": "8e072eb5-73f5-4ed2-9324-a734dcb9728",
        "resourceGroup": "SAPResourceGroup",
        "accessTokenUrl": "https://entra-docu-intg-mrrd3gv.authentication.sap.hana.ondemand.com/oauth/token",
        "clientId": "sb-72062308-a7ae-456f-b9a4-24302b8a4aa!b247012|iagapi-iag-intg-space!b11378",
        "keyVaultName": "SAPIAG-KV",
        "secretName": "ClientSecret"
      }
    },
    "accessPackageResourceEnvironment": null
  },
  "requestType": "AdminAdd",
  "history": [],
  "executeImmediately": true
}

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

{
  "id": "0e37f047-c6b9-4d5c-99cd-e3fab4007be4",
  "requestType": "AdminAdd",
  "requestState": "Delivered",
  "requestStatus": "Fulfilled"
}

Exemple 8 : ajouter une ressource de groupe d’administration au catalogue

Demande

L’exemple suivant illustre une demande d’ajout d’une ressource de groupe d’administration à un catalogue.

POST https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackageResourceRequests
Content-type: application/json

{
    "catalogId": "e8368470-afaf-44da-ba86-13a7318f1995",
    "requestType": "AdminAdd",
    "justification": "",
    "accessPackageResource": {
        "id": "",
        "displayName": "test-mgmtgroup",
        "description": "test-mgmtgroup",
        "resourceType": "ManagementGroup",
        "originId": "/providers/Microsoft.Management/managementGroups/test-mgmtgroup",
        "originSystem": "AzureResources"
    }
}

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

{
    "catalogId": "e8368470-afaf-44da-ba86-13a7318f1995",
    "id": "99e156fe-d152-4005-b019-6ba816f411ea",
    "justification": "",
    "requestState": "Delivered",
    "requestStatus": "Fulfilled",
    "requestType": "AdminAdd",
}

Exemple 9 : ajouter une ressource d’abonnement au catalogue

Demande

L’exemple suivant illustre une demande d’ajout d’une ressource d’abonnement à un catalogue.

POST https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackageResourceRequests
Content-type: application/json

{
    "catalogId": "e8368470-afaf-44da-ba86-13a7318f1995",
    "requestType": "AdminAdd",
    "justification": "",
    "accessPackageResource": {
        "id": "",
        "displayName": "Dev",
        "description": "Dev",
        "resourceType": "Subscription",
        "originId": "/subscriptions/828b526f-c769-4b19-9797-734b4843b978",
        "originSystem": "AzureResources"
    }
}

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

{
    "catalogId": "e8368470-afaf-44da-ba86-13a7318f1995",
    "id": "13ac6518-0597-452c-98ff-59c52b391dae",
    "justification": "",
    "requestState": "Delivered",
    "requestStatus": "Fulfilled",
    "requestType": "AdminAdd",
}