Criar ou atualizar funções personalizadas do Azure através do portal do Azure

Se as funções internas do Azure não atenderem às necessidades específicas da sua organização, você poderá criar suas próprias funções personalizadas do Azure. Assim como as funções internas, você pode atribuir funções personalizadas a usuários, grupos e entidades de serviço nos escopos de grupo de gerenciamento, assinatura e grupo de recursos. As funções personalizadas são armazenadas em um diretório do Microsoft Entra e podem ser compartilhadas entre assinaturas. Cada diretório pode ter até 5000 funções personalizadas. As funções personalizadas podem ser criadas usando o portal do Azure, o Azure PowerShell, a CLI do Azure ou a API REST. Este artigo descreve como criar funções personalizadas usando o portal do Azure.

Pré-requisitos

Para criar funções personalizadas, você precisa:

Etapa 1: Determinar as permissões necessárias

O Azure tem milhares de permissões que você pode incluir em sua função personalizada. Aqui estão alguns métodos que podem ajudá-lo a determinar as permissões que você desejará adicionar à sua função personalizada:

  • Observe as funções internas existentes.
  • Liste os serviços do Azure aos quais você deseja conceder acesso.
  • Determine os provedores de recursos mapeados para os serviços do Azure. Um método de pesquisa é descrito posteriormente em Etapa 4: Permissões.
  • Pesquise as permissões disponíveis para encontrar as permissões que deseja incluir. Um método de pesquisa é descrito posteriormente em Etapa 4: Permissões.

Passo 2: Escolha como começar

Há três maneiras de começar a criar uma função personalizada. Você pode clonar uma função existente, começar do zero ou começar com um arquivo JSON. A maneira mais fácil é encontrar uma função existente que tenha a maioria das permissões necessárias e, em seguida, cloná-la e modificá-la para seu cenário.

Clonar uma função

Se uma função existente não tiver as permissões necessárias, você poderá cloná-la e, em seguida, modificar as permissões. Siga estas etapas para começar a clonar uma função.

  1. No portal do Azure, abra um grupo de gerenciamento, assinatura ou grupo de recursos onde você deseja que a função personalizada seja atribuível e, em seguida, abra o Controle de acesso (IAM).

    A captura de tela a seguir mostra a página Controle de acesso (IAM) aberta para uma assinatura.

    Access control (IAM) page for a subscription

  2. Clique no separador Funções para ver uma lista de todas as funções incorporadas e personalizadas.

  3. Procure a função que quer clonar, como a função Leitor de Faturação.

  4. No fim do registo, clique nas reticências ( ... ) e em Clonar.

    Clone context menu

    Isso abre o editor de funções personalizadas com a opção Clonar uma função selecionada.

  5. Prossiga para a Etapa 3: Noções básicas.

Começar do zero

Se preferir, siga estas etapas para iniciar uma função personalizada do zero.

  1. No portal do Azure, abra um grupo de gerenciamento, assinatura ou grupo de recursos onde você deseja que a função personalizada seja atribuível e, em seguida, abra o Controle de acesso (IAM).

  2. Clique em Adicionar e, em seguida, clique em Adicionar função personalizada.

    Screenshot showing Add custom role menu.

    Isso abre o editor de funções personalizadas com a opção Iniciar do zero selecionada.

  3. Prossiga para a Etapa 3: Noções básicas.

Começar do JSON

Se preferir, você pode especificar a maioria dos valores de função personalizada em um arquivo JSON. Você pode abrir o arquivo no editor de funções personalizadas, fazer alterações adicionais e, em seguida, criar a função personalizada. Siga estas etapas para começar com um arquivo JSON.

  1. Crie um arquivo JSON que tenha o seguinte formato:

    {
        "properties": {
            "roleName": "",
            "description": "",
            "assignableScopes": [],
            "permissions": [
                {
                    "actions": [],
                    "notActions": [],
                    "dataActions": [],
                    "notDataActions": []
                }
            ]
        }
    }
    
  2. No arquivo JSON, especifique valores para as várias propriedades. Aqui está um exemplo com alguns valores adicionados. Para obter informações sobre as diferentes propriedades, consulte Compreender as definições de função do Azure.

    {
        "properties": {
            "roleName": "Billing Reader Plus",
            "description": "Read billing data and download invoices",
            "assignableScopes": [
                "/subscriptions/11111111-1111-1111-1111-111111111111"
            ],
            "permissions": [
                {
                    "actions": [
                        "Microsoft.Authorization/*/read",
                        "Microsoft.Billing/*/read",
                        "Microsoft.Commerce/*/read",
                        "Microsoft.Consumption/*/read",
                        "Microsoft.Management/managementGroups/read",
                        "Microsoft.CostManagement/*/read",
                        "Microsoft.Support/*"
                    ],
                    "notActions": [],
                    "dataActions": [],
                    "notDataActions": []
                }
            ]
        }
    }
    
  3. No portal do Azure, abra a página Controle de acesso (IAM).

  4. Clique em Adicionar e, em seguida, clique em Adicionar função personalizada.

    Screenshot showing Add custom role menu.

    Isso abre o editor de funções personalizadas.

  5. Na guia Noções básicas, em Permissões de linha de base, selecione Iniciar a partir de JSON.

  6. Ao lado da caixa Selecionar um arquivo, clique no botão de pasta para abrir a caixa de diálogo Abrir.

  7. Selecione seu arquivo JSON e clique em Abrir.

  8. Prossiga para a Etapa 3: Noções básicas.

