Espacio de nombres: microsoft.graph
Cree un nuevo objeto accessPackageAssignmentRequestWorkflowExtension o accessPackageAssignmentWorkflowExtension y agréguelo a un objeto accessPackageCatalog existente.
Debe proporcionar explícitamente una @odata.type propiedad que indique si el objeto es accessPackageAssignmentRequestWorkflowExtension o accessPackageAssignmentWorkflowExtension.
Esta API está disponible en las siguientes implementaciones nacionales de nube.
| Servicio global |
Gobierno de EE. UU. L4 |
Us Government L5 (DOD) |
China operada por 21Vianet |
| ✅ |
✅ |
✅ |
✅ |
Permissions
Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use un permiso o permisos con privilegios superiores solo si la aplicación lo requiere. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.
| Tipo de permiso |
Permisos con privilegios mínimos |
Permisos con privilegios más altos |
| Delegado (cuenta profesional o educativa) |
EntitlementManagement.ReadWrite.All |
No disponible. |
| Delegado (cuenta personal de Microsoft) |
No admitida. |
No admitida. |
| Aplicación |
EntitlementManagement.ReadWrite.All |
No disponible. |
Sugerencia
En escenarios delegados con cuentas profesionales o educativas, al usuario que ha iniciado sesión también se le debe asignar un rol de administrador con permisos de rol admitidos mediante una de las siguientes opciones:
- Se requiere una de las siguientes asignaciones de roles Azure en la propia aplicación lógica o en un ámbito superior, como el grupo de recursos, la suscripción o el grupo de administración:
- Colaborador de aplicación lógica
- Colaborador
- Owner
Y una de las siguientes:
En escenarios de solo aplicación, se puede asignar a la aplicación que realiza la llamada uno de los roles admitidos anteriores en lugar del permiso de EntitlementManagement.ReadWrite.All aplicación. El rol de propietario del catálogo tiene menos privilegios que el permiso de aplicación EntitlementManagement.Read.All . Si se trata de una llamada delegada sin la URL propiedad en logicAppTriggerEndpointConfiguration, el autor de la llamada también debe estar autorizado en la aplicación lógica.
Para obtener más información, vea Delegación y roles en la administración de derechos y cómo delegar la gobernanza del acceso a administradores de paquetes de acceso en la administración de derechos.
Solicitud HTTP
POST /identityGovernance/entitlementManagement/catalogs/{catalogId}/customWorkflowExtensions
| Nombre |
Descripción |
| Authorization |
{token} de portador. Obligatorio. Obtenga más información sobre la autenticación y la autorización. |
| Content-Type |
application/json. Obligatorio. |
Cuerpo de la solicitud
En el cuerpo de la solicitud, proporcione una representación JSON del objeto accessPackageAssignmentRequestWorkflowExtension o accessPackageAssignmentWorkflowExtension .
Puede especificar las siguientes propiedades al crear un accessPackageCustomWorkflowExtension.
| Propiedad |
Tipo |
Descripción |
| description |
Cadena |
Descripción del objeto customAccessPackageWorkflowExtension. |
| displayName |
Cadena |
Obligatorio. Nombre para mostrar de customAccessPackageWorkflowExtension. |
| endpointConfiguration |
customExtensionEndpointConfiguration |
Obligatorio. Tipo y detalles para configurar el punto de conexión para llamar al flujo de trabajo de la aplicación lógica. |
| authenticationConfiguration |
customExtensionAuthenticationConfiguration |
Obligatorio. Configuración para proteger la llamada API a la aplicación lógica. Por ejemplo, mediante el flujo de credenciales de cliente de OAuth. |
| callbackConfiguration |
customExtensionCallbackConfiguration |
Configuración de devolución de llamada para una extensión personalizada. Esto es compatible con accessPackageAssignmentRequestWorkflowExtension. |
También debe proporcionar una propiedad @odata.type con un valor del tipo de extensión de flujo de trabajo de paquete de acceso específico. Por ejemplo, "@odata.type": "#microsoft.graph.accessPackageAssignmentRequestWorkflowExtension".
Respuesta
Si se ejecuta correctamente, este método devuelve un 201 Created código de respuesta y un objeto accessPackageAssignmentRequestWorkflowExtension o accessPackageAssignmentWorkflowExtension en el cuerpo de la respuesta.
Ejemplos
Ejemplo 1: Creación de una extensión personalizada para su uso con una solicitud de asignación de paquete de acceso
A continuación se muestra un ejemplo de una extensión de flujo de trabajo personalizada de solicitud de asignación de paquete de acceso.
Solicitud
POST https://graph.microsoft.com/v1.0/identityGovernance/entitlementManagement/catalogs/32efb28c-9a7a-446c-986b-ca6528c6669d/customWorkflowExtensions
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.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.Catalogs["{accessPackageCatalog-id}"].CustomWorkflowExtensions.PostAsync(requestBody);
Para obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider, consulte la documentación del SDK.
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-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
customWorkflowExtensions, err := graphClient.IdentityGovernance().EntitlementManagement().Catalogs().ByAccessPackageCatalogId("accessPackageCatalog-id").CustomWorkflowExtensions().Post(context.Background(), requestBody, nil)
Para obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider, consulte la documentación del SDK.
// 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().catalogs().byAccessPackageCatalogId("{accessPackageCatalog-id}").customWorkflowExtensions().post(customCalloutExtension);
Para obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider, consulte la documentación del SDK.
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/catalogs/32efb28c-9a7a-446c-986b-ca6528c6669d/customWorkflowExtensions')
.post(customCalloutExtension);
Para obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider, consulte la documentación del SDK.
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\AccessPackageAssignmentRequestWorkflowExtension;
use Microsoft\Graph\Generated\Models\LogicAppTriggerEndpointConfiguration;
use Microsoft\Graph\Generated\Models\AzureAdPopTokenAuthentication;
use Microsoft\Graph\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()->catalogs()->byAccessPackageCatalogId('accessPackageCatalog-id')->customWorkflowExtensions()->post($requestBody)->wait();
Para obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider, consulte la documentación del SDK.
Import-Module Microsoft.Graph.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-MgEntitlementManagementCatalogCustomWorkflowExtension -AccessPackageCatalogId $accessPackageCatalogId -BodyParameter $params
Para obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider, consulte la documentación del SDK.
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.access_package_assignment_request_workflow_extension import AccessPackageAssignmentRequestWorkflowExtension
from msgraph.generated.models.logic_app_trigger_endpoint_configuration import LogicAppTriggerEndpointConfiguration
from msgraph.generated.models.azure_ad_pop_token_authentication import AzureAdPopTokenAuthentication
from msgraph.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.catalogs.by_access_package_catalog_id('accessPackageCatalog-id').custom_workflow_extensions.post(request_body)
Para obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider, consulte la documentación del SDK.
Respuesta
Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.
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"
}
}
}
Ejemplo 2: Creación de una extensión personalizada para su uso con una asignación de paquete de acceso
A continuación se muestra un ejemplo de una extensión de flujo de trabajo personalizada de asignación de paquetes de acceso.
Solicitud
POST https://graph.microsoft.com/v1.0/identityGovernance/entitlementManagement/catalogs/32efb28c-9a7a-446c-986b-ca6528c6669d/customWorkflowExtensions
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.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.Catalogs["{accessPackageCatalog-id}"].CustomWorkflowExtensions.PostAsync(requestBody);
Para obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider, consulte la documentación del SDK.
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-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
customWorkflowExtensions, err := graphClient.IdentityGovernance().EntitlementManagement().Catalogs().ByAccessPackageCatalogId("accessPackageCatalog-id").CustomWorkflowExtensions().Post(context.Background(), requestBody, nil)
Para obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider, consulte la documentación del SDK.
// 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().catalogs().byAccessPackageCatalogId("{accessPackageCatalog-id}").customWorkflowExtensions().post(customCalloutExtension);
Para obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider, consulte la documentación del SDK.
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/catalogs/32efb28c-9a7a-446c-986b-ca6528c6669d/customWorkflowExtensions')
.post(customCalloutExtension);
Para obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider, consulte la documentación del SDK.
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\CustomCalloutExtension;
use Microsoft\Graph\Generated\Models\AccessPackageAssignmentWorkflowExtension;
use Microsoft\Graph\Generated\Models\LogicAppTriggerEndpointConfiguration;
use Microsoft\Graph\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()->catalogs()->byAccessPackageCatalogId('accessPackageCatalog-id')->customWorkflowExtensions()->post($requestBody)->wait();
Para obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider, consulte la documentación del SDK.
Import-Module Microsoft.Graph.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-MgEntitlementManagementCatalogCustomWorkflowExtension -AccessPackageCatalogId $accessPackageCatalogId -BodyParameter $params
Para obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider, consulte la documentación del SDK.
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.custom_callout_extension import CustomCalloutExtension
from msgraph.generated.models.access_package_assignment_workflow_extension import AccessPackageAssignmentWorkflowExtension
from msgraph.generated.models.logic_app_trigger_endpoint_configuration import LogicAppTriggerEndpointConfiguration
from msgraph.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.catalogs.by_access_package_catalog_id('accessPackageCatalog-id').custom_workflow_extensions.post(request_body)
Para obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider, consulte la documentación del SDK.
Respuesta
Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.
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"
}
}
}
Ejemplo 3: Creación de una extensión personalizada para su uso con una devolución de llamada de fase de aprobación
A continuación se muestra un ejemplo de una extensión de flujo de trabajo personalizada de solicitud de asignación de paquete de acceso.
Solicitud
POST https://graph.microsoft.com/v1.0/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"
}
}
Respuesta
Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.
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"
}
}
}