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 accessPackageAssignmentRequestWorkflowExtension ou accessPackageAssignmentWorkflowExtension et ajoutez-le à un objet accessPackageCatalog existant.
Vous devez fournir explicitement une @odata.type propriété qui indique si l’objet est un accessPackageAssignmentRequestWorkflowExtension ou un accessPackageAssignmentWorkflowExtension.
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) |
EntitlementManagement.ReadWrite.All |
Non disponible. |
| Déléguée (compte Microsoft personnel) |
Non prise en charge. |
Non prise en charge. |
| Application |
EntitlementManagement.Read.All |
EntitlementManagement.ReadWrite.All |
Conseil
Dans les scénarios délégués avec des comptes professionnels ou scolaires, l’utilisateur connecté doit également se voir attribuer un rôle d’administrateur avec des autorisations de rôle prises en charge via l’une des options suivantes :
- L’une des attributions de rôles Azure suivantes est requise sur l’application logique elle-même ou sur une étendue plus élevée, telle que le groupe de ressources, l’abonnement ou le groupe d’administration :
- Contributeur d’application logique
- Collaborateur
- Propriétaire
Et l’un des éléments suivants :
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 d’application EntitlementManagement.Read.All . S’il s’agit d’un appel délégué sans la URL propriété dans logicAppTriggerEndpointConfiguration, l’appelant doit également être autorisé sur l’application logique.
Pour plus d’informations, consultez Délégation et rôles dans la gestion des droits d’utilisation et comment déléguer la gouvernance des accès aux gestionnaires de package d’accès dans la gestion des droits d’utilisation.
Requête HTTP
POST /identityGovernance/entitlementManagement/accessPackageCatalogs/{catalogId}/accessPackageCustomWorkflowExtensions
Corps de la demande
Dans le corps de la demande, fournissez une représentation JSON de l’objet accessPackageAssignmentRequestWorkflowExtension ou accessPackageAssignmentWorkflowExtension .
Vous pouvez spécifier les propriétés suivantes lors de la création d’un accessPackageCustomWorkflowExtension.
| Propriété |
Type |
Description |
| description |
String |
Description de l’objet customAccessPackageWorkflowExtension. |
| displayName |
String |
Obligatoire. Nom d’affichage de l’objet customAccessPackageWorkflowExtension. |
| endpointConfiguration |
customExtensionEndpointConfiguration |
Obligatoire. Type et détails de la configuration du point de terminaison pour appeler le workflow de l’application logique. |
| authenticationConfiguration |
customExtensionAuthenticationConfiguration |
Obligatoire. Configuration pour la sécurisation de l’appel d’API à l’application logique. Par exemple, l’utilisation du flux d’informations d’identification du client OAuth. |
| callbackConfiguration |
customExtensionCallbackConfiguration |
Configuration du rappel pour une extension personnalisée. Cette option est suppotée pour accessPackageAssignmentRequestWorkflowExtension. |
Vous devez également fournir une propriété @odata.type avec une valeur du type d’extension de workflow de package d’accès spécifique. Par exemple : "@odata.type": "#microsoft.graph.accessPackageAssignmentRequestWorkflowExtension".
Réponse
Si elle réussit, cette méthode renvoie un 201 Created code de réponse et un objet accessPackageAssignmentRequestWorkflowExtension ou accessPackageAssignmentWorkflowExtension dans le corps de la réponse.
Exemples
Exemple 1 : Créer une extension personnalisée à utiliser avec une demande d’attribution de package d’accès
Voici un exemple d’extension de workflow personnalisé de demande d’attribution de package d’accès.
Demande
POST https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackageCatalogs/32efb28c-9a7a-446c-986b-ca6528c6669d/accessPackagecustomWorkflowExtensions
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.accessPackageAssignmentRequestWorkflowExtension",
"displayName": "test_action_0124_email",
"description": "this is for graph testing only",
"endpointConfiguration": {
"@odata.type": "#microsoft.graph.logicAppTriggerEndpointConfiguration",
"subscriptionId": "38ab2ccc-3747-4567-b36b-9478f5602f0d",
"resourceGroupName": "test",
"logicAppWorkflowName": "elm-extension-email"
},
"authenticationConfiguration": {
"@odata.type": "#microsoft.graph.azureAdPopTokenAuthentication"
},
"callbackConfiguration": {
"@odata.type": "microsoft.graph.customExtensionCallbackConfiguration",
"durationBeforeTimeout": "PT1H"
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new AccessPackageAssignmentRequestWorkflowExtension
{
OdataType = "#microsoft.graph.accessPackageAssignmentRequestWorkflowExtension",
DisplayName = "test_action_0124_email",
Description = "this is for graph testing only",
EndpointConfiguration = new LogicAppTriggerEndpointConfiguration
{
OdataType = "#microsoft.graph.logicAppTriggerEndpointConfiguration",
SubscriptionId = "38ab2ccc-3747-4567-b36b-9478f5602f0d",
ResourceGroupName = "test",
LogicAppWorkflowName = "elm-extension-email",
},
AuthenticationConfiguration = new AzureAdPopTokenAuthentication
{
OdataType = "#microsoft.graph.azureAdPopTokenAuthentication",
},
CallbackConfiguration = new CustomExtensionCallbackConfiguration
{
OdataType = "microsoft.graph.customExtensionCallbackConfiguration",
AdditionalData = new Dictionary<string, object>
{
{
"durationBeforeTimeout" , "PT1H"
},
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.IdentityGovernance.EntitlementManagement.AccessPackageCatalogs["{accessPackageCatalog-id}"].AccessPackageCustomWorkflowExtensions.PostAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewCustomCalloutExtension()
displayName := "test_action_0124_email"
requestBody.SetDisplayName(&displayName)
description := "this is for graph testing only"
requestBody.SetDescription(&description)
endpointConfiguration := graphmodels.NewLogicAppTriggerEndpointConfiguration()
subscriptionId := "38ab2ccc-3747-4567-b36b-9478f5602f0d"
endpointConfiguration.SetSubscriptionId(&subscriptionId)
resourceGroupName := "test"
endpointConfiguration.SetResourceGroupName(&resourceGroupName)
logicAppWorkflowName := "elm-extension-email"
endpointConfiguration.SetLogicAppWorkflowName(&logicAppWorkflowName)
requestBody.SetEndpointConfiguration(endpointConfiguration)
authenticationConfiguration := graphmodels.NewAzureAdPopTokenAuthentication()
requestBody.SetAuthenticationConfiguration(authenticationConfiguration)
callbackConfiguration := graphmodels.NewCustomExtensionCallbackConfiguration()
additionalData := map[string]interface{}{
"durationBeforeTimeout" : "PT1H",
}
callbackConfiguration.SetAdditionalData(additionalData)
requestBody.SetCallbackConfiguration(callbackConfiguration)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
accessPackageCustomWorkflowExtensions, err := graphClient.IdentityGovernance().EntitlementManagement().AccessPackageCatalogs().ByAccessPackageCatalogId("accessPackageCatalog-id").AccessPackageCustomWorkflowExtensions().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
AccessPackageAssignmentRequestWorkflowExtension customCalloutExtension = new AccessPackageAssignmentRequestWorkflowExtension();
customCalloutExtension.setOdataType("#microsoft.graph.accessPackageAssignmentRequestWorkflowExtension");
customCalloutExtension.setDisplayName("test_action_0124_email");
customCalloutExtension.setDescription("this is for graph testing only");
LogicAppTriggerEndpointConfiguration endpointConfiguration = new LogicAppTriggerEndpointConfiguration();
endpointConfiguration.setOdataType("#microsoft.graph.logicAppTriggerEndpointConfiguration");
endpointConfiguration.setSubscriptionId("38ab2ccc-3747-4567-b36b-9478f5602f0d");
endpointConfiguration.setResourceGroupName("test");
endpointConfiguration.setLogicAppWorkflowName("elm-extension-email");
customCalloutExtension.setEndpointConfiguration(endpointConfiguration);
AzureAdPopTokenAuthentication authenticationConfiguration = new AzureAdPopTokenAuthentication();
authenticationConfiguration.setOdataType("#microsoft.graph.azureAdPopTokenAuthentication");
customCalloutExtension.setAuthenticationConfiguration(authenticationConfiguration);
CustomExtensionCallbackConfiguration callbackConfiguration = new CustomExtensionCallbackConfiguration();
callbackConfiguration.setOdataType("microsoft.graph.customExtensionCallbackConfiguration");
HashMap<String, Object> additionalData = new HashMap<String, Object>();
additionalData.put("durationBeforeTimeout", "PT1H");
callbackConfiguration.setAdditionalData(additionalData);
customCalloutExtension.setCallbackConfiguration(callbackConfiguration);
CustomCalloutExtension result = graphClient.identityGovernance().entitlementManagement().accessPackageCatalogs().byAccessPackageCatalogId("{accessPackageCatalog-id}").accessPackageCustomWorkflowExtensions().post(customCalloutExtension);
const options = {
authProvider,
};
const client = Client.init(options);
const customCalloutExtension = {
'@odata.type': '#microsoft.graph.accessPackageAssignmentRequestWorkflowExtension',
displayName: 'test_action_0124_email',
description: 'this is for graph testing only',
endpointConfiguration: {
'@odata.type': '#microsoft.graph.logicAppTriggerEndpointConfiguration',
subscriptionId: '38ab2ccc-3747-4567-b36b-9478f5602f0d',
resourceGroupName: 'test',
logicAppWorkflowName: 'elm-extension-email'
},
authenticationConfiguration: {
'@odata.type': '#microsoft.graph.azureAdPopTokenAuthentication'
},
callbackConfiguration: {
'@odata.type': 'microsoft.graph.customExtensionCallbackConfiguration',
durationBeforeTimeout: 'PT1H'
}
};
await client.api('/identityGovernance/entitlementManagement/accessPackageCatalogs/32efb28c-9a7a-446c-986b-ca6528c6669d/accessPackagecustomWorkflowExtensions')
.version('beta')
.post(customCalloutExtension);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\AccessPackageAssignmentRequestWorkflowExtension;
use Microsoft\Graph\Beta\Generated\Models\LogicAppTriggerEndpointConfiguration;
use Microsoft\Graph\Beta\Generated\Models\AzureAdPopTokenAuthentication;
use Microsoft\Graph\Beta\Generated\Models\CustomExtensionCallbackConfiguration;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new AccessPackageAssignmentRequestWorkflowExtension();
$requestBody->setOdataType('#microsoft.graph.accessPackageAssignmentRequestWorkflowExtension');
$requestBody->setDisplayName('test_action_0124_email');
$requestBody->setDescription('this is for graph testing only');
$endpointConfiguration = new LogicAppTriggerEndpointConfiguration();
$endpointConfiguration->setOdataType('#microsoft.graph.logicAppTriggerEndpointConfiguration');
$endpointConfiguration->setSubscriptionId('38ab2ccc-3747-4567-b36b-9478f5602f0d');
$endpointConfiguration->setResourceGroupName('test');
$endpointConfiguration->setLogicAppWorkflowName('elm-extension-email');
$requestBody->setEndpointConfiguration($endpointConfiguration);
$authenticationConfiguration = new AzureAdPopTokenAuthentication();
$authenticationConfiguration->setOdataType('#microsoft.graph.azureAdPopTokenAuthentication');
$requestBody->setAuthenticationConfiguration($authenticationConfiguration);
$callbackConfiguration = new CustomExtensionCallbackConfiguration();
$callbackConfiguration->setOdataType('microsoft.graph.customExtensionCallbackConfiguration');
$additionalData = [
'durationBeforeTimeout' => 'PT1H',
];
$callbackConfiguration->setAdditionalData($additionalData);
$requestBody->setCallbackConfiguration($callbackConfiguration);
$result = $graphServiceClient->identityGovernance()->entitlementManagement()->accessPackageCatalogs()->byAccessPackageCatalogId('accessPackageCatalog-id')->accessPackageCustomWorkflowExtensions()->post($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Identity.Governance
$params = @{
"@odata.type" = "#microsoft.graph.accessPackageAssignmentRequestWorkflowExtension"
displayName = "test_action_0124_email"
description = "this is for graph testing only"
endpointConfiguration = @{
"@odata.type" = "#microsoft.graph.logicAppTriggerEndpointConfiguration"
subscriptionId = "38ab2ccc-3747-4567-b36b-9478f5602f0d"
resourceGroupName = "test"
logicAppWorkflowName = "elm-extension-email"
}
authenticationConfiguration = @{
"@odata.type" = "#microsoft.graph.azureAdPopTokenAuthentication"
}
callbackConfiguration = @{
"@odata.type" = "microsoft.graph.customExtensionCallbackConfiguration"
durationBeforeTimeout = "PT1H"
}
}
New-MgBetaEntitlementManagementAccessPackageCatalogAccessPackageCustomWorkflowExtension -AccessPackageCatalogId $accessPackageCatalogId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.access_package_assignment_request_workflow_extension import AccessPackageAssignmentRequestWorkflowExtension
from msgraph_beta.generated.models.logic_app_trigger_endpoint_configuration import LogicAppTriggerEndpointConfiguration
from msgraph_beta.generated.models.azure_ad_pop_token_authentication import AzureAdPopTokenAuthentication
from msgraph_beta.generated.models.custom_extension_callback_configuration import CustomExtensionCallbackConfiguration
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = AccessPackageAssignmentRequestWorkflowExtension(
odata_type = "#microsoft.graph.accessPackageAssignmentRequestWorkflowExtension",
display_name = "test_action_0124_email",
description = "this is for graph testing only",
endpoint_configuration = LogicAppTriggerEndpointConfiguration(
odata_type = "#microsoft.graph.logicAppTriggerEndpointConfiguration",
subscription_id = "38ab2ccc-3747-4567-b36b-9478f5602f0d",
resource_group_name = "test",
logic_app_workflow_name = "elm-extension-email",
),
authentication_configuration = AzureAdPopTokenAuthentication(
odata_type = "#microsoft.graph.azureAdPopTokenAuthentication",
),
callback_configuration = CustomExtensionCallbackConfiguration(
odata_type = "microsoft.graph.customExtensionCallbackConfiguration",
additional_data = {
"duration_before_timeout" : "PT1H",
}
),
)
result = await graph_client.identity_governance.entitlement_management.access_package_catalogs.by_access_package_catalog_id('accessPackageCatalog-id').access_package_custom_workflow_extensions.post(request_body)
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
{
"value":{
"@odata.type":"#microsoft.graph.accessPackageAssignmentRequestWorkflowExtension",
"id":"98ffaec5-ae8e-4902-a434-5ffc5d3d3cd0",
"displayName":"test_action_0124_email",
"description":"this is for graph testing only",
"createdDateTime":"2022-01-24T21:48:57.15Z",
"lastModifiedDateTime":"2022-01-24T21:55:44.953Z",
"clientConfiguration":null,
"endpointConfiguration":{
"@odata.type":"#microsoft.graph.logicAppTriggerEndpointConfiguration",
"subscriptionId":"38ab2ccc-3747-4567-b36b-9478f5602f0d",
"resourceGroupName":"test",
"logicAppWorkflowName":"elm-extension-email",
"url":"https://prod-31.eastus.logic.azure.com:443/workflows/8ccffea766ae48e680gd9a22d1549bbc/triggers/manual/paths/invoke?api-version=2016-10-01"
},
"authenticationConfiguration":{
"@odata.type":"#microsoft.graph.azureAdPopTokenAuthentication"
},
"callbackConfiguration":{
"@odata.type":"microsoft.graph.customExtensionCallbackConfiguration",
"durationBeforeTimeout":"PT1H"
}
}
}
Exemple 2 : Créer une extension personnalisée à utiliser avec une attribution de package d’accès
Voici un exemple d’extension de workflow personnalisé d’attribution de package d’accès.
Demande
POST https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackageCatalogs/32efb28c-9a7a-446c-986b-ca6528c6669d/accessPackagecustomWorkflowExtensions
Content-Type: application/json
{
"value":{
"@odata.type":"#microsoft.graph.accessPackageAssignmentWorkflowExtension",
"displayName":"test_action_0127_email",
"description":"this is for graph testing only",
"endpointConfiguration":{
"@odata.type":"#microsoft.graph.logicAppTriggerEndpointConfiguration",
"subscriptionId":"38ab2ccc-3747-4567-b36b-9478f5602f0d",
"resourceGroupName":"test",
"logicAppWorkflowName":"elm-extension-email"
},
"authenticationConfiguration":{
"@odata.type":"#microsoft.graph.azureAdPopTokenAuthentication"
}
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new CustomCalloutExtension
{
AdditionalData = new Dictionary<string, object>
{
{
"value" , new AccessPackageAssignmentWorkflowExtension
{
OdataType = "#microsoft.graph.accessPackageAssignmentWorkflowExtension",
DisplayName = "test_action_0127_email",
Description = "this is for graph testing only",
EndpointConfiguration = new LogicAppTriggerEndpointConfiguration
{
OdataType = "#microsoft.graph.logicAppTriggerEndpointConfiguration",
SubscriptionId = "38ab2ccc-3747-4567-b36b-9478f5602f0d",
ResourceGroupName = "test",
LogicAppWorkflowName = "elm-extension-email",
},
AuthenticationConfiguration = new AzureAdPopTokenAuthentication
{
OdataType = "#microsoft.graph.azureAdPopTokenAuthentication",
},
}
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.IdentityGovernance.EntitlementManagement.AccessPackageCatalogs["{accessPackageCatalog-id}"].AccessPackageCustomWorkflowExtensions.PostAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewCustomCalloutExtension()
additionalData := map[string]interface{}{
value := graphmodels.NewAccessPackageAssignmentWorkflowExtension()
displayName := "test_action_0127_email"
value.SetDisplayName(&displayName)
description := "this is for graph testing only"
value.SetDescription(&description)
endpointConfiguration := graphmodels.NewLogicAppTriggerEndpointConfiguration()
subscriptionId := "38ab2ccc-3747-4567-b36b-9478f5602f0d"
endpointConfiguration.SetSubscriptionId(&subscriptionId)
resourceGroupName := "test"
endpointConfiguration.SetResourceGroupName(&resourceGroupName)
logicAppWorkflowName := "elm-extension-email"
endpointConfiguration.SetLogicAppWorkflowName(&logicAppWorkflowName)
value.SetEndpointConfiguration(endpointConfiguration)
authenticationConfiguration := graphmodels.NewAzureAdPopTokenAuthentication()
value.SetAuthenticationConfiguration(authenticationConfiguration)
requestBody.SetValue(value)
}
requestBody.SetAdditionalData(additionalData)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
accessPackageCustomWorkflowExtensions, err := graphClient.IdentityGovernance().EntitlementManagement().AccessPackageCatalogs().ByAccessPackageCatalogId("accessPackageCatalog-id").AccessPackageCustomWorkflowExtensions().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
CustomCalloutExtension customCalloutExtension = new CustomCalloutExtension();
HashMap<String, Object> additionalData = new HashMap<String, Object>();
AccessPackageAssignmentWorkflowExtension value = new AccessPackageAssignmentWorkflowExtension();
value.setOdataType("#microsoft.graph.accessPackageAssignmentWorkflowExtension");
value.setDisplayName("test_action_0127_email");
value.setDescription("this is for graph testing only");
LogicAppTriggerEndpointConfiguration endpointConfiguration = new LogicAppTriggerEndpointConfiguration();
endpointConfiguration.setOdataType("#microsoft.graph.logicAppTriggerEndpointConfiguration");
endpointConfiguration.setSubscriptionId("38ab2ccc-3747-4567-b36b-9478f5602f0d");
endpointConfiguration.setResourceGroupName("test");
endpointConfiguration.setLogicAppWorkflowName("elm-extension-email");
value.setEndpointConfiguration(endpointConfiguration);
AzureAdPopTokenAuthentication authenticationConfiguration = new AzureAdPopTokenAuthentication();
authenticationConfiguration.setOdataType("#microsoft.graph.azureAdPopTokenAuthentication");
value.setAuthenticationConfiguration(authenticationConfiguration);
additionalData.put("value", value);
customCalloutExtension.setAdditionalData(additionalData);
CustomCalloutExtension result = graphClient.identityGovernance().entitlementManagement().accessPackageCatalogs().byAccessPackageCatalogId("{accessPackageCatalog-id}").accessPackageCustomWorkflowExtensions().post(customCalloutExtension);
const options = {
authProvider,
};
const client = Client.init(options);
const customCalloutExtension = {
value: {
'@odata.type':'#microsoft.graph.accessPackageAssignmentWorkflowExtension',
displayName: 'test_action_0127_email',
description: 'this is for graph testing only',
endpointConfiguration: {
'@odata.type':'#microsoft.graph.logicAppTriggerEndpointConfiguration',
subscriptionId: '38ab2ccc-3747-4567-b36b-9478f5602f0d',
resourceGroupName: 'test',
logicAppWorkflowName: 'elm-extension-email'
},
authenticationConfiguration: {
'@odata.type':'#microsoft.graph.azureAdPopTokenAuthentication'
}
}
};
await client.api('/identityGovernance/entitlementManagement/accessPackageCatalogs/32efb28c-9a7a-446c-986b-ca6528c6669d/accessPackagecustomWorkflowExtensions')
.version('beta')
.post(customCalloutExtension);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\CustomCalloutExtension;
use Microsoft\Graph\Beta\Generated\Models\AccessPackageAssignmentWorkflowExtension;
use Microsoft\Graph\Beta\Generated\Models\LogicAppTriggerEndpointConfiguration;
use Microsoft\Graph\Beta\Generated\Models\AzureAdPopTokenAuthentication;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new CustomCalloutExtension();
$additionalData = [
'value' => [
'@odata.type' => '#microsoft.graph.accessPackageAssignmentWorkflowExtension',
'displayName' => 'test_action_0127_email',
'description' => 'this is for graph testing only',
'endpointConfiguration' => [
'@odata.type' => '#microsoft.graph.logicAppTriggerEndpointConfiguration',
'subscriptionId' => '38ab2ccc-3747-4567-b36b-9478f5602f0d',
'resourceGroupName' => 'test',
'logicAppWorkflowName' => 'elm-extension-email',
],
'authenticationConfiguration' => [
'@odata.type' => '#microsoft.graph.azureAdPopTokenAuthentication',
],
],
];
$requestBody->setAdditionalData($additionalData);
$result = $graphServiceClient->identityGovernance()->entitlementManagement()->accessPackageCatalogs()->byAccessPackageCatalogId('accessPackageCatalog-id')->accessPackageCustomWorkflowExtensions()->post($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Identity.Governance
$params = @{
value = @{
"@odata.type" = "#microsoft.graph.accessPackageAssignmentWorkflowExtension"
displayName = "test_action_0127_email"
description = "this is for graph testing only"
endpointConfiguration = @{
"@odata.type" = "#microsoft.graph.logicAppTriggerEndpointConfiguration"
subscriptionId = "38ab2ccc-3747-4567-b36b-9478f5602f0d"
resourceGroupName = "test"
logicAppWorkflowName = "elm-extension-email"
}
authenticationConfiguration = @{
"@odata.type" = "#microsoft.graph.azureAdPopTokenAuthentication"
}
}
}
New-MgBetaEntitlementManagementAccessPackageCatalogAccessPackageCustomWorkflowExtension -AccessPackageCatalogId $accessPackageCatalogId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.custom_callout_extension import CustomCalloutExtension
from msgraph_beta.generated.models.access_package_assignment_workflow_extension import AccessPackageAssignmentWorkflowExtension
from msgraph_beta.generated.models.logic_app_trigger_endpoint_configuration import LogicAppTriggerEndpointConfiguration
from msgraph_beta.generated.models.azure_ad_pop_token_authentication import AzureAdPopTokenAuthentication
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = CustomCalloutExtension(
additional_data = {
"value" : {
"@odata_type" : "#microsoft.graph.accessPackageAssignmentWorkflowExtension",
"display_name" : "test_action_0127_email",
"description" : "this is for graph testing only",
"endpoint_configuration" : {
"@odata_type" : "#microsoft.graph.logicAppTriggerEndpointConfiguration",
"subscription_id" : "38ab2ccc-3747-4567-b36b-9478f5602f0d",
"resource_group_name" : "test",
"logic_app_workflow_name" : "elm-extension-email",
},
"authentication_configuration" : {
"@odata_type" : "#microsoft.graph.azureAdPopTokenAuthentication",
},
},
}
)
result = await graph_client.identity_governance.entitlement_management.access_package_catalogs.by_access_package_catalog_id('accessPackageCatalog-id').access_package_custom_workflow_extensions.post(request_body)
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
{
"value":{
"@odata.type":"#microsoft.graph.accessPackageAssignmentWorkflowExtension",
"id":"78ffaec5-ae8e-4902-a434-5ffc5d3d3cd0",
"displayName":"test_action_0127_email",
"description":"this is for graph testing only",
"createdDateTime":"2022-01-24T21:48:57.15Z",
"lastModifiedDateTime":"2022-01-24T21:55:44.953Z",
"clientConfiguration":null,
"endpointConfiguration":{
"@odata.type":"#microsoft.graph.logicAppTriggerEndpointConfiguration",
"subscriptionId":"38ab2ccc-3747-4567-b36b-9478f5602f0d",
"resourceGroupName":"test",
"logicAppWorkflowName":"elm-extension-email",
"url":"https://prod-31.eastus.logic.azure.com:443/workflows/7ccffea766ae48e680gd9a22d1549bbc/triggers/manual/paths/invoke?api-version=2016-10-01"
},
"authenticationConfiguration":{
"@odata.type":"#microsoft.graph.azureAdPopTokenAuthentication"
}
}
}
Exemple 3 : Créer une extension personnalisée à utiliser avec un rappel de phase d’approbation
Voici un exemple d’extension de workflow personnalisé de demande d’attribution de package d’accès.
Demande
POST https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackageCatalogs/a9286c9c-7659-4b2e-ba44-4d1f2ce07746/accessPackagecustomWorkflowExtensions
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.accessPackageAssignmentRequestWorkflowExtension",
"displayName": "test_action_0124_email",
"description": "this is for graph testing only",
"endpointConfiguration": {
"@odata.type": "#microsoft.graph.logicAppTriggerEndpointConfiguration",
"subscriptionId": "38ab2ccc-3747-4567-b36b-9478f5602f0d",
"resourceGroupName": "test",
"logicAppWorkflowName": "elm-extension-email"
},
"authenticationConfiguration": {
"@odata.type": "#microsoft.graph.azureAdPopTokenAuthentication"
},
"callbackConfiguration": {
"@odata.type": "microsoft.graph.accessPackageRequestApprovalStageCallbackConfiguration",
"durationBeforeTimeout": "PT1H"
}
}
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
{
"value":{
"@odata.type":"#microsoft.graph.accessPackageAssignmentRequestWorkflowExtension",
"id":"5afcb385-d500-450c-bbf6-3b74a44403da",
"displayName":"test_action_0124_email",
"description":"this is for graph testing only",
"createdDateTime":"2022-01-24T21:48:57.15Z",
"lastModifiedDateTime":"2022-01-24T21:55:44.953Z",
"clientConfiguration":null,
"endpointConfiguration":{
"@odata.type":"#microsoft.graph.logicAppTriggerEndpointConfiguration",
"subscriptionId":"e8eb46ab-626d-451f-8668-9434e73cf43b",
"resourceGroupName":"test",
"logicAppWorkflowName":"elm-extension-email",
"url":"https://prod-31.eastus.logic.azure.com:443/workflows/8ccffea766ae48e680gd9a22d1549bbc/triggers/manual/paths/invoke?api-version=2016-10-01"
},
"authenticationConfiguration":{
"@odata.type":"#microsoft.graph.azureAdPopTokenAuthentication"
},
"callbackConfiguration":{
"@odata.type":"microsoft.graph.accessPackageRequestApprovalStageCallbackConfiguration",
"durationBeforeTimeout":"PT1H"
}
}
}