Tutorial: Gerenciar o acesso aos recursos no gerenciamento de direitos do Active Directory usando APIs do Microsoft GraphTutorial: Manage access to resources in Active Directory entitlement management using Microsoft Graph APIs

Gerenciar o acesso a todos os recursos de que os funcionários precisam, como grupos, aplicativos e sites, é uma função importante para as organizações.Managing access to all the resources that employees need, such as groups, applications, and sites, is an important function for organizations. Você deseja conceder aos funcionários o nível certo de acesso que precisam ser produtivos e remover o acesso quando não for mais necessário.You want to grant employees the right level of access they need to be productive and remove their access when it is no longer needed. O gerenciamento de direitos do Azure Active Directory (Azure AD) usando APIs do Microsoft Graph permite gerenciar esse tipo de acesso.Azure Active Directory (Azure AD) entitlement management using Microsoft Graph APIs enables you to manage this type of access.

Neste tutorial, você foi solicitado a desenvolver código para criar um pacote de recursos para uma campanha de marketing que os usuários internos possam solicitar por conta própria.In this tutorial, you've been asked to develop code to create a package of resources for a marketing campaign that internal users can self-service request. As solicitações não exigem aprovação e o acesso do usuário expira após 30 dias.Requests do not require approval and user's access expires after 30 days. Para este tutorial, os recursos da campanha de marketing são apenas associação em um único grupo, mas pode ser uma coleção de grupos, aplicativos ou sites do SharePoint Online.For this tutorial, the marketing campaign resources are just membership in a single group, but it could be a collection of groups, applications, or SharePoint Online sites.

Observação: Os objetos de resposta mostrados neste tutorial podem ser reduzidos para a capacidade de leitura.Note: The response objects shown in this tutorial might be shortened for readability.

Pré-requisitosPrerequisites

Para concluir com êxito este tutorial, certifique-se de que você tem os pré-requisitos necessários:To successfully complete this tutorial, make sure that you have the required prerequisites:

  • O gerenciamento de direitos do Azure AD exige licenças específicas.Azure AD entitlement management requires specific licenses. Para obter mais informações, consulte Requisitos de licença.For more information, see License requirements. As seguintes licenças são necessárias em seu locatário:The following licenses are required in your tenant:
    • Azure AD Premium P2Azure AD Premium P2
    • Licença enterprise Mobility + Security (EMS) E5Enterprise Mobility + Security (EMS) E5 license
  • Este tutorial assume que você está usando o Microsoft Graph Explorer, mas você pode usar o Postman ou criar seu próprio aplicativo cliente para chamar o Microsoft Graph.This tutorial assumes that you are using Microsoft Graph Explorer, but you can use Postman, or create your own client app to call Microsoft Graph. Para chamar as APIs do Microsoft Graph neste tutorial, você precisa usar uma conta com a função de administrador global e as permissões apropriadas.To call the Microsoft Graph APIs in this tutorial, you need to use an account with the global administrator role and the appropriate permissions. Para este tutorial, User.ReadWrite.All as permissões , e Group.ReadWrite.All EntitlementManagement.ReadWrite.All delegadas são necessárias.For this tutorial, the User.ReadWrite.All, Group.ReadWrite.All, and EntitlementManagement.ReadWrite.All delegated permissions are needed. Conclua as seguintes etapas para definir as permissões no Microsoft Graph Explorer:Complete the following steps to set permissions in Microsoft Graph Explorer:
    1. Inicie o Microsoft Graph Explorer.Start Microsoft Graph Explorer.

    2. Selecione Entrar com a conta da Microsoft e entre usando uma conta de administrador global do Azure AD.Select Sign-In with Microsoft and sign in using an Azure AD global administrator account. Uma vez acessado, você verá os detalhes da conta do usuário no painel esquerdo.After you successfully sign in, you can see the user account details in the left-hand pane.

    3. Selecione o ícone de configurações à direita dos detalhes da conta do usuário e, em seguida, selecione Selecionar permissões.Select the settings icon to the right of the user account details, and then select Select permissions.

      Selecionar as permissões do Microsoft Graph

    4. Role a lista de permissões para as Group permissões, expanda Group (2), selecione a permissão Group.ReadWrite.All.Scroll through the list of permissions to the Group permissions, expand Group (2), select the Group.ReadWrite.All permission. Role mais para baixo a lista de permissões para as User permissões, expanda Usuário (8) e selecione a permissão User.ReadWrite.All.Scroll further down the list of permissions to the User permissions, expand User (8), and select the User.ReadWrite.All permission.

      Pesquisar permissões de usuário, grupo e direito

    5. Selecione Consentimento e, em seguida, selecione Aceitar para aceitar o consentimento das permissões.Select Consent, and then select Accept to accept the consent of the permissions. Você não precisa consentir em nome da organização para essas permissões.You do not need to consent on behalf of your organization for these permissions.

    6. Pesquise as EntitlementManagement permissões, expanda EntitlementManagement (2), selecione a permissão Entitlement.ReadWrite.All e selecione Consent.Search for the EntitlementManagement permissions, expand EntitlementManagement (2), select the Entitlement.ReadWrite.All permission, and then select Consent. Como essa permissão requer consentimento do administrador e é necessária por uma conta de usuário que você cria neste tutorial, você deve selecionar Consentimento em nome da sua organização.Because this permission requires admin consent and is needed by a user account that you create in this tutorial, you must select Consent on behalf of your organization.

      Consentimento para a organização

    7. Selecione Aceitar para aceitar o consentimento das permissões.Select Accept to accept the consent of the permissions.

