Exibir, adicionar e remover atribuições para um pacote de acesso no gerenciamento de direitos

No gerenciamento de direitos, você pode ver quem foi atribuído aos pacotes de acesso, sua política, status e ciclo de vida do usuário (versão prévia). Se um pacote de acesso tiver uma política apropriada, você também poderá atribuir diretamente o usuário a um pacote de acesso. Este artigo descreve como ver, adicionar e remover atribuições de pacotes de acesso.

Pré-requisitos

Para usar o gerenciamento de direitos e atribuir usuários a pacotes de acesso, você deve ter uma das seguintes licenças:

  • Microsoft Entra ID P2
  • Licença do Enterprise Mobility + Security (EMS) E5
  • Assinatura de governança da ID do Microsoft Entra

Ver quem tem uma atribuição

Dica

As etapas neste artigo podem variar ligeiramente com base no portal do qual você começa.

Pré-requisito de função: Administrador global, Administrador de governança de identidade, Proprietário do catálogo, Gerenciador de pacotes de acesso ou Gerenciador de atribuição de pacotes de acesso

  1. Entre no centro de administração do Microsoft Entra como, no mínimo Administrador de Governança de identidade.

  2. Navegue até Governança de identidade>Gerenciamento de direitos>Pacote de acesso.

  3. Na página Pacotes de acesso, abra um pacote de acesso.

  4. Selecione Atribuições para ver uma lista de atribuições ativas.

    List of assignments to an access package

  5. Selecione uma atribuição específica para ver mais detalhes.

  6. Para ver uma lista de atribuições que não tinham todas as funções de recurso provisionadas corretamente, selecione o status do filtro e Entrega.

    Você pode ver mais detalhes sobre erros de entrega ao localizar a solicitação correspondente do usuário na página Solicitações.

  7. Para ver as atribuições expiradas, selecione o status do filtro e Expirado.

  8. Para baixar um arquivo CSV da lista filtrada, selecione Download.

Exibir as atribuições programaticamente

Exibir as atribuições com o Microsoft Graph

Você também pode recuperar atribuições em um pacote de acesso com o Microsoft Graph. Um usuário em uma função adequada com um aplicativo que tenha a permissão EntitlementManagement.Read.All ou EntitlementManagement.ReadWrite.All delegada pode chamar a API para listar accessPackageAssignments. Um aplicativo que tenha a permissão de aplicativo EntitlementManagement.Read.All ou a permissão EntitlementManagement.ReadWrite.All também pode usar essa API para recuperar atribuições em todos os catálogos.

O Microsoft Graph retornará os resultados em páginas e continuará a retornar uma referência para a próxima página de resultados na propriedade @odata.nextLink com cada resposta, até que todas as páginas dos resultados sejam lidas. Para ler todos os resultados, você deve continuar a chamar o Microsoft Graph com a propriedade @odata.nextLink retornada em cada resposta até que a propriedade @odata.nextLink não seja mais retornada, conforme descrito na paginação de dados do Microsoft Graph em seu aplicativo.

Embora um administrador de governança de identidade possa recuperar pacotes de acesso de vários catálogos, se a entidade de serviço do aplicativo ou o usuário for atribuído somente a funções administrativas delegadas específicas do catálogo, a solicitação precisará fornecer um filtro para indicar um pacote de acesso específico, como: $filter=accessPackage/id eq 'a914b616-e04e-476b-aa37-91038f0b165b'.

Exibir atribuições com o PowerShell

Você também pode recuperar atribuições para um pacote de acesso no PowerShell com o cmdlet Get-MgEntitlementManagementAssignment do módulo Cmdlets do PowerShell do Microsoft Graph para Governança de Identidade versão 2.1.x ou posterior. Este script ilustra o uso do módulo de cmdlets do PowerShell do Microsoft Graph versão 2.4.0 para recuperar todas as atribuições para um pacote de acesso específico. Esse cmdlet assume como um parâmetro a ID do pacote de acesso, que está incluída na resposta do cmdlet Get-MgEntitlementManagementAccessPackage. Certifique-se de usar o cmdlet Get-MgEntitlementManagementAccessPackage para incluir o sinalizador -All a fim de fazer com que todas as páginas de atribuições sejam retornadas.

