Просмотр, добавление и удаление назначений для пакета доступа в управлении правами

В управлении правами вы увидите, кто был назначен для доступа к пакетам, их политике, состоянию и жизненному циклу пользователя (предварительная версия). Если у пакета для доступа имеется соответствующая политика, можно также напрямую назначить пользователя пакету для доступа. В этой статье описывается, как просмотреть, добавить и удалить назначения для пакетов для доступа.

Необходимые компоненты

Чтобы использовать управление правами и назначать пользователей для доступа к пакетам, необходимо иметь одну из следующих лицензий:

  • Microsoft Entra ID, лицензия P2
  • лицензия Enterprise Mobility + Security (EMS) E5.
  • подписка Управление идентификацией Microsoft Entra

Просмотр назначенных

Совет

Действия, описанные в этой статье, могут немного отличаться на портале, с который вы начинаете работу.

Необходимая роль: глобальный Администратор istrator, управление удостоверениями Администратор istrator, владелец каталога, диспетчер пакетов Access или диспетчер назначения пакетов Access

  1. Войдите в Центр администрирования Microsoft Entra как минимум Администратор istrator для управления удостоверениями.

  2. Перейдите к пакету управления правами управления>удостоверениями>.

  3. На странице пакетов Access откройте пакет доступа.

  4. Выберите Назначения, чтобы просмотреть список активных назначений.

    List of assignments to an access package

  5. Выберите определенное назначение, чтобы просмотреть дополнительные сведения.

  6. Чтобы просмотреть список назначений, для которых не были правильно подготовлены все роли ресурсов, выберите состояние фильтра и щелкните Доставка.

    Чтобы просмотреть дополнительные сведения об ошибках доставки, найдите соответствующий запрос пользователя на странице Запросы.

  7. Чтобы просмотреть просроченные назначения, щелкните состояние фильтра и выберите Срок действия истек.

  8. Чтобы скачать CSV-файл отфильтрованного списка, нажмите кнопку "Скачать".

Просмотр назначений программным способом

Просмотр назначений с помощью Microsoft Graph

Для получения назначений в пакете для доступа можно также использовать Microsoft Graph. Пользователь с соответствующей ролью в приложении, содержащем делегированное разрешение EntitlementManagement.Read.All или EntitlementManagement.ReadWrite.All, может вызвать API, чтобы вывести список объектов accessPackageAssignment. Приложение с разрешением EntitlementManagement.Read.All или EntitlementManagement.ReadWrite.All может также использовать этот API для извлечения назначений из всех каталогов.

Microsoft Graph вернет результаты на страницах и продолжит возвращать ссылку на следующую страницу результатов в @odata.nextLink свойстве с каждым ответом, пока не будут прочитаны все страницы результатов. Чтобы прочитать все результаты, необходимо продолжать вызывать Microsoft Graph со свойством @odata.nextLink , возвращенным в каждом ответе, пока @odata.nextLink свойство больше не будет возвращено, как описано в описании разбиения данных Microsoft Graph в приложении.

Администратор управления удостоверениями может извлекать пакеты для доступа из нескольких каталогов, но если пользователю или субъект-службе приложения назначены только делегированные административные роли для конкретного каталога, в запросе должен быть указан фильтр, обозначающий конкретный пакет для доступа, например $filter=accessPackage/id eq 'a914b616-e04e-476b-aa37-91038f0b165b'.

Просмотр назначений с помощью PowerShell

Вы также можете получить назначения в пакет доступа в PowerShell с Get-MgEntitlementManagementAssignment помощью командлета Microsoft Graph PowerShell для модуля управления удостоверениями версии 2.1.x или более поздней версии модуля. Этот скрипт иллюстрирует использование модуля командлетов Microsoft Graph PowerShell версии 2.4.0 для получения всех назначений в определенный пакет доступа. Этот командлет в качестве параметра принимает идентификатор пакета для доступа, который включен в ответ командлета Get-MgEntitlementManagementAccessPackage. Убедитесь, что при использовании командлета Get-MgEntitlementManagementAccessPackage для включения -All флага необходимо вернуть все страницы назначений.

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}