Etapa 1: Criar uma conta de usuário e um grupoStep 1: Create a user account and a group

Nesta etapa, você cria um grupo chamado Recursos de Marketing no diretório que é o recurso de destino para gerenciamento de direitos.In this step, you create a group named Marketing resources in the directory that is the target resource for entitlement management. Você também cria uma conta de usuário configurada como solicitante interna.You also create a user account that is set up as an internal requestor.

Criar uma conta de usuárioCreate a user account

Para este tutorial, você cria uma conta de usuário usada para solicitar acesso aos recursos no pacote de acesso.For this tutorial, you create a user account that is used to request access to the resources in the access package. Ao fazer essas chamadas, contoso.onmicrosoft.com altere para o nome de domínio do locatário.When you make these calls, change contoso.onmicrosoft.com to the domain name of your tenant. Encontre informações sobre locatários na página de visão geral do Azure Active Directory.You can find tenant information on the Azure Active Directory overview page. Grave o valor da propriedade id retornada para ser usada posteriormente no tutorial.Record the value of the id property that is returned to be used later in the tutorial.

SolicitaçãoRequest

POST https://graph.microsoft.com/v1.0/users
Content-type: application/json

{
  "accountEnabled":true,
  "displayName":"Requestor1",
  "mailNickname":"Requestor1",
  "userPrincipalName":"Requestor1@contoso.onmicrosoft.com",
  "passwordProfile": {
    "forceChangePasswordNextSignIn":true,
    "password":"Contoso1234"
  }
}

RespostaResponse

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users/$entity",
  "id": "007d1c7e-7fa8-4e33-b678-5e437acdcddc",
  "deletedDateTime": null,
  "accountEnabled": true,
  "ageGroup": null,
  "businessPhones": [],
  "city": null,
  "createdDateTime": null,
  "creationType": null,
  "companyName": null,
  "consentProvidedForMinor": null,
  "country": null,
  "department": null,
  "displayName": "Requestor1",
  "employeeId": null,
  "faxNumber": null,
  "givenName": null,
  "imAddresses": [],
  "infoCatalogs": [],
  "isResourceAccount": null,
  "jobTitle": null,
  "legalAgeGroupClassification": null,
  "mail": null,
  "mailNickname": "Requestor1",
}

Criar um grupoCreate a group

Neste tutorial, você cria um grupo chamado Recursos de Marketing que é o recurso de destino para gerenciamento de direitos.In this tutorial, you create a group named Marketing resources that is the target resource for entitlement management. Você pode usar um grupo existente se já tiver um.You can use an existing group if you already have one. Grave o valor da propriedade id retornada para uso posterior neste tutorial.Record the value of the id property that is returned to use later in this tutorial.

SolicitaçãoRequest

POST https://graph.microsoft.com/v1.0/groups
Content-type: application/json

{
  "description":"Marketing group",
  "displayName":"Marketing resources",
  "mailEnabled":false,
  "mailNickname":"markres",
  "securityEnabled":true
}

