Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого 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);