Criar ou atualizar funções personalizadas do Azure usando o portal do Azure

Se as funções internas do Azure não atenderem às necessidades específicas de sua organização, você poderá criar funções personalizadas do Azure próprias. Assim como as funções internas, você pode atribuir funções personalizadas a usuários, grupos e entidades de serviço em 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é 5 mil 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ê precisará:

Etapa 1: determinar as permissões necessárias

O Azure tem milhares de permissões que podem ser incluídas na função personalizada. Confira alguns métodos que podem ajudá-lo a determinar as permissões que deseja adicionar à função personalizada:

Etapa 2: escolher como iniciar

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 modificar as permissões. Siga estas etapas para iniciar a clonagem de 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 do Controle de acesso (IAM) aberta para uma assinatura.

    Access control (IAM) page for a subscription

  2. Clique na guia Funções para ver uma lista de todas as funções integradas e personalizadas.

  3. Procure uma função que você deseja clonar, como a função Leitor de Cobrança.

  4. No final da linha, clique nas reticências ( ... ) e depois em Clonar.

    Clone context menu

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

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

Começar do zero

Se preferir, você pode seguir 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 depois 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. Vá para a Etapa 3: Noções básicas.

Iniciar no 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 depois criar a função personalizada. Siga estas etapas para começar com um arquivo JSON.

  1. Crie um arquivo JSON com o seguinte formato:

    {
        "properties": {
            "roleName": "",
            "description": "",
            "assignableScopes": [],
            "permissions": [
                {
                    "actions": [],
                    "notActions": [],
                    "dataActions": [],
                    "notDataActions": []
                }
            ]
        }
    }
    
  2. No arquivo JSON, especifique os valores para as diversas propriedades. Veja um exemplo com alguns valores adicionados. Para obter informações sobre as diferentes propriedades, confira Entenda 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 depois 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 Começar pelo 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 o arquivo JSON e clique em Abrir.

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

Etapa 3: Noções básicas

Na guia Noções básicas, você especifica o nome, a descrição e as permissões de linha de base para a 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. Ele 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. Ela se tornará a dica de ferramenta para a função personalizada.

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

    Basics tab with values specified

Etapa 4: Permissões

Na guia Permissões, você especificará as permissões para a função personalizada. Dependendo se você clonou uma função ou se começou com JSON, é possível que a guia Permissões já liste algumas permissões.

Permissions tab of create custom role

Adicionar ou remover permissões

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

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

    Esse painel lista todas as permissões disponíveis agrupadas em categorias diferentes 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 cadeia de caracteres de pesquisa. Para obter uma lista de como os provedores de recursos mapeiam os serviços do Azure, confira Provedores de recursos para os 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 o Faturamento da Microsoft.

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

    Add permissions list

  4. Se você estiver procurando permissões que se aplicam ao plano de dados, clique em Ações de dados. Se não, deixe a alternância de ações definida como Ações para listar as permissões que se aplicam ao painel de controle. Para obter mais informações sobre as diferenças entre o painel de controle e o plano de dados, confira Ações de dados e de controle.

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

  6. Depois de encontrar uma ou mais permissões que deseja adicionar à 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: download da fatura para adicionar a permissão para baixar faturas.

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

    A permissão é adicionada como Actions ou DataActions.

    Permission added

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

Adicionar permissões curinga

Dependendo de como você escolheu iniciar, você pode ter permissões com curingas (*) na lista de permissões. Um curinga (*) estende uma permissão para tudo que corresponde à cadeia de caracteres de ação que você fornece. Por exemplo, a cadeia de caracteres curinga a seguir adiciona todas as permissões relacionadas ao Gerenciamento de Custos e às exportações do Azure. Isso também inclui futuras permissões de exportação que possam ser adicionadas.

Microsoft.CostManagement/exports/*

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

Observação

É recomendável que você especifique Actions e DataActions explicitamente, em vez de usar o caractere curinga (*). O acesso adicional e as permissões concedidas por meio de Actions ou DataActions futuros podem ser um comportamento indesejado ao usar o curinga.

Excluir permissões

Se a função tiver uma permissão curinga (*) e você quiser excluir ou subtrair permissões específicas dessa permissão de curinga, você 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, poderá excluir a seguinte permissão de exclusão:

Microsoft.CostManagement/exports/delete

Quando você exclui uma permissão, ela é adicionada como NotActions ou NotDataActions. As permissões efetivas de gerenciamento são computadas ao adicionar todos os Actions e subtraindo todos os NotActions. As permissões efetivas de dados são computadas ao adicionar todos os DataActions e subtraindo todos os NotDataActions.

Observação

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

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

    Nesse 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 NotActions ou NotDataActions.

    Permission excluded

Etapa 5: Escopos atribuíveis

Na guia Escopos atribuíveis, especifique onde a função personalizada está disponível para atribuição, como grupo de gerenciamento, assinaturas ou grupos de recursos. Dependendo de como você escolheu iniciar, essa guia pode já 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 definir o escopo atribuível para o 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 deseja usar, normalmente sua assinatura.

    Add assignable scopes

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

Etapa 6: JSON

Na guia JSON, você verá a função personalizada formatada em JSON. Se quiser, você pode editar o JSON diretamente.

  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 vermelha denteada e um indicador na medianiz vertical.

  3. Quando terminar a edição, clique em Salvar.

Etapa 7: Examinar + criar

Na guia Examinar + criar, você pode examinar as configurações de função personalizada.

  1. Revise as configurações de função personalizada.

    Review + create tab

  2. Clique em Criar para a função personalizada.

    Após alguns instantes, uma caixa de mensagem será exibida indicando que a função personalizada foi criada com sucesso.

    Create custom role message

    Uma mensagem será exibida em caso de erros.

    Review + create error

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

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

Listar funções personalizadas

Siga estas etapas para exibir as 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 na guia Funções para ver uma lista de todas as funções integradas e personalizadas.

  3. Na lista Tipo, selecione Função personalizada para ver apenas as funções personalizadas.

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

    Custom role list

Atualizar uma função personalizada

  1. Como descrito anteriormente neste artigo, abra a lista de funções personalizadas.

  2. Clique nas reticências (...) da função personalizada que deseja atualizar e clique em Editar. Observe que não é possível atualizar funções internas.

    A função personalizada é aberta no editor.

    Custom role menu

  3. Use as diferentes guias para atualizar a função personalizada.

  4. Depois de concluir as alterações, clique na guia Examinar + criar para revisar as alterações.

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

Excluir uma função personalizada

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

  2. Como descrito anteriormente neste artigo, abra a lista de funções personalizadas.

  3. Clique nas reticências (...) da função personalizada que deseja excluir e clique em Excluir.

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

    Pode levar alguns minutos até que a função personalizada seja completamente excluída.

Próximas etapas