Предыдущий запрос возвращает истекший срок действия и доставку назначений, а также доставленных назначений. Если вы хотите исключить истекший срок действия или доставку назначений, можно использовать фильтр, включающий идентификатор пакета доступа, а также состояние назначений. Этот скрипт иллюстрирует использование фильтра для получения только назначений в состоянии Delivered для определенного пакета доступа. Затем скрипт создаст CSV-файл assignments.csvс одной строкой на назначение.

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"

Прямое назначение пользователя

В некоторых случаях может потребоваться напрямую назначить определенных пользователей пакету для доступа, чтобы пользователям не нужно было запрашивать его. Для этого пакет для доступа должен иметь политику, которая разрешает прямые назначения администратора.

Необходимая роль: глобальный Администратор istrator, управление удостоверениями Администратор istrator, владелец каталога, диспетчер пакетов Access или диспетчер назначения пакетов Access

  1. Войдите в Центр администрирования Microsoft Entra как минимум Администратор istrator для управления удостоверениями.

  2. Перейдите к пакету управления правами управления>удостоверениями>.

  3. На странице пакетов Access откройте пакет доступа.

  4. В меню слева нажмите Назначения.

  5. Щелкните Создать назначение, чтобы открыть страницу "Добавить пользователя в пакет для доступа".

    Assignments - Add user to access package

  6. В списке Выберите политику выберите политику, которая будет применяться для управления будущими запросами пользователей и жизненным циклом. Если выбранным пользователям требуется назначить разные параметры политики, можно выбрать Создать новую политику, чтобы добавить новую политику.

  7. После выбора политики вы сможете добавить пользователей, чтобы выбрать тех, которым вы хотите назначить этот пакет для доступа, в соответствии с выбранной политикой.

    Примечание.

    При выборе политики с вопросами можно назначить только одного пользователя за раз.

  8. Задайте дату и время начала и окончания назначения выбранных пользователей. Если дата окончания не указана, будут использоваться параметры жизненного цикла политики.

  9. При необходимости укажите обоснование для прямого назначения для сохранения записей.

  10. Если выбранная политика содержит дополнительные сведения о запросившей стороне, выберите Просмотр вопросов, чтобы ответить на них от имени пользователей, а затем щелкните Сохранить.

    Assignments - click view questions

    Assignments - questions pane

  11. Выберите Добавить, чтобы напрямую назначить выбранных пользователей пакету для доступа.

    Через несколько секунд выберите Обновить, чтобы увидеть пользователей в списке назначений.

Примечание.

При назначении пользователей для пакета доступа администраторам необходимо будет убедиться, что пользователи имеют право на этот пакет доступа в соответствии с существующими требованиями политики. В противном случае пользователи не будут успешно назначены для пакета доступа. Если пакет для доступа содержит политику, требующую утверждения запросов пользователей, пользователи не могут быть непосредственно назначены для пакета без необходимости утверждения от назначенных утверждающих лиц.

Прямое назначение любого пользователя (предварительная версия)

Управление правами также позволяет напрямую назначать внешних пользователей пакету доступа, чтобы упростить совместную работу с партнерами. Для этого пакет для доступа должен иметь политику, которая разрешает запрашивать доступ пользователям, пока что отсутствующих в вашем каталоге.