RespostaResponse

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#groups/$entity",
  "id": "e93e24d1-2b65-4a6c-a1dd-654a12225487",
  "deletedDateTime": null,
  "classification": null,
  "createdDateTime": "2020-06-24T16:47:37Z",
  "createdByAppId": "de8bc8b5-d9f9-48b1-a8ad-b748da725064",
  "description": "Marketing group",
  "displayName": "Marketing resources",
  "expirationDateTime": null,
  "groupTypes": [],
  "infoCatalogs": [],
  "isAssignableToRole": null,
  "mail": null,
  "mailEnabled": false,
  "mailNickname": "markres"
}

Etapa 2: adicionar recursos a um catálogo e criar um pacote de acessoStep 2: Add resources to a catalog and create an access package

Um pacote de acesso é um pacote de recursos que uma equipe ou projeto precisa e é governado por políticas.An access package is a bundle of resources that a team or project needs and is governed with policies. Os pacotes de acesso são definidos em contêineres chamados catálogos.Access packages are defined in containers called catalogs. Os catálogos podem fazer referência a recursos, como grupos, aplicativos e sites, que são usados no pacote de acesso.Catalogs can reference resources, such as groups, apps and sites, that are used in the access package. Nesta etapa, você cria um pacote de acesso à Campanha de Marketing no catálogo Geral.In this step, you create a Marketing Campaign access package in the General catalog. Se você tiver um catálogo diferente, use seu nome na próxima seção.If you have a different catalog, use its name in the next section.

Obter o identificador de catálogoGet the catalog identifier

Para adicionar recursos ao catálogo, você deve primeiro obter o identificador dele.To add resources to the catalog, you must first get the identifier of it. Se você estiver usando o catálogo Geral, execute a seguinte solicitação para obter seu identificador.If you are using the General catalog, run the following request to get its identifier. Se você estiver usando um calalog diferente, altere o valor do filtro na solicitação para o nome do catálogo.If you are using a different calalog, change the filter value in the request to the name of your catalog. Grave o valor da propriedade id retornada para uso posterior neste tutorial.Record the value of the id property that is returned to use later in this tutorial.

SolicitaçãoRequest

GET https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackageCatalogs?$filter=(displayName eq 'General')

RespostaResponse

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#accessPackageCatalogs",
  "value": [ 
    {
      "id": "cec5d6ab-c75d-47c0-9c1c-92e89f66e384",
      "displayName": "General",
      "description": "Built-in catalog.",
      "catalogType": "ServiceDefault",
      "catalogStatus": "Published",
      "isExternallyVisible": true,
      "createdBy": "Azure AD",
      "createdDateTime": "2020-05-30T10:58:05.363Z",
      "modifiedBy": "Azure AD",
      "modifiedDateTime": "2020-05-30T10:58:05.363Z"
    }
  ]
}

A resposta deve conter apenas o catálogo cujo nome você forneceu na solicitação.The response should only contain the catalog whose name you provided in the request. Se não houver valores retornados, verifique se o nome do catálogo está correto antes de prosseguir.If there are no values returned, check that the name of the catalog is correct before you proceed.

Adicionar o grupo ao catálogoAdd the group to the catalog

Para adicionar o grupo criado ao catálogo, forneça os seguintes valores de propriedade:To add the group that you created to the catalog, provide the following property values:

  • catalogId - a id do catálogo que você está usandocatalogId - the id of the catalog that you are using
  • displayName - o nome do grupodisplayName - the name of the group
  • description - a descrição do grupodescription - the description of the group
  • originId - a id do grupo que você criouoriginId - the id of the group that you created

SolicitaçãoRequest

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

{
  "catalogId":"cec5d6ab-c75d-47c0-9c1c-92e89f66e384",
  "requestType": "AdminAdd",
  "justification": "",
  "accessPackageResource": {
    "displayName": "Marketing resources",
    "description": "Marketing group",
    "resourceType": "AadGroup",
    "originId": "e93e24d1-2b65-4a6c-a1dd-654a12225487",
    "originSystem": "AadGroup"
  }
}

RespostaResponse

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#identityGovernance/entitlementManagement/accessPackageResourceRequests/$entity",
  "catalogId": "cec5d6ab-c75d-47c0-9c1c-92e89f66e384",
  "executeImmediately": false,
  "id": "44e521e0-fb6b-4d5e-a282-e7e68dc59493",
  "requestType": "AdminAdd",
  "requestState": "Delivered",
  "requestStatus": "Fulfilled",
  "isValidationOnly": false,
  "expirationDateTime": null,
  "justification": ""
}

Obter recursos de catálogoGet catalog resources

