Просмотр, добавление и удаление назначений для пакета доступа в управлении правами
В управлении правами вы можете увидеть, кто назначен для доступа к пакетам, их политике, состоянию и жизненному циклу пользователя (предварительная версия). Если у пакета для доступа имеется соответствующая политика, можно также напрямую назначить пользователя пакету для доступа. В этой статье описывается, как просмотреть, добавить и удалить назначения для пакетов для доступа.
Необходимые компоненты
Чтобы использовать управление правами и назначать пользователей для доступа к пакетам, необходимо иметь одну из следующих лицензий:
- Microsoft Entra ID, лицензия P2
- лицензия Enterprise Mobility + Security (EMS) E5.
- подписка Управление идентификацией Microsoft Entra
Просмотр назначенных
Совет
Действия, описанные в этой статье, могут немного отличаться на портале, с который вы начинаете работу.
Войдите в Центр администрирования Microsoft Entra как минимум администратор управления удостоверениями.
Совет
Другие роли с минимальными привилегиями, которые могут выполнить эту задачу, включают владельца каталога, диспетчер пакетов доступа и диспетчер назначения пакетов доступа.
Перейдите к пакету управления правами управления>удостоверениями>.
На странице пакетов Access откройте пакет доступа.
Выберите Назначения, чтобы просмотреть список активных назначений.
Выберите определенное назначение, чтобы просмотреть дополнительные сведения.
Чтобы просмотреть список назначений, для которых не были правильно подготовлены все роли ресурсов, выберите состояние фильтра и щелкните Доставка.
Дополнительные сведения об ошибках доставки см. на странице "Запросы ".
Чтобы просмотреть просроченные назначения, щелкните состояние фильтра и выберите Срок действия истек.
Чтобы скачать 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 '00001111-aaaa-2222-bbbb-3333cccc4444'
Просмотр назначений с помощью 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"
Прямое назначение пользователя
В некоторых случаях может потребоваться напрямую назначить определенных пользователей пакету для доступа, чтобы пользователям не нужно было запрашивать его. Для этого пакет для доступа должен иметь политику, которая разрешает прямые назначения администратора.
Примечание.
При назначении пользователей для пакета доступа администраторам необходимо будет убедиться, что пользователи имеют право на этот пакет доступа в соответствии с существующими требованиями политики. В противном случае пользователи не будут успешно назначены для пакета доступа.
Войдите в Центр администрирования Microsoft Entra как минимум администратор управления удостоверениями.
Совет
Другие роли с минимальными привилегиями, которые могут выполнить эту задачу, включают владельца каталога, диспетчер пакетов доступа и диспетчер назначения пакетов доступа.
Перейдите к пакету управления правами управления>удостоверениями>.
На странице пакетов Access откройте пакет доступа.
В меню слева нажмите Назначения.
Щелкните Создать назначение, чтобы открыть страницу "Добавить пользователя в пакет для доступа".
В списке Выберите политику выберите политику, которая будет применяться для управления будущими запросами пользователей и жизненным циклом. Если выбранным пользователям требуется назначить разные параметры политики, можно выбрать Создать новую политику, чтобы добавить новую политику.
Выбрав политику, вы сможете добавить пользователей, чтобы выбрать пользователей, которым нужно назначить этот пакет доступа, в соответствии с выбранной политикой.
Примечание.
При выборе политики с вопросами можно назначить только одного пользователя за раз.
Задайте дату и время начала и окончания назначения выбранных пользователей. Если дата окончания не указана, используются параметры жизненного цикла политики.
При необходимости укажите обоснование для прямого назначения для сохранения записей.
Если выбранная политика содержит дополнительные сведения о запросившей стороне, выберите Просмотр вопросов, чтобы ответить на них от имени пользователей, а затем щелкните Сохранить.
Выберите Добавить, чтобы напрямую назначить выбранных пользователей пакету для доступа.
Через несколько секунд выберите Обновить, чтобы увидеть пользователей в списке назначений.
Примечание.
Диспетчеры назначений пакетов доступа больше не смогут обойти параметры утверждения, если политика требует утверждения. Это означает, что пользователи не могут быть непосредственно назначены пакету без необходимых утверждений из назначенных утверждающих. В случае, если необходимо обойти утверждение, рекомендуется создать вторую политику в пакете доступа, которая не требует утверждения и ограничена только пользователями, которым требуется доступ.
Прямое назначение любого пользователя (предварительная версия)
Управление правами также позволяет напрямую назначать внешних пользователей пакету доступа, чтобы упростить совместную работу с партнерами. Для этого пакет для доступа должен иметь политику, которая разрешает запрашивать доступ пользователям, пока что отсутствующих в вашем каталоге.
Войдите в Центр администрирования Microsoft Entra как минимум администратор управления удостоверениями.
Совет
Другие роли с минимальными привилегиями, которые могут выполнить эту задачу, включают владельца каталога, диспетчер пакетов доступа и диспетчер назначения пакетов доступа.
Перейдите к пакету управления правами управления>удостоверениями>.
На странице пакетов Access откройте пакет доступа.
В меню слева нажмите Назначения.
Щелкните Создать назначение, чтобы открыть страницу Add user to access package (Добавление пользователя в пакет для доступа).
В списке Выбрать политику выберите политику, для которой можно задать значение For users not in your directory (Для пользователей вне вашего каталога).
Выберите Любой пользователь. Вы можете указать, какие пользователи нужно назначить этому пакету доступа.
Введите имя пользователя (необязательно) и укажите адрес электронной почты пользователя (обязательно).
Примечание.
- Добавляемый пользователь должен находиться в области действия политики. Например, если для политики задан параметр Конкретные подключенные организации, адрес электронной почты пользователя должен находиться в доменах выбранных организаций. Если у добавляемого пользователя адрес электронной почты выглядит так: jen@foo.com, а домен выбранной организации — bar.com, вы не сможете добавить этого пользователя в пакет для доступа.
- Аналогично, если для политики задан параметр All configured connected organizations (Все настроенные подключенные организации), адрес электронной почты пользователя должен быть в одной из настроенных подключенных организаций. В противном случае пользователи не будут добавлены в пакет для доступа.
- Если вы хотите добавить какого-либо пользователя в пакет для доступа, необходимо выбрать параметр Все пользователи (все подключенные организации и все новые внешние пользователи) при настройке политики.
Задайте дату и время начала и окончания назначения выбранных пользователей. Если дата окончания не указана, используются параметры жизненного цикла политики.
Выберите Добавить, чтобы напрямую назначить выбранных пользователей пакету для доступа.
Через несколько секунд выберите Обновить, чтобы увидеть пользователей в списке назначений.
Прямое назначение пользователей программным способом
Назначение пользователю пакета для доступа с помощью 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 = "00aa00aa-bb11-cc22-dd33-44ee44ee44ee"
$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 или более поздней версии бета-модуля. Этот скрипт иллюстрирует использование профиля Microsoft Graph и модуля командлетов Microsoft Graph beta
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"
Настройка назначения доступа в рамках рабочего процесса жизненного цикла
В компоненте рабочих процессов жизненного цикла Записи Майкрософт можно добавить задачу назначения пакета доступа пользователей к рабочему процессу подключения. Задача может указать пакет доступа, который должен иметь пользователи. При запуске рабочего процесса для пользователя автоматически создается запрос на назначение пакета доступа.
Войдите в Центр администрирования Microsoft Entra, используя по крайней мере роли администратора управления удостоверениями и рабочих процессов жизненного цикла.
Перейдите к рабочим процессам жизненного цикла управления>удостоверениями.>
Выберите рабочий процесс подключения или перемещения сотрудника.
Выберите "Задачи " и выберите " Добавить задачу".
Выберите "Запросить назначение пакета доступа пользователей" и нажмите кнопку "Добавить".
Выберите только что добавленную задачу.
Выберите пакет "Выбрать доступ" и выберите пакет доступа, которому должны быть назначены новые или перемещаемые пользователи.
Выберите " Выбрать политику" и выберите политику назначения пакетов доступа в этом пакете доступа.
Выберите Сохранить.
Удаление назначения
Вы можете удалить назначение, ранее запрошенное пользователем или администратором.
Войдите в Центр администрирования Microsoft Entra как минимум администратор управления удостоверениями.
Перейдите к пакету управления правами управления>удостоверениями>.
На странице пакетов Access откройте пакет доступа.
В меню слева нажмите Назначения.
Установите флажок рядом с пользователем, назначение которого нужно удалить из пакета для доступа.
Выберите Удалить в верхней части панели слева.
Появится уведомление, информирующее о том, что назначение было удалено.
Удаление назначения программным способом
Удаление назначения с помощью 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 = "11bb11bb-cc22-dd33-ee44-55ff55ff55ff"
$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 можно добавить назначение пакета доступа для задачи пользователя в рабочий процесс отключения. Эта задача может указать пакет доступа, которому может быть назначен пользователь. Когда рабочий процесс запускается для пользователя, назначение пакета доступа удаляется автоматически.
Войдите в Центр администрирования Microsoft Entra, используя по крайней мере роли администратора управления удостоверениями и рабочих процессов жизненного цикла.
Перейдите к рабочим процессам жизненного цикла управления>удостоверениями.>
Выберите рабочий процесс отключения сотрудника.
Выберите "Задачи " и выберите " Добавить задачу".
Выберите " Удалить назначение пакета доступа" для пользователя и нажмите кнопку "Добавить".
Выберите только что добавленную задачу.
Выберите " Выбрать пакеты access" и выберите один или несколько пакетов доступа, из которых должны быть удалены пользователи.
Выберите Сохранить.