Connect-MgGraph -Scopes "EntitlementManagement.Read.All"
$accesspackage = Get-MgEntitlementManagementAccessPackage -Filter "displayName eq 'Marketing Campaign'"
if ($null -eq $accesspackage) { throw "no access package"}
$assignments = @(Get-MgEntitlementManagementAssignment -AccessPackageId $accesspackage.Id -ExpandProperty target -All -ErrorAction Stop)
$assignments | ft Id,state,{$_.Target.id},{$_.Target.displayName}

Observe que a consulta anterior retornará atribuições expiradas e entregues, bem como atribuições entregues. Se você quiser excluir atribuições expiradas ou de entrega, poderá usar um filtro que inclua a ID do pacote de acesso, bem como o estado das atribuições. Este script ilustra o uso de um filtro para recuperar apenas as atribuições no estado Delivered de um pacote de acesso específico. Em seguida, o script gerará um arquivo CSV assignments.csv com uma linha por atribuição.

Connect-MgGraph -Scopes "EntitlementManagement.Read.All"
$accesspackage = Get-MgEntitlementManagementAccessPackage -Filter "displayName eq 'Marketing Campaign'"
if ($null -eq $accesspackage) { throw "no access package"}
$accesspackageId = $accesspackage.Id
$filter = "accessPackage/id eq '" + $accesspackageId + "' and state eq 'Delivered'"
$assignments = @(Get-MgEntitlementManagementAssignment -Filter $filter -ExpandProperty target -All -ErrorAction Stop)
$sp = $assignments | select-object -Property Id,{$_.Target.id},{$_.Target.ObjectId},{$_.Target.DisplayName},{$_.Target.PrincipalName}
$sp | Export-Csv -Encoding UTF8 -NoTypeInformation -Path ".\assignments.csv"

Atribuir um usuário diretamente

Em alguns casos, você pode querer atribuir diretamente usuários específicos a um pacote de acesso para que os usuários não precisem passar pelo processo de solicitá-lo. Para atribuir usuários diretamente, o pacote de acesso precisa ter uma política que permita atribuições diretas de administrador.

Função de pré-requisito: Administrador Global, Administrador de Usuário, Administrador de Governança de Identidade, Proprietário do Catálogo, Gerenciador de Pacotes de Acesso ou Gerenciador de Atribuição de Pacotes de Acesso

  1. Entre no centro de administração do Microsoft Entra como, no mínimo Administrador de Governança de identidade.

  2. Navegue até Governança de identidade>Gerenciamento de direitos>Pacote de acesso.

  3. Na página Pacotes de acesso, abra um pacote de acessos.

  4. No menu à esquerda, selecione Atribuições.

  5. Selecione Nova atribuição para abrir Adicionar usuário ao pacote de acesso.

    Assignments - Add user to access package

  6. Na lista Selecionar política, escolha uma política que será regida e controlada pelo ciclo de vida e pelas solicitações futuras dos usuários. Se você quiser que os usuários escolhidos tenham configurações de política diferentes, clique em Criar nova política para adicionar uma nova política.

  7. Depois de selecionar uma política, você poderá adicionar usuários para selecionar os usuários para os quais deseja atribuir esse pacote de acesso na política escolhida.

    Observação

    Se você selecionar uma política com perguntas, só poderá atribuir um usuário por vez.

  8. Defina a data e hora de início e término da atribuição dos usuários escolhidos. Se nenhuma data de término for fornecida, as configurações de ciclo de vida da política serão usadas.

  9. Você também pode informar uma justificativa para sua atribuição direta para manutenção de registros.

  10. Se a política selecionada incluir informações adicionais do solicitante, selecione Exibir perguntas para respondê-las em nome dos usuários e selecione Salvar.

    Assignments - click view questions

    Assignments - questions pane

  11. Selecione Adicionar para atribuir diretamente os usuários selecionados ao pacote de acesso.

    Após alguns instantes, selecione Atualizar para ver os usuários na lista Atribuições.

Observação

Ao atribuir usuários a um pacote de acesso, os administradores precisarão verificar se os usuários estão qualificados para esse pacote de acesso com base nos requisitos de política existentes. Caso contrário, os usuários não serão atribuídos com êxito ao pacote de acesso. Se o pacote de acesso contiver uma política que exija que as solicitações do usuário sejam aprovadas, os usuários não poderão ser atribuídos diretamente ao pacote as sem aprovações necessárias dos aprovadores atribuídos.