Em etapas posteriores neste tutorial, você precisa da id atribuída ao recurso de grupo no catálogo.In later steps in this tutorial, you need the id that was assigned to the group resource in the catalog. Esse identificador, que representa o grupo como um recurso no catálogo, é diferente do identificador do próprio grupo no Microsoft Graph.This identifier, which represents the group as a resource in the catalog, is different than the identifier of the group itself in Microsoft Graph. Isso porque um catálogo pode ter recursos que não são representados no Microsoft Graph.This is because a catalog can have resources which aren't represented in Microsoft Graph.

Na solicitação, forneça a id do catálogo que você está usando.In the request, provide the id of the catalog that you are using. Grave o valor da propriedade id do recurso de catálogo de grupos.Record the value of the id property for the group catalog resource.

SolicitaçãoRequest

GET https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackageCatalogs/cec5d6ab-c75d-47c0-9c1c-92e89f66e384/accessPackageResources?$filter=(displayName eq 'Marketing resources')

RespostaResponse

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#accessPackageResources",
  "value": [
    {
      "id": "4a1e21c5-8a76-4578-acb1-641160e076e8",
      "displayName": "Marketing resources",
      "description": "Marketing group",
      "url": "https://account.activedirectory.windowsazure.com/r?tenantId=d3030981-8fb9-4919-9980-5580caeddd75#/manageMembership?objectType=Group&objectId=e93e24d1-2b65-4a6c-a1dd-654a12225487",
      "resourceType": "Security Group",
      "originId": "e93e24d1-2b65-4a6c-a1dd-654a12225487",
      "originSystem": "AadGroup",
      "isPendingOnboarding": false,
      "addedBy": "admin@contoso.onmicrosoft.com",
      "addedOn": "2020-08-21T19:27:29.967Z"
    }
  ]
}

Obter funções de recursosGet resources roles

O pacote de acesso atribui usuários às funções de um recurso.The access package assigns users to the roles of a resource. A função típica de um grupo é a função de membro.The typical role of a group is the member role. Outros recursos, como sites e aplicativos do SharePoint Online, podem ter muitas funções.Other resources, such as SharePoint Online sites and applications, might have many roles. A função típica de um grupo usado em um pacote de acesso é a função de membro.The typical role of a group used in an access package is the member role. Você precisará da função de membro ao adicionar uma função de recurso ao pacote de acesso posteriormente neste tutorial.You'll need the member role when you add a resource role to the access package later in this tutorial.

Na solicitação, use a id do catálogo e a id do recurso de grupo no catálogo que você gravou para obter a origemId da função de recurso Membro.In the request, use the id of the catalog and the id of the group resource in the catalog that you recorded to get the originId of the Member resource role. Grave o valor da propriedade originId a ser usada posteriormente neste tutorial.Record the value of the originId property to use later in this tutorial.

SolicitaçãoRequest

GET https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackageCatalogs/cec5d6ab-c75d-47c0-9c1c-92e89f66e384/accessPackageResourceRoles?$filter=(originSystem+eq+%27AadGroup%27+and+accessPackageResource/id+eq+%274a1e21c5-8a76-4578-acb1-641160e076e8%27+and+displayName+eq+%27Member%27)&$expand=accessPackageResource

RespostaResponse

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#identityGovernance/entitlementManagement/accessPackageCatalogs('ede67938-cda7-4127-a9ca-7c7bf86a19b7')/accessPackageResourceRoles(accessPackageResource())",
  "value": [
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "displayName": "Member",
      "description": null,
      "originSystem": "AadGroup",
      "originId": "Member_e93e24d1-2b65-4a6c-a1dd-654a12225487",
      "accessPackageResource@odata.context": "https://graph.microsoft.com/beta/$metadata#identityGovernance/entitlementManagement/accessPackageCatalogs('cec5d6ab-c75d-47c0-9c1c-92e89f66e384')/accessPackageResourceRoles('00000000-0000-0000-0000-000000000000')/accessPackageResource/$entity",
      "accessPackageResource": {
        "id": "4a1e21c5-8a76-4578-acb1-641160e076e8",
        "displayName": "Marketing resources",
        "description": "Marketing group",
        "url": "https://account.activedirectory.windowsazure.com/r?tenantId=d3030981-8fb9-4919-9980-5580caeddd75#/manageMembership?objectType=Group&objectId=e93e24d1-2b65-4a6c-a1dd-654a12225487",
        "resourceType": "Security Group",
        "originId": "e93e24d1-2b65-4a6c-a1dd-654a12225487",
        "originSystem": "AadGroup",
        "isPendingOnboarding": false,
        "addedBy": "admin@contoso.onmicrosoft.com",
        "addedOn": "2020-06-26T17:13:23.723Z",
        "accessPackageResourceScopes@odata.context": "https://graph.microsoft.com/beta/$metadata#identityGovernance/entitlementManagement/accessPackageCatalogs('cec5d6ab-c75d-47c0-9c1c-92e89f66e384')/accessPackageResourceRoles('00000000-0000-0000-0000-000000000000')/accessPackageResource/accessPackageResourceScopes",
        "accessPackageResourceScopes": []
      }
    }
  ]
}

