Criar roleDefinitions

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 de versão.

Crie um novo objeto unifiedRoleDefinition para um provedor RBAC.

No momento, há suporte para os seguintes provedores RBAC:

  • PC na nuvem.
  • gerenciamento de dispositivo (Intune)
  • directory (Azure AD)

Permissões

Dependendo do provedor RBAC e do tipo de permissão (delegado ou aplicativo) necessário, escolha entre as tabelas a permissão menos privilegiada necessária para chamar essa API. Para saber mais, incluindo ter cuidado antes de escolher permissões mais privilegiadas, consulte Permissões.

Para um provedor de PC na nuvem

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

Para um provedor de gerenciamento de dispositivos (Intune)

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

Para um provedor de diretório (Azure AD)

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

Solicitação HTTP

Para criar uma definição de função para um provedor de gerenciamento de dispositivo:

POST /roleManagement/deviceManagement/roleDefinitions

Para criar uma definição de função para um provedor de diretório:

POST /roleManagement/directory/roleDefinitions

Para criar uma definição de função para um provedor de PC na nuvem:

POST /roleManagement/cloudPc/roleDefinitions

Cabeçalhos de solicitação

Nome Descrição
Autorização Portador {token}

Corpo da solicitação

No corpo da solicitação, forneça uma representação JSON do objeto unifiedRoleDefinition .

A tabela a seguir mostra as propriedades que são necessárias ao criar uma roleDefinition.

Parâmetro Tipo Descrição
displayName string O nome de exibição para a definição de função.
isEnabled Booliano Sinalizador que indica se a função está habilitada para atribuição. Se for false, a função não estará disponível para atribuição.
rolePermissions Coleção unifiedRolePermission Lista de permissões incluídas na função.

Resposta

Se tiver êxito, este método retornará 201 Created o código de resposta e um novo objeto unifiedRoleDefinition no corpo da resposta.

Exemplo 1: Criar uma função personalizada para um provedor de diretório

Solicitação

POST https://graph.microsoft.com/beta/roleManagement/directory/roleDefinitions
Content-type: application/json

{
  "description": "Update basic properties of application registrations",
  "displayName": "Application Registration Support Administrator",
  "rolePermissions":
    [
        {
            "allowedResourceActions": 
            [
                "microsoft.directory/applications/basic/read"
            ]
        }
    ],
    "isEnabled" : "true"
}

Resposta

Este é um exemplo de 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/roleDefinitions/$entity",
    "id": "d5eec5e0-6992-4c6b-b430-0f833f1a815a",
    "description": "Update basic properties of application registrations",
    "displayName": "Application Registration Support Administrator",
    "isBuiltIn": false,
    "isEnabled": true,
    "templateId": "d5eec5e0-6992-4c6b-b430-0f833f1a815a",
    "version": null,
    "rolePermissions": [
        {
            "allowedResourceActions": [
                "microsoft.directory/applications/standard/read",
                "microsoft.directory/applications/basic/update"
            ],
            "condition": null
        }
    ],
    "inheritsPermissionsFrom": []
}

Exemplo 2: Criar uma função personalizada para um provedor de PC na nuvem

Solicitação

POST https://graph.microsoft.com/beta/roleManagement/cloudPc/roleDefinitions
Content-type: application/json

{
  "description": "An example custom role",
  "displayName": "ExampleCustomRole",
  "rolePermissions":
    [
        {
            "allowedResourceActions": 
            [
                "Microsoft.CloudPC/CloudPCs/Read"
            ]
        }
    ],
    "condition" : "null"
}

Resposta

Este é um exemplo de 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/cloudPc/roleDefinitions/$entity",
    "id": "b7f5ddc1-b7dc-4d37-abce-b9d6fc15ffff",
    "description": "An example custom role",
    "displayName": "ExampleCustomRole",
    "isBuiltIn": false,
    "isEnabled": true,
    "templateId": "b7f5ddc1-b7dc-4d37-abce-b9d6fc15ffff",
    "version": null,
    "rolePermissions": [
        {
            "allowedResourceActions": [
                "Microsoft.CloudPC/CloudPCs/Read"
            ],
            "condition": null
        }
    ],
    "resourceScopes":["/"]
}