Atribuir um usuário diretamente (Versão prévia)

O gerenciamento de direitos também permite atribuir usuários externos diretamente a um pacote de acesso para facilitar a colaboração com parceiros. Para fazer isso, o pacote de acesso deve ter uma política que permita que os usuários que ainda não estejam em seu diretório solicitem acesso.

Função de pré-requisito: Administrador Global, Administrador de Usuário, Administrador de Governança de Identidade, Proprietário do Catálogo, Gerenciador de Pacotes de Acesso ou Gerenciador de Atribuição de Pacotes de Acesso

  1. Entre no centro de administração do Microsoft Entra como, no mínimo Administrador de Governança de identidade.

  2. Navegue até Governança de identidade>Gerenciamento de direitos>Pacote de acesso.

  3. Na página Pacotes de acesso, abra um pacote de acesso.

  4. No menu à esquerda, selecione Atribuições.

  5. Selecione Nova atribuição para abrir Adicionar usuário ao pacote de acesso.

  6. Na lista Selecionar política, selecione uma política que permita que seja definida como Para os usuários que não estão em seu diretório

  7. Selecione Qualquer usuário. Você poderá especificar quais usuários deseja atribuir a esse pacote de acesso. Assignments - Add any user to access package

  8. Insira o Nome (opcional) e o Endereço de email (obrigatório) do usuário.

    Observação

    • O usuário que você deseja adicionar deve estar dentro do escopo da política. Por exemplo, se sua política for definida para Organizações conectadas específicas, o endereço de email do usuário deverá ser dos domínios das empresas selecionadas. Se o usuário que você está tentando adicionar tem um endereço de email jen@foo.com, mas o domínio da empresa é bar.com, você não conseguirá adicionar esse usuário ao pacote de acesso.
    • Da mesma forma, se você definir sua política para incluir Todas as organizações conectadas configuradas, o endereço de email do usuário deverá ser de uma de suas organizações conectadas configuradas. Caso contrário, o usuário não será adicionado ao pacote de acesso.
    • Se desejar adicionar qualquer usuário ao pacote de acesso, será necessário garantir que você selecione Todos os usuários (todas as organizações conectadas + qualquer usuário externo) ao configurar sua política.
  9. Defina a data e hora de início e término da atribuição dos usuários escolhidos. Se nenhuma data de término for fornecida, as configurações de ciclo de vida da política serão usadas.

  10. Selecione Adicionar para atribuir diretamente os usuários selecionados ao pacote de acesso.

  11. Após alguns instantes, selecione Atualizar para ver os usuários na lista Atribuições.

Atribuir usuários diretamente de maneira programática

Atribuir um usuário a um pacote de acesso com o Microsoft Graph

Você também pode atribuir diretamente um usuário a um pacote de acesso com o Microsoft Graph. Um usuário em uma função adequada com um aplicativo com a permissão EntitlementManagement.ReadWrite.All delegada ou um aplicativo com a permissão de aplicativo EntitlementManagement.ReadWrite.All, pode chamar a API para criar um accessPackageAssignmentRequest. Nessa solicitação, o valor da propriedade requestType deve ser adminAdd e a propriedade assignment é uma estrutura que contém o targetId do usuário que está sendo atribuído.

Atribuir um usuário a um pacote de acesso com o PowerShell

Você pode atribuir um usuário a um pacote de acesso no PowerShell com o cmdlet New-MgEntitlementManagementAssignmentRequest do módulo Cmdlets do PowerShell do Microsoft Graph para Governança de Identidade versão 2.1 ou posterior. Esse script ilustra o uso do módulo de cmdlets do Microsoft Graph PowerShell versão 2.4.0.

Connect-MgGraph -Scopes "EntitlementManagement.ReadWrite.All"
$accesspackage = Get-MgEntitlementManagementAccessPackage -Filter "displayname eq 'Marketing Campaign'" -ExpandProperty "assignmentpolicies"
if ($null -eq $accesspackage) { throw "no access package"}
$policy = $accesspackage.AssignmentPolicies[0]
$userid = "cdbdf152-82ce-479c-b5b8-df90f561d5c7"
$params = @{
   requestType = "adminAdd"
   assignment = @{
      targetId = $userid
      assignmentPolicyId = $policy.Id
      accessPackageId = $accesspackage.Id
   }
}
New-MgEntitlementManagementAssignmentRequest -BodyParameter $params