Passo 3: Noções básicas

Na guia Noções básicas, especifique o nome, a descrição e as permissões da linha de base para sua função personalizada.

  1. Na caixa Nome da função personalizada, especifique um nome para a função personalizada. O nome deve ser exclusivo para o diretório Microsoft Entra. O nome pode incluir letras, números, espaços e caracteres especiais.

  2. Na caixa Descrição, especifique uma descrição opcional para a função personalizada. Isso se tornará a dica de ferramenta para a função personalizada.

    A opção Permissões da linha de base já deve estar definida com base na etapa anterior, mas você pode alterar.

    Basics tab with values specified

Etapa 4: Permissões

Na guia Permissões, você especifica as permissões para sua função personalizada. Dependendo se você clonou uma função ou se começou com JSON, a guia Permissões já pode listar algumas permissões.

Permissions tab of create custom role

Adicionar ou remover permissões

Siga estas etapas para adicionar ou remover permissões para sua função personalizada.

  1. Para adicionar permissões, clique em Adicionar permissões para abrir o painel Adicionar permissões.

    Este painel lista todas as permissões disponíveis agrupadas em diferentes categorias em um formato de cartão. Cada categoria representa um provedor de recursos, que é um serviço que fornece recursos do Azure.

  2. Na caixa Pesquisar uma permissão, digite uma cadeia de caracteres para procurar permissões. Por exemplo, pesquise fatura para encontrar permissões relacionadas à fatura.

    Uma lista de cartões do provedor de recursos será exibida com base na sua cadeia de pesquisa. Para obter uma lista de como os provedores de recursos são mapeados para os serviços do Azure, consulte Provedores de recursos para serviços do Azure.

    Add permissions pane with resource provider

  3. Clique em um cartão de provedor de recursos que pode ter as permissões que você deseja adicionar à sua função personalizada, como Cobrança da Microsoft.

    Uma lista das permissões de gerenciamento para esse provedor de recursos é exibida com base na sua cadeia de caracteres de pesquisa.

    Add permissions list

  4. Se você estiver procurando permissões que se apliquem ao plano de dados, clique em Ações de Dados. Caso contrário, deixe a alternância de ações definida como Ações para listar as permissões que se aplicam ao plano de controle. Para obter mais informações sobre as diferenças entre o plano de controle e o plano de dados, consulte Ações de controle e dados.

  5. Se necessário, atualize a cadeia de pesquisa para refinar ainda mais a sua pesquisa.

  6. Depois de encontrar uma ou mais permissões que deseja adicionar à sua função personalizada, adicione uma marca de seleção ao lado das permissões. Por exemplo, adicione uma marca de seleção ao lado de Outro : Baixar fatura para adicionar a permissão para baixar faturas.

  7. Clique em Adicionar para adicionar a permissão à sua lista de permissões.

    A permissão é adicionada como um ou um ActionsDataActionsarquivo .

    Permission added

  8. Para remover permissões, clique no ícone de exclusão no final da linha. Neste exemplo, como um usuário não precisará da capacidade de criar tíquetes de suporte, a Microsoft.Support/* permissão pode ser excluída.

Adicionar permissões curinga

Dependendo de como você escolheu começar, você pode ter permissões com curingas (*) na sua lista de permissões. Um curinga (*) estende uma permissão para tudo o que corresponde à cadeia de caracteres de ação fornecida. Por exemplo, a cadeia de caracteres curinga a seguir adiciona todas as permissões relacionadas ao Azure Cost Management e exportações. Isso também incluiria quaisquer permissões de exportação futuras que possam ser adicionadas.

Microsoft.CostManagement/exports/*

Se quiser adicionar uma nova permissão curinga, não será possível adicioná-la usando o painel Adicionar permissões . Para adicionar uma permissão curinga, você precisa adicioná-la manualmente usando a guia JSON. Para obter mais informações, consulte Etapa 6: JSON.

Nota

É recomendável especificar Actions e DataActions explicitar em vez de usar o caractere curinga (*). O acesso adicional e as permissões concedidas no futuro Actions ou DataActions podem ser comportamentos indesejados usando o curinga.

Excluir permissões

Se sua função tiver uma permissão curinga (*) e você quiser excluir ou subtrair permissões específicas dessa permissão curinga, poderá excluí-las. Por exemplo, digamos que você tenha a seguinte permissão curinga:

Microsoft.CostManagement/exports/*

Se não quiser permitir que uma exportação seja excluída, você pode excluir a seguinte permissão de exclusão:

Microsoft.CostManagement/exports/delete

Quando você exclui uma permissão, ela é adicionada como um NotActions ou NotDataActions. As permissões de gerenciamento efetivo são calculadas adicionando todas as permissões e, em seguida, subtraindo todas as ActionsNotActions. As permissões de dados efetivas são calculadas adicionando todas as permissões e, em seguida, subtraindo todas as DataActionsNotDataActions.

Nota

Excluir uma permissão não é o mesmo que negar. Excluir permissões é simplesmente uma maneira conveniente de subtrair permissões de uma permissão curinga.

  1. Para excluir ou subtrair uma permissão de uma permissão curinga permitida, clique em Excluir permissões para abrir o painel Excluir permissões.

    Neste painel, você especifica as permissões de gerenciamento ou de dados que são excluídas ou subtraídas.

  2. Depois de encontrar uma ou mais permissões que deseja excluir, adicione uma marca de seleção ao lado das permissões e clique no botão Adicionar .

    Exclude permissions pane - permission selected

    A permissão é adicionada como um NotActions ou NotDataActions.

    Permission excluded

Etapa 5: Escopos atribuíveis

Na guia Escopos atribuíveis, você especifica onde sua função personalizada está disponível para atribuição, como grupo de gerenciamento, assinaturas ou grupos de recursos. Dependendo de como você escolheu começar, essa guia já pode listar o escopo onde você abriu a página Controle de acesso (IAM).

Você pode definir apenas um grupo de gerenciamento em escopos atribuíveis. Não há suporte para a definição de escopo atribuível como escopo raiz ("/").

  1. Clique em Adicionar escopos atribuíveis para abrir o painel Adicionar escopos atribuíveis.

    Assignable scopes tab

  2. Clique em um ou mais escopos que você deseja usar, normalmente sua assinatura.

    Add assignable scopes

  3. Clique no botão Adicionar para adicionar seu escopo atribuível.

Etapa 6: JSON

Na guia JSON, você vê sua função personalizada formatada em JSON . Se desejar, você pode editar diretamente o JSON.

  1. Para editar o JSON, clique em Editar.

    JSON tab showing custom role

  2. Faça alterações no JSON.

    Se o JSON não estiver formatado corretamente, você verá uma linha irregular vermelha e um indicador na calha vertical.

  3. Quando terminar de editar, clique em Salvar.

Passo 7: Rever + criar

No separador Rever + criar, pode rever as definições da sua função personalizada.

  1. Revise suas configurações de função personalizadas.

    Review + create tab

  2. Clique em Criar para criar sua função personalizada.

    Após alguns momentos, uma caixa de mensagem é exibida indicando que sua função personalizada foi criada com êxito.

    Create custom role message

    Se algum erro for detetado, uma mensagem será exibida.

    Review + create error

  3. Exiba sua nova função personalizada na lista Funções . Se não vir a sua função personalizada, clique em Atualizar.

    Pode levar alguns minutos para que sua função personalizada apareça em todos os lugares.

Listar funções personalizadas

Siga estas etapas para exibir suas funções personalizadas.

  1. Abra um grupo de gerenciamento, assinatura ou grupo de recursos e, em seguida, abra o controle de acesso (IAM).

  2. Clique no separador Funções para ver uma lista de todas as funções incorporadas e personalizadas.

  3. Na lista Tipo, selecione CustomRole para ver apenas suas funções personalizadas.

    Se você acabou de criar sua função personalizada e não a vê na lista, clique em Atualizar.

    Custom role list

Atualizar uma função personalizada

  1. Conforme descrito anteriormente neste artigo, abra sua lista de funções personalizadas.

  2. Clique nas reticências (...) para a função personalizada que pretende atualizar e, em seguida, clique em Editar. Tenha em atenção que não é possível atualizar funções incorporadas.

    A função personalizada é aberta no editor.

    Custom role menu

  3. Utilize os diferentes separadores para atualizar a função personalizada.

  4. Quando terminar as alterações, clique no separador Rever + criar para rever as alterações.

  5. Clique no botão Atualizar para atualizar sua função personalizada.

Eliminar uma função personalizada

  1. Remova todas as atribuições de função que usam a função personalizada. Para obter mais informações, consulte Localizar atribuições de função para excluir uma função personalizada.

  2. Conforme descrito anteriormente neste artigo, abra sua lista de funções personalizadas.

  3. Clique nas reticências (...) para a função personalizada que pretende eliminar e, em seguida, clique em Eliminar.

    Screenshot of a list of custom roles that can be selected for deletion.

    Pode levar alguns minutos para que sua função personalizada seja completamente excluída.

Próximos passos