Se tiver êxito, um único valor será retornado, o que representa a função Membro desse grupo.If successful, a single value is returned, which represents the Member role of that group. Se nenhuma função for retornada, verifique os valores de id do catálogo e o recurso do pacote de acesso.If no roles are returned, check the id values of the catalog and the access package resource.

Criar o pacote de acessoCreate the access package

Neste ponto, você tem um catálogo com um recurso de grupo e sabe que usará a função de recurso do membro do grupo no pacote de acesso.At this point, you have a catalog with a group resource, and you know that you'll use the resource role of group member in the access package. A próxima etapa é criar o pacote de acesso.The next step is to create the access package. Depois de ter o pacote de acesso, você pode adicionar a função de recurso a ele e criar uma política para como os usuários podem solicitar acesso a essa função de recurso.After you have the access package, you can add the resource role to it, and create a policy for how users can request access to that resource role. Você usa a id do catálogo gravado anteriormente para criar o pacote de acesso.You use the id of the catalog that you recorded earlier to create the access package. Grave a id do pacote de acesso a ser usado posteriormente neste tutorial.Record the id of the access package to use later in this tutorial.

SolicitaçãoRequest

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

{
  "catalogId": "cec5d6ab-c75d-47c0-9c1c-92e89f66e384",
  "displayName": "Marketing Campaign",
  "description": "Access to resources for the campaign"
}

RespostaResponse

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#identityGovernance/entitlementManagement/accessPackages/$entity",
  "id": "88203d16-0e31-41d4-87b2-dd402f1435e9",
  "catalogId": "cec5d6ab-c75d-47c0-9c1c-92e89f66e384",
  "displayName": "Marketing Campaign",
  "description": "Access to resources for the campaign",
  "isHidden": false,
  "isRoleScopesVisible": false,
  "createdBy": "admin@contoso.onmicrosoft.com",
  "createdDateTime": "2020-08-21T19:45:33.2042281Z",
  "modifiedBy": "admin@contoso.onmicrosoft.com",
  "modifiedDateTime": "2020-08-21T19:45:33.2042281Z"
}

Adicionar uma função de recurso ao pacote de acessoAdd a resource role to the access package

Adicione a função Membro do recurso group ao pacote de acesso.Add the Member role of the group resource to the access package. Na solicitação, forneça a id do pacote de acesso.In the request, provide the id of the access package. No corpo da solicitação, forneça a id do recurso de catálogo de grupos para accessPackageResource e forneça a origemId da função membro que você registrou anteriormente.In the request body provide the id of the group catalog resource for accessPackageResource, and provide the originId of the Member role that you previously recorded.

SolicitaçãoRequest

POST https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackages/88203d16-0e31-41d4-87b2-dd402f1435e9/accessPackageResourceRoleScopes
Content-type: application/json

{
  "accessPackageResourceRole": {
    "originId":"Member_e93e24d1-2b65-4a6c-a1dd-654a12225487",
    "displayName":"Member",
    "originSystem":"AadGroup",
    "accessPackageResource": {
      "id":"4a1e21c5-8a76-4578-acb1-641160e076e8","resourceType":"Security Group",  
      "originId":"e93e24d1-2b65-4a6c-a1dd-654a12225487","originSystem":"AadGroup"
    }
  },
  "accessPackageResourceScope": {
    "originId":"e93e24d1-2b65-4a6c-a1dd-654a12225487","originSystem":"AadGroup"
  }
}