Você também pode atribuir vários usuários que estão em seu diretório a um pacote de acesso usando o PowerShell com o cmdlet New-MgBetaEntitlementManagementAccessPackageAssignment do módulo Cmdlets do PowerShell do Microsoft Graph para Governança de Identidade versão 2.4.0 ou posterior. Esse cmdlet aceita como parâmetros

  • a ID do pacote de acesso, que está incluída na resposta do cmdlet Get-MgEntitlementManagementAccessPackage,
  • a ID da política de atribuição do pacote de acesso, que está incluída na política no campo assignmentpolicies na resposta do cmdlet Get-MgEntitlementManagementAccessPackage,
  • as IDs de objeto dos usuários de destino, seja como uma matriz de cadeias de caracteres ou como uma lista de membros do usuário retornados do cmdlet Get-MgGroupMember.

Por exemplo, se você quiser garantir que todos os usuários que atualmente são membros de um grupo também tenham atribuições a um pacote de acesso, você poderá usar esse cmdlet para criar solicitações para os usuários que não têm atribuições no momento. Observe que esse cmdlet criará apenas atribuições; ele não remove atribuições para usuários que não são mais membros de um grupo.

Connect-MgGraph -Scopes "EntitlementManagement.ReadWrite.All,Directory.Read.All"
$members = @(Get-MgGroupMember -GroupId "a34abd69-6bf8-4abd-ab6b-78218b77dc15" -All)

$accesspackage = Get-MgEntitlementManagementAccessPackage -Filter "displayname eq 'Marketing Campaign'" -ExpandProperty "assignmentPolicies"
if ($null -eq $accesspackage) { throw "no access package"}
$policy = $accesspackage.AssignmentPolicies[0]
$req = New-MgBetaEntitlementManagementAccessPackageAssignment -AccessPackageId $accesspackage.Id -AssignmentPolicyId $policy.Id -RequiredGroupMember $members

Se quiser adicionar uma atribuição para um usuário que ainda não está no diretório, você pode usar o cmdlet New-MgBetaEntitlementManagementAccessPackageAssignmentRequest do módulo beta Cmdlets do PowerShell do Microsoft Graph para Governança de Identidade versão 2.1 ou posterior. Esse script ilustra o uso do perfil beta do Graph e do módulo de cmdlets do PowerShell do Microsoft Graph versão 2.4.0. Esse cmdlet aceita como parâmetros

  • a ID do pacote de acesso, que está incluída na resposta do cmdlet Get-MgEntitlementManagementAccessPackage,
  • a ID da política de atribuição do pacote de acesso, que está incluída na política no campo assignmentpolicies na resposta do cmdlet Get-MgEntitlementManagementAccessPackage,
  • o endereço de email do usuário de destino.
Connect-MgGraph -Scopes "EntitlementManagement.ReadWrite.All"
$accesspackage = Get-MgEntitlementManagementAccessPackage -Filter "displayname eq 'Marketing Campaign'" -ExpandProperty "assignmentPolicies"
if ($null -eq $accesspackage) { throw "no access package"}
$policy = $accesspackage.AssignmentPolicies[0]
$req = New-MgBetaEntitlementManagementAccessPackageAssignmentRequest -AccessPackageId $accesspackage.Id -AssignmentPolicyId $policy.Id -TargetEmail "sample@example.com"

Configurar a atribuição de acesso como parte de um fluxo de trabalho do ciclo de vida

No recurso fluxos de trabalho do ciclo de vida do Microsoft Entra, você pode adicionar uma tarefa Solicitar atribuição de pacote de acesso do usuário a um fluxo de trabalho de integração. A tarefa pode especificar um pacote de acesso que os usuários devem ter. Ao executar o fluxo de trabalho para um usuário, automaticamente será criada uma solicitação de atribuição de pacote de acesso.

  1. Entre no centro de administração do Microsoft Entra como um administrador global.

  2. Navegue até Governança de identidade>Fluxos de trabalho do ciclo de vida>Fluxos de trabalho.

  3. Selecione um fluxo de trabalho de integração ou transição de funcionários.

  4. Selecione Tarefas e selecione Adicionar tarefa.

  5. Selecione Solicitar atribuição de pacote de acesso do usuário e selecione Adicionar.

  6. Selecione a tarefa recém-adicionada.

  7. Selecione Selecionar Pacote de acesso e escolha o pacote de acesso ao qual os usuários novos ou em transição devem ser atribuídos.

  8. Selecione Selecionar Política e escolha a política de atribuição de pacote de acesso nesse pacote de acesso.

  9. Selecione Salvar.

