Partilhar via


Criar unifiedRoleAssignment

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.

Crie um novo objeto unifiedRoleAssignment .

Esta API está disponível nas seguintes implementações de cloud nacionais.

Serviço global US Government L4 US Government L5 (DOD) China operada pela 21Vianet

Permissões

Uma das seguintes permissões é necessária para chamar esta API. Para saber mais, incluindo como escolher permissões, confira Permissões.

Para o fornecedor de diretório (Microsoft Entra ID)

Tipo de permissão Permissões (da com menos para a com mais privilégios)
Delegado (conta corporativa ou de estudante) RoleManagement.ReadWrite.Directory
Delegado (conta pessoal da Microsoft) Sem suporte.
Application RoleManagement.ReadWrite.Directory

Importante

Em cenários delegados com contas escolares ou profissionais, o utilizador com sessão iniciada tem de ter uma função de Microsoft Entra suportada ou uma função personalizada com uma permissão de função suportada. O Administrador de Funções Com Privilégios é a função com menos privilégios suportada para esta operação.

Para o fornecedor de gestão de direitos

Tipo de permissão Permissões (da com menos para a com mais privilégios)
Delegado (conta corporativa ou de estudante) EntitlementManagement.ReadWrite.All
Delegado (conta pessoal da Microsoft) Sem suporte.
Aplicativo Sem suporte.

Para um fornecedor de Exchange Online

Tipo de permissão Permissões (da com menos para a com mais privilégios)
Delegado (conta corporativa ou de estudante) RoleManagement.ReadWrite.Exchange
Delegado (conta pessoal da Microsoft) Sem suporte.
Application RoleManagement.ReadWrite.Exchange

Solicitação HTTP

Crie uma atribuição de função para o fornecedor de diretórios:

POST /roleManagement/directory/roleAssignments

Crie uma atribuição de função para o fornecedor de gestão de direitos:

POST /roleManagement/entitlementManagement/roleAssignments

Crie uma atribuição de função para o fornecedor de Exchange Online:

POST /roleManagement/exchange/roleAssignments

Cabeçalhos de solicitação