RespostaResponse

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#identityGovernance/entitlementManagement/accessPackages('88203d16-0e31-41d4-87b2-dd402f1435e9')/accessPackageResourceRoleScopes/$entity",
  "id": "e081321b-2802-4834-a6ca-6f598ce3cdf7_6dbd2209-9d14-4c76-b92b-fcb00e835fe1",
  "createdBy": "admin@contoso.onmicrosoft.com",
  "createdDateTime": "2020-08-21T19:56:00.6320729Z",
  "modifiedBy": "admin@contoso.onmicrosoft.com",
  "modifiedDateTime": "2020-08-21T19:56:00.6320729Z"
}

O pacote de acesso agora tem uma função de recurso, que é a associação de grupo.The access package now has one resource role, which is group membership. A função é atribuída a qualquer usuário que tenha o pacote de acesso.The role is assigned to any user who has the access package.

Criar uma política de pacote de acessoCreate an access package policy

Agora que você criou o pacote de acesso e adicionou recursos e funções, pode decidir quem pode acessá-lo criando uma política de pacote de acesso.Now that you created the access package and added resources and roles, you can decide who can access it by creating an access package policy. Neste tutorial, você habilita a conta Requestor1 criada para solicitar acesso aos recursos no pacote de acesso.In this tutorial, you enable the Requestor1 account that you created to request access to the resources in the access package. Para essa tarefa, você precisa desses valores:For this task, you need these values:

  • id do pacote de acesso para o valor da propriedade accessPackageIdid of the access package for the value of the accessPackageId property
  • id da conta de usuário Requestor1 para o valor da propriedade id em allowedRequestorsid of the Requestor1 user account for the value of the id property in allowedRequestors

O valor da propriedade durationInDays permite que a conta Requestor1 acesse os recursos no pacote de acesso por até 30 dias.The value of the durationInDays property enables the Requestor1 account to access the resources in the access package for up to 30 days. Grave o valor da propriedade id retornada para uso posterior neste tutorial.Record the value of the id property that is returned to use later in this tutorial.

SolicitaçãoRequest

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

{
  "accessPackageId": "88203d16-0e31-41d4-87b2-dd402f1435e9",
  "displayName": "Specific users",
  "description": "Specific users can request assignment",
  "accessReviewSettings": null,
  "durationInDays": 30,
  "requestorSettings": {
    "scopeType": "SpecificDirectorySubjects",
    "acceptRequests": true,
    "allowedRequestors": [
       {
         "@odata.type": "#microsoft.graph.singleUser",
         "isBackup": false,
         "id": "007d1c7e-7fa8-4e33-b678-5e437acdcddc",
         "description": "Requestor1"
       }
    ]
  },
  "requestApprovalSettings": {
    "isApprovalRequired": false,
    "isApprovalRequiredForExtension": false,
    "isRequestorJustificationRequired": false,
    "approvalMode": "NoApproval",
    "approvalStages": []
  }
}

RespostaResponse

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#accessPackageAssignmentPolicies/$entity",
  "id": "db440482-1210-4a60-9b55-3ac7a72f63ba",
  "accessPackageId": "88203d16-0e31-41d4-87b2-dd402f1435e9",
  "displayName": "Specific users",
  "description": "Specific users can request assignment",
  "canExtend": false,
  "durationInDays": 30,
  "expirationDateTime": null,
  "createdBy": "admin@contoso.onmicrosoft.com",
  "createdDateTime": "2020-06-29T19:47:44.7399675Z",
  "modifiedBy": "admin@contoso.onmicrosoft.com",
  "modifiedDateTime": "2020-06-29T19:47:44.7555489Z",
  "accessReviewSettings": null,
  "requestorSettings": {
    "scopeType": "SpecificDirectorySubjects",
    "acceptRequests": true,
    "allowedRequestors": [
      {
        "@odata.type": "#microsoft.graph.singleUser",
        "isBackup": false,
        "id": "007d1c7e-7fa8-4e33-b678-5e437acdcddc",
        "description": "Requestor1"
      }
    ]
  },
  "requestApprovalSettings": {
    "isApprovalRequired": false,
    "isApprovalRequiredForExtension": false,
    "isRequestorJustificationRequired": false,
    "approvalMode": "NoApproval",
    "approvalStages": []
  }
}

Etapa 3: Solicitar acessoStep 3: Request access

Nesta etapa, a conta de usuário Requestor1 solicita acesso aos recursos no pacote de acesso.In this step, the Requestor1 user account requests access to the resources in the access package.