Необходимая роль: глобальный Администратор istrator, управление удостоверениями Администратор istrator, владелец каталога, диспетчер пакетов Access или диспетчер назначения пакетов Access

  1. Войдите в Центр администрирования Microsoft Entra как минимум Администратор istrator для управления удостоверениями.

  2. Перейдите к пакету управления правами управления>удостоверениями>.

  3. На странице пакетов Access откройте пакет доступа.

  4. В меню слева нажмите Назначения.

  5. Щелкните Создать назначение, чтобы открыть страницу Add user to access package (Добавление пользователя в пакет для доступа).

  6. В списке Выбрать политику выберите политику, для которой можно задать значение For users not in your directory (Для пользователей вне вашего каталога).

  7. Выберите Любой пользователь. Вы можете указать, какие пользователи нужно назначить этому пакету доступа. Assignments - Add any user to access package

  8. Введите имя пользователя (необязательно) и укажите адрес электронной почты пользователя (обязательно).

    Примечание.

    • Добавляемый пользователь должен находиться в области действия политики. Например, если для политики задан параметр Конкретные подключенные организации, адрес электронной почты пользователя должен находиться в доменах выбранных организаций. Если у добавляемого пользователя адрес электронной почты выглядит так: jen@foo.com, а домен выбранной организации — bar.com, вы не сможете добавить этого пользователя в пакет для доступа.
    • Аналогично, если для политики задан параметр All configured connected organizations (Все настроенные подключенные организации), адрес электронной почты пользователя должен быть в одной из настроенных подключенных организаций. В противном случае пользователи не будут добавлены в пакет для доступа.
    • Если вы хотите добавить какого-либо пользователя в пакет для доступа, необходимо выбрать параметр Все пользователи (все подключенные организации и все новые внешние пользователи) при настройке политики.
  9. Задайте дату и время начала и окончания назначения выбранных пользователей. Если дата окончания не указана, используются параметры жизненного цикла политики.

  10. Выберите Добавить, чтобы напрямую назначить выбранных пользователей пакету для доступа.

  11. Через несколько секунд выберите Обновить, чтобы увидеть пользователей в списке назначений.

Прямое назначение пользователей программным способом

Назначение пользователю пакета для доступа с помощью Microsoft Graph

Напрямую назначить пользователя пакету для доступа можно также с помощью Microsoft Graph. Пользователь в соответствующей роли с приложением с делегированным EntitlementManagement.ReadWrite.All разрешением или приложением с EntitlementManagement.ReadWrite.All разрешением приложения может вызвать API для создания accessPackageAssignmentRequest. В этом запросе значением свойства requestTypeдолжно быть adminAdd, а свойство assignment является структурой, содержащей targetId назначенного пользователя.

Назначение пользователю пакета для доступа с помощью PowerShell

Вы можете назначить пользователя пакету доступа в PowerShell с New-MgEntitlementManagementAssignmentRequest помощью командлета из командлетов Microsoft Graph PowerShell для модуля управления удостоверениями версии 2.1.x или более поздней версии модуля. Этот скрипт иллюстрирует использование модуля командлетов Microsoft Graph PowerShell версии 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

Вы также можете назначить нескольких пользователей в каталоге пакету доступа с помощью PowerShell с New-MgBetaEntitlementManagementAccessPackageAssignment командлетом из командлетов Microsoft Graph PowerShell для модуля управления удостоверениями версии 2.4.0 или более поздней. В качестве параметров этот командлет принимает

  • идентификатор пакета для доступа, который включен в ответ командлета Get-MgEntitlementManagementAccessPackage,
  • идентификатор политики назначения пакета доступа, который входит в политику в поле в assignmentpolicies ответе от командлета Get-MgEntitlementManagementAccessPackage ,
  • идентификаторы объектов целевых пользователей либо в виде массива строк, либо в виде списка элементов пользователей, возвращенных командлетом Get-MgGroupMember.

Например, если вы хотите убедиться, что всем пользователям, входящим в группу, также назначен пакет для доступа, можно использовать этот командлет для создания запросов для тех пользователей, которым сейчас ничего не назначено. Обратите внимание, что этот командлет только создает назначения. Он не удаляет назначения для пользователей, которые больше не являются членами группы.

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

Если вы хотите добавить назначение для пользователя, который еще не в каталоге, можно использовать New-MgBetaEntitlementManagementAccessPackageAssignmentRequest командлет из командлетов Microsoft Graph PowerShell для бета-модуля управления удостоверениями версии 2.1.x или более поздней версии бета-модуля. Этот скрипт иллюстрирует использование профиля Graph beta и модуля командлетов Microsoft Graph PowerShell версии 2.4.0. В качестве параметров этот командлет принимает

  • идентификатор пакета для доступа, который включен в ответ командлета Get-MgEntitlementManagementAccessPackage,
  • идентификатор политики назначения пакета доступа, который включен в политику в поле в assignmentpolicies ответе от командлета Get-MgEntitlementManagementAccessPackage ,
  • адрес электронной почты целевого пользователя.
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"