Remover uma atribuição

Você pode remover uma atribuição que um usuário ou um administrador tinha solicitado anteriormente.

Função de pré-requisito: Administrador Global, Administrador de Usuário, Administrador de Governança de Identidade, Proprietário do Catálogo, Gerenciador de Pacotes de Acesso ou Gerenciador de Atribuição de Pacotes de Acesso

  1. Entre no centro de administração do Microsoft Entra como, no mínimo Administrador de Governança de identidade.

  2. Navegue até Governança de identidade>Gerenciamento de direitos>Pacote de acesso.

  3. Na página Pacotes de acesso, abra um pacote de acesso.

  4. No menu à esquerda, selecione Atribuições.

  5. Marque a caixa de seleção ao lado do usuário cuja atribuição você quer remover do pacote de acesso.

  6. Selecione o botão Remover perto da parte superior do painel esquerdo.

    Assignments - Remove user from access package

    Uma notificação será exibida para informar que a atribuição foi removida.

Remover uma atribuição programaticamente

Remover uma atribuição com o Microsoft Graph

Você também pode remover uma atribuição de um usuário para um pacote de acesso com o Microsoft Graph. Um usuário em uma função adequada com um aplicativo com a permissão EntitlementManagement.ReadWrite.All delegada ou um aplicativo com a permissão de aplicativo EntitlementManagement.ReadWrite.All, pode chamar a API para criar um accessPackageAssignmentRequest. Nessa solicitação, o valor da propriedade requestType deve ser adminRemove e a propriedade assignment é uma estrutura que contém a propriedade id que identifica o accessPackageAssignment que está sendo removido.

Remover uma atribuição com o PowerShell

Você pode remover uma atribuição do usuário no PowerShell com o cmdlet New-MgEntitlementManagementAssignmentRequest do módulo Cmdlets do PowerShell do Microsoft Graph para Governança de Identidade versão 2.1 ou posterior. Esse script ilustra o uso do módulo de cmdlets do Microsoft Graph PowerShell versão 2.4.0.

Connect-MgGraph -Scopes "EntitlementManagement.ReadWrite.All"
$accessPackageId = "9f573551-f8e2-48f4-bf48-06efbb37c7b8"
$userId = "040a792f-4c5f-4395-902f-f0d9d192ab2c"
$filter = "accessPackage/Id eq '" + $accessPackageId + "' and state eq 'Delivered' and target/objectId eq '" + $userId + "'"
$assignment = Get-MgEntitlementManagementAssignment -Filter $filter -ExpandProperty target -all -ErrorAction stop
if ($assignment -ne $null) {
   $params = @{
      requestType = "adminRemove"
      assignment = @{ id = $assignment.id }
   }
   New-MgEntitlementManagementAssignmentRequest -BodyParameter $params
}

Configurar a remoção de atribuições como parte de um fluxo de trabalho do ciclo de vida

No recurso fluxos de trabalho do ciclo de vida do Microsoft Entra, você pode adicionar uma tarefa Remover atribuição de pacote de acesso para o usuário a um fluxo de trabalho de remoção. Essa tarefa pode especificar um pacote de acesso ao qual o usuário pode ser atribuído. Quando o fluxo de trabalho for executado para um usuário, a atribuição do pacote de acesso será removida automaticamente.

  1. Entre no centro de administração do Microsoft Entra como um administrador global.

  2. Navegue até Governança de identidade>Fluxos de trabalho do ciclo de vida>Fluxos de trabalho.

  3. Selecione um fluxo de trabalho de remoção de funcionários.

  4. Selecione Tarefas e selecione Adicionar tarefa.

  5. Selecione Remover atribuição de pacote de acesso para o usuário e selecione Adicionar.

  6. Selecione a tarefa recém-adicionada.

  7. Selecione Selecionar Pacotes de acesso e escolha um ou mais pacotes de acesso dos quais os usuários devem ser removidos.

  8. Selecione Salvar.

Próximas etapas