Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
Тип разрешения
Разрешения с наименьшими привилегиями
Более высокие привилегированные разрешения
Делегированные (рабочая или учебная учетная запись)
DelegatedAdminRelationship.ReadWrite.All
Недоступно.
Делегированные (личная учетная запись Майкрософт)
Не поддерживается.
Не поддерживается.
Приложение
DelegatedAdminRelationship.ReadWrite.All
Недоступно.
Важно!
Чтобы вызвать этот API с помощью разрешений приложения, необходимо подготовить субъект-службу, определенный с помощью appId2832473f-ec63-45fb-976f-5d45a7d4bb91 и с именем Partner Customer Delegated Administration , в клиенте партнера. Чтобы подготовить субъект-службу в клиенте партнера, вызовите API Create servicePrincipal .
HTTP-запрос
POST /tenantRelationships/delegatedAdminRelationships
Идентификаторы административных ролей, к которым партнер запрашивает или имеет доступ в клиенте клиента. Обязательно.
autoExtendDuration
Duration (Длительность)
Длительность, на которую срок действия связи автоматически продлевается, обозначается в формате ISO 8601. Поддерживаемые значения: P0D, PT0S, P180D. Значение по умолчанию — PT0S.
PT0S указывает, что срок действия связи истекает при достижении значения endDateTime и не продлевается автоматически. Необязательный параметр.
Отображаемое имя и уникальный идентификатор клиента связи. Необязательный параметр.
displayName
String
Отображаемое имя связи, используемой для упрощения идентификации. Должен быть уникальным для всех делегированных отношений администратора партнера. Обязательно. Максимальная длина — 50 символов.
duration
Duration (Длительность)
Длительность связи в формате ISO 8601. Должно быть значением между P1D и инклюзивным P2Y . Обязательно.
Ответ содержит заголовок Location , содержащий URL-адрес созданного отношения делегированного администратора. Каждый объект delegatedAdminRelationship содержит свойство @odata.etag согласно RFC2616.
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new DelegatedAdminRelationship
{
DisplayName = "Contoso admin relationship",
Duration = TimeSpan.Parse("P730D"),
Customer = new DelegatedAdminRelationshipCustomerParticipant
{
TenantId = "4b827261-d21f-4aa9-b7db-7fa1f56fb163",
DisplayName = "Contoso subsidiary Inc",
},
AccessDetails = new DelegatedAdminAccessDetails
{
UnifiedRoles = new List<UnifiedRole>
{
new UnifiedRole
{
RoleDefinitionId = "29232cdf-9323-42fd-ade2-1d097af3e4de",
},
new UnifiedRole
{
RoleDefinitionId = "3a2c62db-5318-420d-8d74-23affee5d9d5",
},
},
},
AutoExtendDuration = TimeSpan.Parse("P180D"),
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.TenantRelationships.DelegatedAdminRelationships.PostAsync(requestBody);
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
DelegatedAdminRelationship delegatedAdminRelationship = new DelegatedAdminRelationship();
delegatedAdminRelationship.setDisplayName("Contoso admin relationship");
PeriodAndDuration duration = PeriodAndDuration.ofDuration(Duration.parse("P730D"));
delegatedAdminRelationship.setDuration(duration);
DelegatedAdminRelationshipCustomerParticipant customer = new DelegatedAdminRelationshipCustomerParticipant();
customer.setTenantId("4b827261-d21f-4aa9-b7db-7fa1f56fb163");
customer.setDisplayName("Contoso subsidiary Inc");
delegatedAdminRelationship.setCustomer(customer);
DelegatedAdminAccessDetails accessDetails = new DelegatedAdminAccessDetails();
LinkedList<UnifiedRole> unifiedRoles = new LinkedList<UnifiedRole>();
UnifiedRole unifiedRole = new UnifiedRole();
unifiedRole.setRoleDefinitionId("29232cdf-9323-42fd-ade2-1d097af3e4de");
unifiedRoles.add(unifiedRole);
UnifiedRole unifiedRole1 = new UnifiedRole();
unifiedRole1.setRoleDefinitionId("3a2c62db-5318-420d-8d74-23affee5d9d5");
unifiedRoles.add(unifiedRole1);
accessDetails.setUnifiedRoles(unifiedRoles);
delegatedAdminRelationship.setAccessDetails(accessDetails);
PeriodAndDuration autoExtendDuration = PeriodAndDuration.ofDuration(Duration.parse("P180D"));
delegatedAdminRelationship.setAutoExtendDuration(autoExtendDuration);
DelegatedAdminRelationship result = graphClient.tenantRelationships().delegatedAdminRelationships().post(delegatedAdminRelationship);