Настройка назначения доступа в рамках рабочего процесса жизненного цикла

В компоненте рабочих процессов жизненного цикла Записи Майкрософт можно добавить задачу назначения пакета доступа пользователей к рабочему процессу подключения. Задача может указать пакет доступа, который должен иметь пользователи. Когда рабочий процесс запускается для пользователя, запрос на назначение пакета доступа будет создан автоматически.

  1. Войдите в Центр администрирования Microsoft Entra в качестве глобального администратора.

  2. Перейдите к рабочим процессам жизненного цикла управления>удостоверениями.>

  3. Выберите рабочий процесс подключения или перемещения сотрудника.

  4. Выберите "Задачи " и выберите " Добавить задачу".

  5. Выберите "Запросить назначение пакета доступа пользователей" и нажмите кнопку "Добавить".

  6. Выберите только что добавленную задачу.

  7. Выберите пакет "Выбрать доступ" и выберите пакет доступа, которому должны быть назначены новые или перемещаемые пользователи.

  8. Выберите " Выбрать политику" и выберите политику назначения пакетов доступа в этом пакете доступа.

  9. Выберите Сохранить.

Удаление назначения

Вы можете удалить назначение, ранее запрошенное пользователем или администратором.

Необходимая роль: глобальный Администратор istrator, управление удостоверениями Администратор istrator, владелец каталога, диспетчер пакетов Access или диспетчер назначения пакетов Access

  1. Войдите в Центр администрирования Microsoft Entra как минимум Администратор istrator для управления удостоверениями.

  2. Перейдите к пакету управления правами управления>удостоверениями>.

  3. На странице пакетов Access откройте пакет доступа.

  4. В меню слева нажмите Назначения.

  5. Установите флажок рядом с пользователем, назначение которого нужно удалить из пакета для доступа.

  6. Выберите Удалить в верхней части панели слева.

    Assignments - Remove user from access package

    Появится уведомление, информирующее о том, что назначение было удалено.

Удаление назначения программным способом

Удаление назначения с помощью Microsoft Graph

Удалить назначение пользователю пакета для доступа можно также с помощью Microsoft Graph. Пользователь в соответствующей роли с приложением с делегированным EntitlementManagement.ReadWrite.All разрешением или приложением с EntitlementManagement.ReadWrite.All разрешением приложения может вызвать API для создания accessPackageAssignmentRequest. В этом запросе значением свойства requestTypeдолжно быть adminRemove, а свойство assignment является структурой, содержащей свойство id, определяющее удаляемое назначение accessPackageAssignment.

Удаление назначения с помощью PowerShell

Вы можете удалить назначение пользователя в PowerShell с New-MgEntitlementManagementAssignmentRequest помощью командлета из командлетов Microsoft Graph PowerShell для модуля управления удостоверениями версии 2.1.x или более поздней версии модуля. Этот скрипт иллюстрирует использование модуля командлетов Microsoft Graph PowerShell версии 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
}

Настройка удаления назначений в рамках рабочего процесса жизненного цикла

В компоненте рабочих процессов жизненного цикла Microsoft Entra можно добавить назначение пакета доступа для задачи пользователя в рабочий процесс отключения. Эта задача может указать пакет доступа, которому может быть назначен пользователь. Когда рабочий процесс запускается для пользователя, назначение пакета доступа будет удалено автоматически.

  1. Войдите в Центр администрирования Microsoft Entra в качестве глобального администратора.

  2. Перейдите к рабочим процессам жизненного цикла управления>удостоверениями.>

  3. Выберите рабочий процесс отключения сотрудника.

  4. Выберите "Задачи " и выберите " Добавить задачу".

  5. Выберите " Удалить назначение пакета доступа" для пользователя и нажмите кнопку "Добавить".

  6. Выберите только что добавленную задачу.

  7. Выберите " Выбрать пакеты access" и выберите один или несколько пакетов доступа, из которых должны быть удалены пользователи.

  8. Выберите Сохранить.

Следующие шаги