Namespace: microsoft.graph
Importante
As APIs na versão /beta no Microsoft Graph estão sujeitas a alterações. Não há suporte para o uso dessas APIs em aplicativos de produção. Para determinar se uma API está disponível na v1.0, use o seletor Versão.
Conceda uma atribuição de função de aplicativo a um agentUser.
Essa API está disponível nas seguintes implantações de nuvem nacional.
| Serviço global |
Governo dos EUA L4 |
US Government L5 (DOD) |
China operada pela 21Vianet |
| ✅ |
✅ |
✅ |
✅ |
Permissões
Escolha a(s) permissão(s) marcada(s) como menos privilegiada(s) para essa API. Use uma permissão ou permissões com privilégios mais altos somente se o aplicativo exigir. Para obter detalhes sobre permissões delegadas e de aplicativo, consulte Tipos de permissão. Para saber mais sobre essas permissões, consulte a referência de permissões.
| Tipo de permissão |
Permissões menos privilegiadas |
Permissões com privilégios mais elevados |
| Delegado (conta corporativa ou de estudante) |
AppRoleAssignment.ReadWrite.All |
Indisponível. |
| Delegado (conta pessoal da Microsoft) |
Sem suporte. |
Sem suporte. |
| Aplicativo |
AppRoleAssignment.ReadWrite.All |
Indisponível. |
Importante
Para acesso delegado usando contas corporativas ou de estudante, o usuário conectado deve receber uma função do Microsoft Entra com suporte ou uma função personalizada que conceda as permissões necessárias para esta operação. Esta operação dá suporte às seguintes funções internas, que fornecem apenas o menor privilégio necessário:
- Contas de sincronização de diretório - para serviços do Microsoft Entra Connect e do Microsoft Entra Cloud Sync
- Escritor de Diretórios
- Administrador de Identidade Híbrida
- Administrador de Governança de Identidade
- Administrador de Função Privilegiada - a função menos privilegiada com suporte para funções de aplicativo Microsoft Graph e Azure AD Graph
- Administrador do usuário
- Administrador de Aplicativos
- Administrador de Aplicativos de Nuvem
- ID do agente Administrador - somente para usuários do agente
Solicitação HTTP
POST /users/{usersId}/appRoleAssignments
| Nome |
Descrição |
| Autorização |
{token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização. |
| Content-Type |
application/json. Obrigatório. |
Corpo da solicitação
No corpo da solicitação, forneça uma representação JSON de um objeto appRoleAssignment.
Resposta
Se tiver êxito, este método retornará um código de resposta 201 Created e um objeto appRoleAssignment no corpo da resposta.
Exemplos
Solicitação
O exemplo a seguir mostra uma solicitação.
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)
Resposta
O exemplo a seguir mostra a resposta.
Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.
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"
}