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 .

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

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

Para o provedor 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

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. O Administrador de Função Privilegiada é a função com menos privilégios com suporte para esta operação.

Para o provedor de gerenciamento 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 provedor do 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 provedor de diretório:

POST /roleManagement/directory/roleAssignments

Crie uma atribuição de função para o provedor de gerenciamento de direitos:

POST /roleManagement/entitlementManagement/roleAssignments

Crie uma atribuição de função para o provedor do 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 da solicitação, forneça uma representação JSON de um objeto unifiedRoleAssignment .

Você pode especificar as propriedades a seguir ao criar um unifiedRoleAssignment.

Propriedade Tipo Descrição
appScopeId Cadeia de caracteres Obrigatório. Identificador do escopo específico do aplicativo quando o escopo de atribuição é específico do aplicativo. O escopo de uma atribuição determina o conjunto de recursos para os quais a entidade de segurança recebeu acesso. Escopos de aplicativo são escopos definidos e compreendidos apenas por um aplicativo de recurso.

Para o provedor de gerenciamento de direitos, use essa propriedade para especificar um catálogo, por exemplo /AccessPackageCatalog/beedadfe-01d5-4025-910b-84abb9369997.

AppScopeId ou directoryScopeId devem ser especificados.
directoryScopeId Cadeia de caracteres Obrigatório. Identificador do objeto de diretório que representa o escopo da atribuição. O escopo de uma atribuição determina o conjunto de recursos para os quais a entidade de segurança recebeu acesso. Os escopos de diretório são escopos compartilhados armazenados no diretório que são compreendidos por vários aplicativos, ao contrário dos escopos de aplicativo que são definidos e compreendidos apenas por um aplicativo de recurso.

Para o provedor de diretório (Microsoft Entra ID), esta propriedade dá suporte aos seguintes formatos:
  • / para escopo de todo o locatário
  • /administrativeUnits/{administrativeunit-ID} para escopo para uma unidade administrativa
  • /{application-objectID} para definir o escopo de um aplicativo de recurso
  • /attributeSets/{attributeSet-ID} para definir o escopo para um conjunto de atributos

    Para provedor de gerenciamento de direitos, / para escopo em todo o locatário. Para definir o escopo de um catálogo de pacotes de acesso, use a propriedade appScopeId .

    Para o provedor do Exchange Online, esta propriedade dá suporte aos seguintes formatos:
  • / para escopo de todo o locatário
  • /Users/{ObjectId of user} Para definir o escopo da atribuição de função a um usuário específico
  • /AdministrativeUnits/{ObjectId of AU} Para definir o escopo da atribuição de função a uma unidade administrativa
  • /Groups/{ObjectId of group} para definir o escopo da atribuição de função para membros diretos de um grupo específico

    AppScopeId ou directoryScopeId devem ser especificados.
  • principalId Cadeia de caracteres Obrigatório. Identificador da entidade de segurança à 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, esse método retornará um código de 201 Created resposta e um novo objeto unifiedRoleAssignment no corpo da resposta.

    Exemplos

    Exemplo 1: Criar uma atribuição de função com escopo de locatário

    Solicitação

    O exemplo a seguir mostra uma solicitação. Observe o uso de roleTemplateId para roleDefinitionId. roleDefinitionId pode ser a ID do modelo em todo o serviço ou a roleDefinitionId específica 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 escopo de unidade administrativa

    Solicitação

    O exemplo a seguir atribui a função de Administrador de Usuários a uma entidade de segurança com escopo 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 escopo do conjunto de atributos

    Solicitação

    O exemplo a seguir atribui a função de Administrador de Atribuição de Atributo a uma entidade de segurança com um escopo de conjunto de atributos chamado Engenharia. Para obter mais informações sobre os atributos de segurança personalizados e o escopo do conjunto de atributos do Microsoft Entra, confira Gerenciar 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 escopo 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 o provedor do Exchange Online com escopo 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
    }