В Microsoft Entra управление правами извлеките коллекцию объектов accessPackageAssignment, которые указывают, что целевой пользователь имеет назначение указанному пакету доступа, а также назначение другому, потенциально несовместимого пакета доступа. Его можно использовать для подготовки к настройке несовместимых пакетов доступа для определенного пакета доступа.
Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
Тип разрешения
Разрешения с наименьшими привилегиями
Более высокие привилегированные разрешения
Делегированные (рабочая или учебная учетная запись)
EntitlementManagement.Read.All
EntitlementManagement.ReadWrite.All
Делегированные (личная учетная запись Майкрософт)
Не поддерживается.
Не поддерживается.
Приложение
EntitlementManagement.Read.All
EntitlementManagement.ReadWrite.All
Совет
В делегированных сценариях с рабочими или учебными учетными записями вошедшему пользователю также должна быть назначена роль администратора с поддерживаемыми разрешениями роли с помощью одного из следующих параметров:
Средство чтения каталога.
Это наименее привилегированный вариант
Создатель каталога
Диспетчер пакетов доступа
Дополнительные привилегированные Microsoft Entra роли, поддерживаемые для этой операции:
Читатель сведений о безопасности
Глобальный читатель
Администратор соответствия требованиям
Администратор безопасности
Администратор управления удостоверениями
В сценариях только для приложений вызывающему приложению можно назначить одну из предыдущих поддерживаемых ролей вместо EntitlementManagement.Read.All разрешения приложения. Роль читателя каталога имеет меньшие привилегии, чем EntitlementManagement.Read.All разрешение приложения.
GET /identityGovernance/entitlementManagement/assignments/additionalAccess(accessPackageId='parameterValue',incompatibleAccessPackageId='parameterValue')
Параметры функции
В следующей таблице показаны параметры, которые должны быть предоставлены с этой функцией. Два идентификатора пакетов для доступа должны быть разными.
Параметр
Тип
Описание
accessPackageId
String
Указывает идентификатор пакета доступа, для которого вызывающий объект хотел бы получить назначения. Обязательно.
incompatibleAccessPackageId
String
Конкретный несовместимый пакет доступа, для которого вызывающий объект хотел бы получить только те назначения, для которых у пользователя также есть назначение этому несовместимому пакету доступа. Обязательно.
Необязательные параметры запросов
Этот метод поддерживает $selectпараметры запроса , $filterи $expand OData для настройки ответа. Общие сведения см. в статье Параметры запроса OData.
В случае успешного 200 OK выполнения этот метод возвращает код отклика и коллекцию объектов accessPackageAssignment в тексте отклика.
Когда результирующий набор охватывает несколько страниц, Microsoft Graph возвращает ее со свойством @odata.nextLink в ответе, который содержит URL-адрес следующей страницы результатов. Если это свойство присутствует, продолжайте выполнять дополнительные запросы с URL-адресом @odata.nextLink в каждом ответе, пока не будут возвращены все результаты. Дополнительные сведения см. в разделе Разбиение данных Microsoft Graph в приложении по страницам.
Примеры
В следующем примере показано, как получить назначения пакетов доступа для пользователей, которым назначены оба пакета доступа.
GET https://graph.microsoft.com/v1.0/identityGovernance/entitlementManagement/assignments/additionalAccess(accessPackageId='2506aef1-3929-4d24-a61e-7c8b83d95e6f',incompatibleAccessPackageId='d5d99728-8c0b-4ede-83d2-cf9b0e8dabfb')?$expand=target
// Code snippets are only available for the latest version. Current version is 5.x
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.IdentityGovernance.EntitlementManagement.Assignments.AdditionalAccessWithAccessPackageIdWithIncompatibleAccessPackageId("{accessPackageId}","{incompatibleAccessPackageId}").GetAsAdditionalAccessWithAccessPackageIdWithIncompatibleAccessPackageIdGetResponseAsync((requestConfiguration) =>
{
requestConfiguration.QueryParameters.Expand = new string []{ "target" };
});
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphidentitygovernance "github.com/microsoftgraph/msgraph-sdk-go/identitygovernance"
//other-imports
)
requestParameters := &graphidentitygovernance.EntitlementManagementAssignmentsAdditionalAccessWithAccessPackageIdWithIncompatibleAccessPackageIdRequestBuilderGetQueryParameters{
Expand: [] string {"target"},
}
configuration := &graphidentitygovernance.EntitlementManagementAssignmentsAdditionalAccessWithAccessPackageIdWithIncompatibleAccessPackageIdRequestBuilderGetRequestConfiguration{
QueryParameters: requestParameters,
}
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
accessPackageId := "{accessPackageId}"
incompatibleAccessPackageId := "{incompatibleAccessPackageId}"
additionalAccess, err := graphClient.IdentityGovernance().EntitlementManagement().Assignments().AdditionalAccessWithAccessPackageIdWithIncompatibleAccessPackageId(&accessPackageId, &incompatibleAccessPackageId).GetAsAdditionalAccessWithAccessPackageIdWithIncompatibleAccessPackageIdGetResponse(context.Background(), configuration)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
var result = graphClient.identityGovernance().entitlementManagement().assignments().additionalAccessWithAccessPackageIdWithIncompatibleAccessPackageId("{accessPackageId}", "{incompatibleAccessPackageId}").get(requestConfiguration -> {
requestConfiguration.queryParameters.expand = new String []{"target"};
});
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.identity_governance.entitlement_management.assignments.additional_access(access_package_id='{access_package_id}',incompatible_access_package_id='{incompatible_access_package_id}').additional_access_with_access_package_id_with_incompatible_access_package_id_request_builder import AdditionalAccessWithAccessPackageIdWithIncompatibleAccessPackageIdRequestBuilder
from kiota_abstractions.base_request_configuration import RequestConfiguration
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
query_params = AdditionalAccessWithAccessPackageIdWithIncompatibleAccessPackageIdRequestBuilder.AdditionalAccessWithAccessPackageIdWithIncompatibleAccessPackageIdRequestBuilderGetQueryParameters(
expand = ["target"],
)
request_configuration = RequestConfiguration(
query_parameters = query_params,
)
result = await graph_client.identity_governance.entitlement_management.assignments.additional_access_with_access_package_id_with_incompatible_access_package_id("{accessPackageId}","{incompatibleAccessPackageId}").get(request_configuration = request_configuration)