Nome Descrição
Autorização {token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização.

Corpo da solicitação

No corpo do pedido, forneça uma representação JSON de um objeto unifiedRoleAssignment .

Pode especificar as seguintes propriedades ao criar um unifiedRoleAssignment.

Propriedade Tipo Descrição
appScopeId Cadeia de caracteres Obrigatório. Identificador do âmbito específico da aplicação quando o âmbito de atribuição é específico da aplicação. O âmbito de uma atribuição determina o conjunto de recursos ao qual foi concedido acesso ao principal. Os âmbitos da aplicação são âmbitos definidos e compreendidos apenas por uma aplicação de recursos.

Para o fornecedor de gestão de direitos, utilize esta propriedade para especificar um catálogo, por exemplo /AccessPackageCatalog/beedadfe-01d5-4025-910b-84abb9369997.

AppScopeId ou directoryScopeId têm de ser especificados.
directoryScopeId Cadeia de caracteres Obrigatório. Identificador do objeto de diretório que representa o âmbito da atribuição. O âmbito de uma atribuição determina o conjunto de recursos ao qual foi concedido acesso ao principal. Os âmbitos de diretório são âmbitos partilhados armazenados no diretório que são compreendidos por várias aplicações, ao contrário dos âmbitos de aplicações definidos e compreendidos apenas por uma aplicação de recursos.

Para o fornecedor de diretórios (Microsoft Entra ID), esta propriedade suporta os seguintes formatos:
  • / para âmbito ao nível do inquilino
  • /administrativeUnits/{administrativeunit-ID} para definir o âmbito de uma unidade administrativa
  • /{application-objectID} para definir o âmbito de uma aplicação de recursos
  • /attributeSets/{attributeSet-ID} para definir o âmbito de um conjunto de atributos

    Para o fornecedor de gestão de direitos, / para âmbito ao nível do inquilino. Para definir o âmbito de um catálogo de pacotes de acesso, utilize a propriedade appScopeId .

    Para Exchange Online fornecedor, esta propriedade suporta os seguintes formatos:
  • / para âmbito ao nível do inquilino
  • /Users/{ObjectId of user} para definir o âmbito da atribuição de função a um utilizador específico
  • /AdministrativeUnits/{ObjectId of AU} para definir o âmbito da atribuição de função a uma unidade administrativa
  • /Groups/{ObjectId of group} para definir o âmbito da atribuição de função aos membros diretos de um grupo específico

    AppScopeId ou directoryScopeId têm de ser especificados.
  • principalId Cadeia de caracteres Obrigatório. Identificador do principal ao qual a atribuição é concedida.
    roleDefinitionId Cadeia de caracteres Identificador da unifiedRoleDefinition para a qual a atribuição se destina. Somente leitura. Suporta $filter (eq, in).

    Resposta

    Se for bem-sucedido, este método devolve um 201 Created código de resposta e um novo objeto unifiedRoleAssignment no corpo da resposta.

    Exemplos

    Exemplo 1: Criar uma atribuição de função com o âmbito do inquilino

    Solicitação

    O exemplo a seguir mostra uma solicitação. Tenha em atenção a utilização de roleTemplateId para roleDefinitionId. roleDefinitionId pode ser o ID de modelo ao nível do serviço ou o roleDefinitionId específico do diretório.

    POST https://graph.microsoft.com/beta/roleManagement/directory/roleAssignments
    Content-type: application/json
    
    { 
        "@odata.type": "#microsoft.graph.unifiedRoleAssignment",
        "roleDefinitionId": "c2cf284d-6c41-4e6b-afac-4b80928c9034",
        "principalId": "f8ca5a85-489a-49a0-b555-0a6d81e56f0d",
        "directoryScopeId": "/"
    }
    

    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.context": "https://graph.microsoft.com/beta/$metadata#roleManagement/directory/roleAssignments/$entity",
        "id": "YUb1sHQtUEyvox7IA_Eu_mm3jqnUe4lEhvatluHVi2I-1",
        "roleDefinitionId": "c2cf284d-6c41-4e6b-afac-4b80928c9034",
        "principalId": "f8ca5a85-489a-49a0-b555-0a6d81e56f0d",
        "directoryScopeId": "/"
    }
    

    Exemplo 2: Criar uma atribuição de função com âmbito de unidade administrativa

    Solicitação

    O exemplo seguinte atribui a função Administrador de Utilizadores a um principal com âmbito de unidade administrativa.

    POST https://graph.microsoft.com/beta/roleManagement/directory/roleAssignments
    Content-type: application/json
    
    {
        "@odata.type": "#microsoft.graph.unifiedRoleAssignment",
        "roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1",
        "principalId": "f8ca5a85-489a-49a0-b555-0a6d81e56f0d",
        "directoryScopeId": "/administrativeUnits/5d107bba-d8e2-4e13-b6ae-884be90e5d1a"
    }
    

    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.context": "https://graph.microsoft.com/beta/$metadata#roleManagement/directory/roleAssignments/$entity",
        "id": "BH21sHQtUEyvox7IA_Eu_mm3jqnUe4lEhvatluHIWb7-1",
        "roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1",
        "principalId": "f8ca5a85-489a-49a0-b555-0a6d81e56f0d",
        "directoryScopeId": "/administrativeUnits/5d107bba-d8e2-4e13-b6ae-884be90e5d1a"
    }
    

    Exemplo 3: Criar uma atribuição de função com o âmbito do conjunto de atributos

    Solicitação

    O exemplo seguinte atribui a função Administrador de Atribuição de Atributos a um principal com um âmbito de conjunto de atributos denominado Engenharia. Para obter mais informações sobre Microsoft Entra atributos de segurança personalizados e o âmbito do conjunto de atributos, veja Gerir o acesso a atributos de segurança personalizados no Microsoft Entra ID.

    POST https://graph.microsoft.com/beta/roleManagement/directory/roleAssignments
    Content-type: application/json
    
    {
        "@odata.type": "#microsoft.graph.unifiedRoleAssignment",
        "roleDefinitionId": "58a13ea3-c632-46ae-9ee0-9c0d43cd7f3d",
        "principalId": "f8ca5a85-489a-49a0-b555-0a6d81e56f0d",
        "directoryScopeId": "/attributeSets/Engineering"
    }
    

    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.context": "https://graph.microsoft.com/beta/$metadata#roleManagement/directory/roleAssignments/$entity",
        "id": "oz6hWDLGrkae4JwNQ81_PU-mYqx8m71OpqEQPdN1u",
        "roleDefinitionId": "58a13ea3-c632-46ae-9ee0-9c0d43cd7f3d",
        "principalId": "f8ca5a85-489a-49a0-b555-0a6d81e56f0d",
        "directoryScopeId": "/attributeSets/Engineering"
    }
    

    Exemplo 4: Criar uma atribuição de função com o âmbito do catálogo de pacotes de acesso

    Solicitação

    O exemplo a seguir mostra uma solicitação.

    POST https://graph.microsoft.com/beta/roleManagement/entitlementManagement/roleAssignments
    Content-type: application/json
    
    {
        "principalId": "679a9213-c497-48a4-830a-8d3d25d94ddc",
        "roleDefinitionId": "ae79f266-94d4-4dab-b730-feca7e132178",
        "appScopeId": "/AccessPackageCatalog/beedadfe-01d5-4025-910b-84abb9369997"
    }
    

    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.context": "https://graph.microsoft.com/beta/$metadata#roleManagement/entitlementManagement/roleAssignments/$entity",
        "id": "f3092518-7874-462e-93e9-0cd6c11ffc52",
        "principalId": "679a9213-c497-48a4-830a-8d3d25d94ddc",
        "roleDefinitionId": "ae79f266-94d4-4dab-b730-feca7e132178",
        "appScopeId": "/AccessPackageCatalog/beedadfe-01d5-4025-910b-84abb9369997"
    }
    

    Exemplo 5: Criar uma atribuição de função para Exchange Online fornecedor com âmbito de unidade administrativa

    Solicitação

    O exemplo a seguir mostra uma solicitação.

    POST https://graph.microsoft.com/beta/roleManagement/exchange/roleAssignments
    Content-type: application/json
    
    {
        "principalId": "/ServicePrincipals/0451dbb9-6336-42ea-b58f-5953dc053ece",
        "roleDefinitionId": "f66ab1ee-3cac-4d03-8a64-dadc56e563f8",
        "directoryScopeId": "/AdministrativeUnits/8b532c7a-4d3e-4e99-8ffa-2dfec92c62eb",
        "appScopeId": null
    }
    

    Resposta

    O exemplo a seguir mostra a resposta.

    HTTP/1.1 201 Created
    Content-type: application/json
    
    {
        "@odata.context": "https://graph.microsoft.com/beta/$metadata#roleManagement/exchange/roleAssignments/$entity",
        "id": "c5dd3ab8-374f-42e9-b163-eb7c54b53755",
        "principalId": "/ServicePrincipals/0451dbb9-6336-42ea-b58f-5953dc053ece",
        "roleDefinitionId": "f66ab1ee-3cac-4d03-8a64-dadc56e563f8",
        "directoryScopeId": "/AdministrativeUnits/8b532c7a-4d3e-4e99-8ffa-2dfec92c62eb",
        "appScopeId": null
    }