Finalidade
Criação de grupos customizados para delegação de acessos específicos no Azure
Requisitos
- Instalação do novo modulo Install the Azure PowerShell Az module
- Logar com sua Conta no Azure, via Powershell: Connect-AzAccount
Passos para criação
- Listar Assinaturas com o comando Get-AzSubscription
- Se já sabe qual é a Subscription que irá trabalhar, executar o comando com o nome da Subscription
Get-AzSubscription -SubscriptionName “Nome Assinatura”
- Selecionar assinatura em qual Subscription irá trabalhar no PowerShell, obtendo os metadados usados para autenticar as solicitações do Azure Resource Manageraonde deseja criar o grupo.
Set-AzContext -SubscriptionId “xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”
- Criar um arquivo no formato exemplo abaixo:
{“Name”: “Nome do Grupo”,“IsCustom”: true,“Id”: “id do grupo xxxxxxxxxxxxxxxxxxx”“Description”: “Descrição do Grupo.”,“Actions”: [“Microsoft.Storage/*”,“Microsoft.Network/*”,“Microsoft.Compute/*”,“Microsoft.Authorization/*/read”,“Microsoft.Resources/subscriptions/resourceGroups/read”,“Microsoft.Resources/deployments/validate/action”,“Microsoft.Resources/deployments/operations/read”,“Microsoft.Resources/deployments/delete”,“Microsoft.Resources/deployments/write”,“Microsoft.Resources/providers/read”,“Microsoft.Resources/resources/read”,“Microsoft.Insights/alertRules/*”,“Microsoft.Insights/diagnosticSettings/*”,“Microsoft.Support/*”,“Microsoft.LogAnalytics/*/read”,“Microsoft.DBforMySQL/*”,“Microsoft.RecoveryServices/*”,“Microsoft.Insights/*/read”],“NotActions”: [],“DataActions”: [],“NotDataActions”: [],“AssignableScopes”: [“/subscriptions/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”]} |
- Uma vez criado o JSON, salvo em determinada pasta, contendo as respectivas permissões basta executar o comando para criar o grupo na sua Subscription:
New-AzureRmRoleDefinition -InputFile “C:\_Azure\customrole.json”
- Se for criar novo Grupo, a chave IsCustom deve ter valor True e não precisa do Id, porém se for atualizar um grupo existente a chave IsCustom se mantém com True precisando pegar o ID do Grupo para adicionar à chave Id no arquivo JSON.
- Para pegar o ID do Grupo execute o comando:
Get-AzRoleDefinition “Nome do Grupo”
- Exemplo de saída do comando:
Name : Nome do Grupo
Id : xxxxxxxxxx
IsCustom : True
Description : Descrição do grupo e suas ações.
Actions : {Microsoft.Storage/*, Microsoft.Network/*, Microsoft.Compute/*, Microsoft.Authorization/*/read…}
NotActions : {}
DataActions : {}
NotDataActions : {}
AssignableScopes : {/subscriptions/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}
- Editar o arquivo JSON com o ID que pegou no comando acima:
“Name”: “Nome do Grupo”,
“IsCustom”: true,
“Id”: “xxxxxxxxxxxxxxxxxxx”
- Depois de pegar o ID, editar o JSON, basta executar o seguinte comando para atualizar sua role customizado, comando:
Set-AzureRmRoleDefinition -InputFile “C:\_Azure\customrole.json”
Referência:
Lista de Resource Provider para pesquisar e delegar correta permissão
https://docs.microsoft.com/en-us/azure/role-based-access-control/resource-provider-operations
Tutorial oficial Docs – Custom Role Powershell
https://docs.microsoft.com/en-us/azure/role-based-access-control/tutorial-custom-role-powershell