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 nacionais de nuvem.

Serviço global Governo dos EUA L4 GOVERNO DOS EUA 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.
Aplicativo RoleManagement.ReadWrite.Directory

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 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.
Aplicativo RoleManagement.ReadWrite.Exchange

Solicitação HTTP

Criar uma atribuição de função para o provedor de diretório:

POST /roleManagement/directory/roleAssignments

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

POST /roleManagement/entitlementManagement/roleAssignments

Criar uma atribuição de função para o provedor 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 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. 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 definidos e compreendidos apenas por um aplicativo de recursos.

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

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

    Para Exchange Online provedor, essa propriedade dá suporte aos seguintes formatos:
  • / para escopo de todo o locatário
  • /Users/{ObjectId of user} para escopo da atribuição de função para um usuário específico
  • /AdministrativeUnits/{ObjectId of AU} para escopo da atribuição de função para uma unidade administrativa
  • /Groups/{ObjectId of group} para escopo da assinmentação de função para direcionar membros 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 do unifiedRoleDefinition para o qual a atribuição é. Somente leitura. Suporta $filter (eq, in).

    Resposta

    Se for bem-sucedido, esse método retornará 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 escopo de locatário

    Solicitação

    O exemplo a seguir mostra uma solicitação. Observe o uso da funçãoTemplateId para roleDefinitionId. roleDefinitionId pode ser a Id de 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 administrador de usuário a uma entidade 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 o escopo do conjunto de atributos

    Solicitação

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