Use essa API para atribuir uma função de aplicativo a um grupo de segurança. Todos os membros diretos do grupo serão considerados atribuídos. Há suporte para grupos de segurança com associações dinâmicas. Para conceder uma atribuição de função de aplicativo a um grupo, você precisa de três identificadores:
principalId: o ID do grupo ao qual você está atribuindo a função do aplicativo.
resourceId: a ID do recurso servicePrincipal que definiu a função do aplicativo.
appRoleId: o ID do appRole (definido na entidade de serviço de recurso) a ser atribuído ao grupo.
Escolha a permissão ou as permissões marcadas como menos privilegiadas para essa API. Use uma permissão ou permissões privilegiadas mais altas 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 privilegiadas mais altas
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.
Solicitação HTTP
POST /groups/{groupId}/appRoleAssignments
Observação
Como prática recomendada, recomendamos que você crie atribuições de função de aplicativo por meio da appRoleAssignedTorelação do recurso da entidade de serviço, em vez da appRoleAssignmentsrelação do usuário, grupo ou entidade de serviço atribuída.
No corpo da solicitação, forneça uma representação JSON de um objeto appRoleAssignment.
A tabela a seguir lista as propriedades necessárias ao criar o appRoleAssignment. Especifique outras propriedades graváveis conforme necessário para seu appRoleAssignment.
Propriedade
Tipo
Descrição
appRoleId
Guid
O identificador (id) da função do aplicativo que está atribuída à entidade de segurança. Essa função de aplicativo deve ser exposta na propriedade appRoles na entidade de serviço do aplicativo de recurso (ResourceId). Se o aplicativo de recurso não tiver declarado todas as funções do aplicativo, uma ID de função de aplicativo padrão de 00000000-0000-0000-0000-000000000000 poderá ser especificada para sinalizar que a entidade de segurança está atribuída ao aplicativo de recursos sem nenhuma função específica do aplicativo.
principalId
Guid
O identificador exclusivo (id) do grupoque recebeu a função de aplicativo.
resourceId
Guid
Identificador exclusivo (id) para o recurso (entidade de serviço) para o qual a atribuição foi feita.
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. Neste exemplo, o ID na URL e o valor de principalId seriam o ID do grupo atribuído.
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new AppRoleAssignment
{
PrincipalId = Guid.Parse("7679d9a4-2323-44cd-b5c2-673ec88d8b12"),
ResourceId = Guid.Parse("076e8b57-bac8-49d7-9396-e3449b685055"),
AppRoleId = Guid.Parse("00000000-0000-0000-0000-000000000000"),
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Groups["{group-id}"].AppRoleAssignments.PostAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
"github.com/google/uuid"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewAppRoleAssignment()
principalId := uuid.MustParse("7679d9a4-2323-44cd-b5c2-673ec88d8b12")
requestBody.SetPrincipalId(&principalId)
resourceId := uuid.MustParse("076e8b57-bac8-49d7-9396-e3449b685055")
requestBody.SetResourceId(&resourceId)
appRoleId := uuid.MustParse("00000000-0000-0000-0000-000000000000")
requestBody.SetAppRoleId(&appRoleId)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
appRoleAssignments, err := graphClient.Groups().ByGroupId("group-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.setPrincipalId(UUID.fromString("7679d9a4-2323-44cd-b5c2-673ec88d8b12"));
appRoleAssignment.setResourceId(UUID.fromString("076e8b57-bac8-49d7-9396-e3449b685055"));
appRoleAssignment.setAppRoleId(UUID.fromString("00000000-0000-0000-0000-000000000000"));
AppRoleAssignment result = graphClient.groups().byGroupId("{group-id}").appRoleAssignments().post(appRoleAssignment);
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\AppRoleAssignment;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new AppRoleAssignment();
$requestBody->setPrincipalId('7679d9a4-2323-44cd-b5c2-673ec88d8b12');
$requestBody->setResourceId('076e8b57-bac8-49d7-9396-e3449b685055');
$requestBody->setAppRoleId('00000000-0000-0000-0000-000000000000');
$result = $graphServiceClient->groups()->byGroupId('group-id')->appRoleAssignments()->post($requestBody)->wait();
# 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(
principal_id = UUID("7679d9a4-2323-44cd-b5c2-673ec88d8b12"),
resource_id = UUID("076e8b57-bac8-49d7-9396-e3449b685055"),
app_role_id = UUID("00000000-0000-0000-0000-000000000000"),
)
result = await graph_client.groups.by_group_id('group-id').app_role_assignments.post(request_body)