Пространство имен: microsoft.graph
Предоставьте назначение роли приложения агентуUser.
Этот API доступен в следующих национальных облачных развертываниях.
| Глобальная служба |
Правительство США L4 |
Правительство США L5 (DOD) |
Китай управляется 21Vianet |
| ✅ |
✅ |
✅ |
✅ |
Разрешения
Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
| Тип разрешения |
Разрешения с наименьшими привилегиями |
Более высокие привилегированные разрешения |
| Делегированное (рабочая или учебная учетная запись) |
AppRoleAssignment.ReadWrite.All |
Недоступно. |
| Делегированные (личная учетная запись Майкрософт) |
Не поддерживается. |
Не поддерживается. |
| Для приложений |
AppRoleAssignment.ReadWrite.All |
Недоступно. |
Важно!
Для делегированного доступа с использованием рабочих или учебных учетных записей пользователю, выполнившего вход, необходимо назначить поддерживаемую роль Microsoft Entra или пользовательскую роль, которая предоставляет разрешения, необходимые для этой операции. Эта операция поддерживает следующие встроенные роли, которые предоставляют только минимальные необходимые привилегии:
- Учетные записи синхронизации каталогов — для служб облачной синхронизации Microsoft Entra Connect и Microsoft Entra
- Редактор каталогов
- Администратор гибридных удостоверений
- Администратор управления удостоверениями
- Администратор привилегированных ролей — наименее привилегированная роль, поддерживаемая для ролей приложений Microsoft Graph и Azure AD Graph
- Администратор пользователей
- Администратор приложения
- Администратор облачного приложения
- Администратор идентификатора агента — только для пользователей агента
HTTP-запрос
POST /users/{usersId}/appRoleAssignments
Текст запроса
В тексте запроса укажите представление JSON для объекта appRoleAssignment.
Отклик
В случае успеха этот метод возвращает в тексте отклика код отклика 201 Created и объект appRoleAssignment.
Примеры
Запрос
Ниже показан пример запроса.
POST https://graph.microsoft.com/v1.0/users/{usersId}/appRoleAssignments
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.appRoleAssignment",
"deletedDateTime": "String (timestamp)",
"appRoleId": "Guid",
"creationTimestamp": "String (timestamp)",
"principalDisplayName": "String",
"principalId": "Guid",
"principalType": "String",
"resourceDisplayName": "String",
"resourceId": "Guid"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new AppRoleAssignment
{
OdataType = "#microsoft.graph.appRoleAssignment",
DeletedDateTime = DateTimeOffset.Parse("String (timestamp)"),
AppRoleId = Guid.Parse("Guid"),
PrincipalDisplayName = "String",
PrincipalId = Guid.Parse("Guid"),
PrincipalType = "String",
ResourceDisplayName = "String",
ResourceId = Guid.Parse("Guid"),
AdditionalData = new Dictionary<string, object>
{
{
"creationTimestamp" , "String (timestamp)"
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Users["{user-id}"].AppRoleAssignments.PostAsync(requestBody);
Подробнее о том, как добавить SDK в свой проект и создать экземпляр authProvider, см. в документации по SDK.
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
"time"
"github.com/google/uuid"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewAppRoleAssignment()
deletedDateTime , err := time.Parse(time.RFC3339, "String (timestamp)")
requestBody.SetDeletedDateTime(&deletedDateTime)
appRoleId := uuid.MustParse("Guid")
requestBody.SetAppRoleId(&appRoleId)
principalDisplayName := "String"
requestBody.SetPrincipalDisplayName(&principalDisplayName)
principalId := uuid.MustParse("Guid")
requestBody.SetPrincipalId(&principalId)
principalType := "String"
requestBody.SetPrincipalType(&principalType)
resourceDisplayName := "String"
requestBody.SetResourceDisplayName(&resourceDisplayName)
resourceId := uuid.MustParse("Guid")
requestBody.SetResourceId(&resourceId)
additionalData := map[string]interface{}{
"creationTimestamp" : "String (timestamp)",
}
requestBody.SetAdditionalData(additionalData)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
appRoleAssignments, err := graphClient.Users().ByUserId("user-id").AppRoleAssignments().Post(context.Background(), requestBody, nil)
Подробнее о том, как добавить SDK в свой проект и создать экземпляр authProvider, см. в документации по SDK.
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
AppRoleAssignment appRoleAssignment = new AppRoleAssignment();
appRoleAssignment.setOdataType("#microsoft.graph.appRoleAssignment");
OffsetDateTime deletedDateTime = OffsetDateTime.parse("String (timestamp)");
appRoleAssignment.setDeletedDateTime(deletedDateTime);
appRoleAssignment.setAppRoleId(UUID.fromString("Guid"));
appRoleAssignment.setPrincipalDisplayName("String");
appRoleAssignment.setPrincipalId(UUID.fromString("Guid"));
appRoleAssignment.setPrincipalType("String");
appRoleAssignment.setResourceDisplayName("String");
appRoleAssignment.setResourceId(UUID.fromString("Guid"));
HashMap<String, Object> additionalData = new HashMap<String, Object>();
additionalData.put("creationTimestamp", "String (timestamp)");
appRoleAssignment.setAdditionalData(additionalData);
AppRoleAssignment result = graphClient.users().byUserId("{user-id}").appRoleAssignments().post(appRoleAssignment);
Подробнее о том, как добавить SDK в свой проект и создать экземпляр authProvider, см. в документации по SDK.
const options = {
authProvider,
};
const client = Client.init(options);
const appRoleAssignment = {
'@odata.type': '#microsoft.graph.appRoleAssignment',
deletedDateTime: 'String (timestamp)',
appRoleId: 'Guid',
creationTimestamp: 'String (timestamp)',
principalDisplayName: 'String',
principalId: 'Guid',
principalType: 'String',
resourceDisplayName: 'String',
resourceId: 'Guid'
};
await client.api('/users/{usersId}/appRoleAssignments')
.post(appRoleAssignment);
Подробнее о том, как добавить SDK в свой проект и создать экземпляр authProvider, см. в документации по SDK.
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\AppRoleAssignment;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new AppRoleAssignment();
$requestBody->setOdataType('#microsoft.graph.appRoleAssignment');
$requestBody->setDeletedDateTime(new \DateTime('String (timestamp)'));
$requestBody->setAppRoleId('Guid');
$requestBody->setPrincipalDisplayName('String');
$requestBody->setPrincipalId('Guid');
$requestBody->setPrincipalType('String');
$requestBody->setResourceDisplayName('String');
$requestBody->setResourceId('Guid');
$additionalData = [
'creationTimestamp' => 'String (timestamp)',
];
$requestBody->setAdditionalData($additionalData);
$result = $graphServiceClient->users()->byUserId('user-id')->appRoleAssignments()->post($requestBody)->wait();
Подробнее о том, как добавить SDK в свой проект и создать экземпляр authProvider, см. в документации по SDK.
Import-Module Microsoft.Graph.Applications
$params = @{
"@odata.type" = "#microsoft.graph.appRoleAssignment"
deletedDateTime = [System.DateTime]::Parse("String (timestamp)")
appRoleId = "Guid"
creationTimestamp = "String (timestamp)"
principalDisplayName = "String"
principalId = "Guid"
principalType = "String"
resourceDisplayName = "String"
resourceId = "Guid"
}
New-MgUserAppRoleAssignment -UserId $userId -BodyParameter $params
Подробнее о том, как добавить SDK в свой проект и создать экземпляр authProvider, см. в документации по SDK.
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.app_role_assignment import AppRoleAssignment
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = AppRoleAssignment(
odata_type = "#microsoft.graph.appRoleAssignment",
deleted_date_time = "String (timestamp)",
app_role_id = UUID("Guid"),
principal_display_name = "String",
principal_id = UUID("Guid"),
principal_type = "String",
resource_display_name = "String",
resource_id = UUID("Guid"),
additional_data = {
"creation_timestamp" : "String (timestamp)",
}
)
result = await graph_client.users.by_user_id('user-id').app_role_assignments.post(request_body)
Подробнее о том, как добавить SDK в свой проект и создать экземпляр authProvider, см. в документации по SDK.
Отклик
Ниже показан пример отклика.
Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.
HTTP/1.1 201 Created
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.appRoleAssignment",
"id": "ff9f3843-845a-c408-508a-687bf19a481f",
"deletedDateTime": "String (timestamp)",
"appRoleId": "Guid",
"creationTimestamp": "String (timestamp)",
"principalDisplayName": "String",
"principalId": "Guid",
"principalType": "String",
"resourceDisplayName": "String",
"resourceId": "Guid"
}