Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Se as funções internas do Azure não atenderem às necessidades específicas de sua organização, você poderá criar funções personalizadas próprias. Para este tutorial, crie uma função personalizada chamada Tíquetes de suporte do leitor usando a CLI do Azure. A função personalizada permite ao usuário ver tudo no painel de controle de uma assinatura e também abrir tíquetes de suporte.
Neste tutorial, você aprenderá como:
- Criar uma função personalizada
- Listar funções personalizadas
- Atualizar uma função personalizada
- Excluir uma função personalizada
Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
Pré-requisitos
Para concluir este tutorial, você precisará de:
- Permissões para criar funções personalizadas, como Administrador de Acesso do Usuário
- Azure Cloud Shell ou CLI do Azure
Entrar na CLI do Azure
Entre na CLI do Azure.
Criar uma função personalizada
A maneira mais fácil de criar uma função personalizada é começar com um modelo JSON, adicionar suas alterações e, em seguida, criar uma nova função.
Examine a lista de ações do provedor de recursos Microsoft.Support. É útil saber as ações que estão disponíveis para criar suas permissões.
Ação Description Microsoft.Support/register/action Registra-se para dar suporte ao provedor de recursos Microsoft.Support/supportTickets/read Obter detalhes de tíquete de suporte (incluindo status, severidade, detalhes de contato e comunicações) ou obtém a lista de tíquetes de suporte entre assinaturas. Microsoft.Support/supportTickets/write Cria ou atualiza um tíquete de suporte. Você pode criar um tíquete de suporte para problemas técnicos, de cobrança, de cotas ou de gerenciamento de assinatura. Você pode atualizar a severidade, os detalhes de contato e as comunicações dos tickets de suporte existentes. Crie um novo arquivo chamado ReaderSupportRole.json.
Abra ReaderSupportRole.json em um editor e adicione o JSON a seguir.
Para obter informações sobre as diferentes propriedades, consulte as funções personalizadas do Azure.
{ "Name": "", "IsCustom": true, "Description": "", "Actions": [], "NotActions": [], "DataActions": [], "NotDataActions": [], "AssignableScopes": [ "/subscriptions/{subscriptionId1}" ] }Adicione as seguintes ações à propriedade
Actions. Essas ações permitem que o usuário veja tudo que está na assinatura e crie tíquetes de suporte."*/read", "Microsoft.Support/*"Obtenha a ID da sua assinatura usando o comando az account list .
az account list --output tableIn
AssignableScopes, substitua{subscriptionId1}pela ID da assinatura.Você deve adicionar IDs de assinatura explícitas, caso contrário, você não terá permissão para importar a função para sua assinatura.
Altere as propriedades
NameeDescriptionpara "Tíquetes de suporte do leitor" e "Exibir tudo na assinatura e também abrir tíquetes de suporte".Seu arquivo JSON deve ser semelhante ao seguinte:
{ "Name": "Reader Support Tickets", "IsCustom": true, "Description": "View everything in the subscription and also open support tickets.", "Actions": [ "*/read", "Microsoft.Support/*" ], "NotActions": [], "DataActions": [], "NotDataActions": [], "AssignableScopes": [ "/subscriptions/00000000-0000-0000-0000-000000000000" ] }Para criar a nova função personalizada, use o comando az role definition create e especifique o arquivo de definição de função JSON.
az role definition create --role-definition "~/CustomRoles/ReaderSupportRole.json"{ "additionalProperties": {}, "assignableScopes": [ "/subscriptions/00000000-0000-0000-0000-000000000000" ], "description": "View everything in the subscription and also open support tickets.", "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/22222222-2222-2222-2222-222222222222", "name": "22222222-2222-2222-2222-222222222222", "permissions": [ { "actions": [ "*/read", "Microsoft.Support/*" ], "additionalProperties": {}, "dataActions": [], "notActions": [], "notDataActions": [] } ], "roleName": "Reader Support Tickets", "roleType": "CustomRole", "type": "Microsoft.Authorization/roleDefinitions" }A nova função personalizada agora está disponível e pode ser atribuída a usuários, grupos ou entidades de serviço, assim como funções integradas.
Listar funções personalizadas
Para listar todas as suas funções personalizadas, use o comando az role definition list com o
--custom-role-onlyparâmetro.az role definition list --custom-role-only true[ { "additionalProperties": {}, "assignableScopes": [ "/subscriptions/00000000-0000-0000-0000-000000000000" ], "description": "View everything in the subscription and also open support tickets.", "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/22222222-2222-2222-2222-222222222222", "name": "22222222-2222-2222-2222-222222222222", "permissions": [ { "actions": [ "*/read", "Microsoft.Support/*", "Microsoft.Resources/deployments/*", "Microsoft.Insights/diagnosticSettings/*/read" ], "additionalProperties": {}, "dataActions": [], "notActions": [], "notDataActions": [] } ], "roleName": "Reader Support Tickets", "roleType": "CustomRole", "type": "Microsoft.Authorization/roleDefinitions" } ]Você também pode ver a função personalizada no portal do Azure.
Atualizar uma função personalizada
Para atualizar a função personalizada, atualize o arquivo JSON e atualize a função personalizada.
Abra o arquivo ReaderSupportRole.json.
In
Actions, adicione a ação para criar e gerenciar implantações de grupos de recursos"Microsoft.Resources/deployments/*". Certifique-se de incluir uma vírgula após a ação anterior.O arquivo JSON atualizado deve ser semelhante ao seguinte:
{ "Name": "Reader Support Tickets", "IsCustom": true, "Description": "View everything in the subscription and also open support tickets.", "Actions": [ "*/read", "Microsoft.Support/*", "Microsoft.Resources/deployments/*" ], "NotActions": [], "DataActions": [], "NotDataActions": [], "AssignableScopes": [ "/subscriptions/00000000-0000-0000-0000-000000000000" ] }Para atualizar a função personalizada, use o comando az role definition update e especifique o arquivo JSON atualizado.
az role definition update --role-definition "~/CustomRoles/ReaderSupportRole.json"{ "additionalProperties": {}, "assignableScopes": [ "/subscriptions/00000000-0000-0000-0000-000000000000" ], "description": "View everything in the subscription and also open support tickets.", "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/22222222-2222-2222-2222-222222222222", "name": "22222222-2222-2222-2222-222222222222", "permissions": [ { "actions": [ "*/read", "Microsoft.Support/*", "Microsoft.Resources/deployments/*" ], "additionalProperties": {}, "dataActions": [], "notActions": [], "notDataActions": [] } ], "roleName": "Reader Support Tickets", "roleType": "CustomRole", "type": "Microsoft.Authorization/roleDefinitions" }
Excluir uma função personalizada
Use o comando az role definition delete e especifique o nome da função ou a ID da função para excluir a função personalizada.
az role definition delete --name "Reader Support Tickets"