Para solicitar acesso aos recursos no pacote de acesso, você precisa fornecer estes valores:To request access to resources in the access package, you need to provide these values:

  • id da conta de usuário Requestor1 que você criou para o valor da propriedade targetIdid of the Requestor1 user account that you created for the value of the targetId property
  • id da política de atribuição para o valor da propriedade assignmentPolicyIdid of the assignment policy for the value of the assignmentPolicyId property
  • id do pacote de acesso para o valor da propriedade accessPackageIdid of the access package for the value of accessPackageId property

Na resposta, você pode ver o status de Accepted e um estado de Submitted.In the response you can see the status of Accepted and a state of Submitted. Grave o valor da propriedade id retornada para obter o status da solicitação posteriormente.Record the value of the id property that is returned to get the status of the request later.

Se você ainda não fez isso, saia da conta de administrador que estava usando no Microsoft Graph Explorer.If you haven't done so already, sign out of the administrator account that you were using in Microsoft Graph Explorer. Entre na conta de usuário Requestor1 que você criou.Sign in to the Requestor1 user account that you created. Você será solicitado a alterar a senha se for a primeira vez que você estiver fazendo login.You will be asked to change the password if it is the first time you are signing in.

SolicitaçãoRequest

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

{
  "requestType": "UserAdd",
  "accessPackageAssignment":{
     "targetId":"007d1c7e-7fa8-4e33-b678-5e437acdcddc",
     "assignmentPolicyId":"db440482-1210-4a60-9b55-3ac7a72f63ba",
     "accessPackageId":"88203d16-0e31-41d4-87b2-dd402f1435e9"
  }
}

RespostaResponse

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#accessPackageAssignmentRequests/$entity",
    "createdDateTime": null,
    "completedDate": null,
    "id": "a6bb6942-3ae1-4259-9908-0133aaee9377",
    "requestType": "UserAdd",
    "requestState": "Submitted",
    "requestStatus": "Accepted",
    "isValidationOnly": false,
    "expirationDateTime": null,
    "justification": null
}

Etapa 4: Validar se o acesso foi atribuídoStep 4: Validate that access has been assigned

Nesta etapa, você confirma que a conta de usuário Requestor1 foi atribuída ao pacote de acesso e que agora é membro do grupo de recursos de Marketing.In this step, you confirm that the Requestor1 user account was assigned the access package and that they are now a member of the Marketing resources group.

Saia da conta Requestor1 e entre novamente na conta do administrador para ver o status da solicitação.Sign out of the Requestor1 account and sign back in to the administrator account to see the status of the request.

Obter o status da solicitaçãoGet the status of the request

Use o valor da propriedade id da solicitação para obter o status atual dela.Use the value of the id property of the request to get the current status of it. Na resposta, você pode ver o status alterado para Fulfilled e o estado alterado para Delivered.In the response, you can see the status changed to Fulfilled and the state changed to Delivered.

SolicitaçãoRequest

GET https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackageAssignmentRequests/a6bb6942-3ae1-4259-9908-0133aaee9377

RespostaResponse

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#accessPackageAssignmentRequests/$entity",
  "createdDateTime": "2020-06-29T20:24:24.683Z",
  "completedDate": "2020-06-29T20:24:47.937Z",
  "id": "a6bb6942-3ae1-4259-9908-0133aaee9377",
  "requestType": "UserAdd",
  "requestState": "Delivered",
  "requestStatus": "FulfilledNotificationTriggered",
  "isValidationOnly": false,
  "expirationDateTime": null,
  "justification": null
}

Obter atribuições de pacote de acessoGet access package assignments

Você também pode usar a id da política de pacote de acesso criada para ver se os recursos foram atribuídos à conta de usuário Requestor1.You can also use the id of the access package policy that you created to see that resources have been assigned to the Requestor1 user account.

SolicitaçãoRequest

GET https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackageAssignments?$filter=accessPackageAssignmentPolicy/Id eq 'db440482-1210-4a60-9b55-3ac7a72f63ba'

RespostaResponse

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#accessPackageAssignments",
  "value": [
    {
      "id": "a6bb6942-3ae1-4259-9908-0133aaee9377",
      "catalogId": "cec5d6ab-c75d-47c0-9c1c-92e89f66e384",
      "accessPackageId": "88203d16-0e31-41d4-87b2-dd402f1435e9",
      "assignmentPolicyId": "db440482-1210-4a60-9b55-3ac7a72f63ba",
      "targetId": "2bc42425-6dc5-4f2a-9ebb-7a7464481eb0",
      "assignmentStatus": "Delivered",
      "assignmentState": "Delivered",
      "isExtended": false,
      "expiredDateTime": null
    }
  ]
}

