Pour appeler cette API à l’aide d’autorisations d’application, vous devez provisionner le principal de service identifié par appId2832473f-ec63-45fb-976f-5d45a7d4bb91 et nommé Partner Customer Delegated Administration dans le locataire partenaire. Pour approvisionner le principal de service dans le locataire partenaire, appelez l’API Create servicePrincipal .
Requête HTTP
POST /tenantRelationships/delegatedAdminRelationships
Identificateurs des rôles d’administration auxquels le partenaire demande ou a accès dans le locataire du client. Obligatoire.
autoExtendDuration
Durée
Durée d’extension automatique de la validité de la relation, indiquée au format ISO 8601. Les valeurs prises en charge sont : P0D, PT0S, P180D. La valeur par défaut est PT0S.
PT0S indique que la relation expire lorsque la valeur endDateTime est atteinte et qu’elle n’est pas automatiquement étendue. Optional.
Nom complet et identificateur unique du client de la relation. Optional.
displayName
String
Nom complet de la relation utilisée pour faciliter l’identification. Doit être unique dans toutes les relations d’administration déléguées du partenaire. Obligatoire. La longueur maximale est de 50 caractères.
durée
Durée
Durée de la relation au format ISO 8601. Doit être une valeur comprise entre P1D et P2Y inclusive. Obligatoire.
Réponse
Si elle réussit, cette méthode renvoie un 201 Created code de réponse et un objet delegatedAdminRelationship dans le corps de la réponse.
La réponse contient un en-tête Location qui contient une URL vers la relation d’administrateur délégué créée. Chaque objet delegatedAdminRelationship contient une propriété @odata.etag conformément à 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);