Пространство имен: microsoft.graph
Важно!
API версии /beta в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.
Предоставьте назначение роли приложения агенту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/beta/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.Beta.Models;
var requestBody = new AppRoleAssignment
{
OdataType = "#microsoft.graph.appRoleAssignment",
DeletedDateTime = DateTimeOffset.Parse("String (timestamp)"),
AppRoleId = Guid.Parse("Guid"),
CreationTimestamp = DateTimeOffset.Parse("String (timestamp)"),
PrincipalDisplayName = "String",
PrincipalId = Guid.Parse("Guid"),
PrincipalType = "String",
ResourceDisplayName = "String",
ResourceId = Guid.Parse("Guid"),
};
// 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);
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
"time"
"github.com/google/uuid"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-beta-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)
creationTimestamp , err := time.Parse(time.RFC3339, "String (timestamp)")
requestBody.SetCreationTimestamp(&creationTimestamp)
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)
// 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)
// 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"));
OffsetDateTime creationTimestamp = OffsetDateTime.parse("String (timestamp)");
appRoleAssignment.setCreationTimestamp(creationTimestamp);
appRoleAssignment.setPrincipalDisplayName("String");
appRoleAssignment.setPrincipalId(UUID.fromString("Guid"));
appRoleAssignment.setPrincipalType("String");
appRoleAssignment.setResourceDisplayName("String");
appRoleAssignment.setResourceId(UUID.fromString("Guid"));
AppRoleAssignment result = graphClient.users().byUserId("{user-id}").appRoleAssignments().post(appRoleAssignment);
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')
.version('beta')
.post(appRoleAssignment);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\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->setCreationTimestamp(new \DateTime('String (timestamp)'));
$requestBody->setPrincipalDisplayName('String');
$requestBody->setPrincipalId('Guid');
$requestBody->setPrincipalType('String');
$requestBody->setResourceDisplayName('String');
$requestBody->setResourceId('Guid');
$result = $graphServiceClient->users()->byUserId('user-id')->appRoleAssignments()->post($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Applications
$params = @{
"@odata.type" = "#microsoft.graph.appRoleAssignment"
deletedDateTime = [System.DateTime]::Parse("String (timestamp)")
appRoleId = "Guid"
creationTimestamp = [System.DateTime]::Parse("String (timestamp)")
principalDisplayName = "String"
principalId = "Guid"
principalType = "String"
resourceDisplayName = "String"
resourceId = "Guid"
}
New-MgBetaUserAppRoleAssignment -UserId $userId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.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"),
creation_timestamp = "String (timestamp)",
principal_display_name = "String",
principal_id = UUID("Guid"),
principal_type = "String",
resource_display_name = "String",
resource_id = UUID("Guid"),
)
result = await graph_client.users.by_user_id('user-id').app_role_assignments.post(request_body)
Отклик
Ниже показан пример отклика.
Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.
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"
}