Obter os membros do grupoGet the members of the group

Depois que a solicitação for concedida, você poderá usar a id registrada para o grupo de recursos de Marketing para ver se a conta de usuário Requestor1 foi adicionada a ela.After the request has been granted, you can use the id that you recorded for the Marketing resources group to see that the Requestor1 user account has been added to it.

SolicitaçãoRequest

GET https://graph.microsoft.com/v1.0/groups/e93e24d1-2b65-4a6c-a1dd-654a12225487/members

Resposta:Response:

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#directoryObjects",
  "value": [
    {
      "@odata.type": "#microsoft.graph.user",
      "id": "007d1c7e-7fa8-4e33-b678-5e437acdcddc",
      "deletedDateTime": null,
      "accountEnabled": true,
      "ageGroup": null,
      "businessPhones": [],
      "city": null,
      "createdDateTime": "2020-06-23T18:43:24Z",
      "creationType": null,
      "companyName": null,
      "consentProvidedForMinor": null,
      "country": null,
      "department": null,
      "displayName": "Requestor1",
      "employeeId": null,
      "faxNumber": null,
      "givenName": null,
      "imAddresses": [],
      "infoCatalogs": [],
      "isResourceAccount": null,
      "jobTitle": null,
      "legalAgeGroupClassification": null,
      "mail": null,
      "mailNickname": "Requestor1"
    }
  ]
}

Etapa 5: Limpar recursosStep 5: Clean up resources

Nesta etapa, você remove as alterações feitas e exclui o pacote de acesso à Campanha de Marketing.In this step, you remove the changes you made and delete the Marketing Campaign access package.

Remover uma atribuição de pacote de acessoRemove an access package assignment

Você deve remover todas as atribuições para o pacote de acesso antes de excluí-lo.You must remove any assignments to the access package before you can delete it. Use a id da solicitação de atribuição que você gravou anteriormente para excluí-la.Use the id of the assignment request that you previously recorded to delete it.

SolicitaçãoRequest

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

{
  "requestType": "AdminRemove",
  "accessPackageAssignment":{
     "id": "a6bb6942-3ae1-4259-9908-0133aaee9377"
  }
}

RespostaResponse

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#accessPackageAssignmentRequests/$entity",
    "createdDateTime": null,
    "completedDate": null,
    "id": "78eaee8c-e6cf-48c9-8f99-aae44c35e379",
    "requestType": "AdminRemove",
    "requestState": "Submitted",
    "requestStatus": "Accepted",
    "isValidationOnly": false,
    "expirationDateTime": null,
    "justification": null
}

Excluir a política de atribuição de pacote de acessoDelete the access package assignment policy

Use a id da política de atribuição que você gravou anteriormente para excluí-la.Use the id of the assignment policy that you previously recorded to delete it. Certifique-se de que todas as atribuições sejam removidas primeiro.Make sure all assignments are removed first.

SolicitaçãoRequest

DELETE https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackageAssignmentPolicies/6c1f65ec-8c25-4a45-83c2-a1de2a6d0e9f

RespostaResponse

No Content - 204

Excluir o pacote de acessoDelete the access package

Use a id do pacote de acesso que você gravou anteriormente para excluí-lo.Use the id of the access package that you previously recorded to delete it.

SolicitaçãoRequest

DELETE https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackages/cf54c6ca-d717-49bc-babe-d140d035dfdd

RespostaResponse

No Content - 204

Excluir a conta de usuárioDelete the user account

Exclua a conta de usuário Requestor1.Delete the Requestor1 user account.

SolicitaçãoRequest

DELETE https://graph.microsoft.com/v1.0/users/ce02eca8-752b-4ecf-ac29-aa9bccd87606

RespostaResponse

No Content - 204

Adicionar ou remover membros do grupoDelete the group

Exclua o grupo Recursos de Marketing.Delete the Marketing resources group.

SolicitaçãoRequest

DELETE https://graph.microsoft.com/v1.0/groups/a468eaea-ed6c-4290-98d2-a96bb1cb4209

RespostaResponse

No Content - 204

Confira tambémSee also

Neste tutorial, você usou muitas APIs para realizar tarefas.In this tutorial, you used many APIs to accomplish tasks. Explore a referência da API para essas APIs para saber mais sobre o que as APIs podem fazer.Explore the API reference for these APIs to learn more about what the APIs can do.