Guia de início rápido: criar uma atribuição de política para identificar recursos não compatíveis usando a CLI do Azure
A primeira etapa para compreender a conformidade no Azure é identificar o status de seus recursos. Nesse início rápido, você cria uma atribuição de política para identificar recursos não compatíveis usando a CLI do Azure. A política é atribuída a um grupo de recursos e audita as máquinas virtuais que não usam discos gerenciados. Depois de criar a atribuição de política, você identifica máquinas virtuais não compatíveis.
A CLI do Azure é usada para criar e gerenciar recursos do Azure da linha de comando ou em scripts. Este guia usa a CLI do Azure para criar uma atribuição de política e para identificar recursos sem conformidade em seu ambiente do Azure.
Ao atribuir uma política interna ou uma definição de iniciativa, é opcional referenciar uma versão. As atribuições de política de definições internas são padrão para a última versão e herdam automaticamente as alterações de versão secundária, a menos que esteja especificado de outra forma.
Pré-requisitos
- Se você ainda não tiver uma conta do Azure, crie uma conta gratuita antes de começar.
- CLI do Azure.
- Visual Studio Code.
Microsoft.PolicyInsights
deve ser registrado em sua assinatura do Azure. Para registrar um provedor de recursos, você deve ter permissão para registrar provedores de recursos. Essa permissão está incluída nas funções Colaborador e Proprietário.- Um grupo de recursos com pelo menos uma máquina virtual que não usa discos gerenciados.
Conectar-se ao Azure
Em uma sessão de terminal do Visual Studio Code, conecte-se ao Azure. Se você tiver mais de uma assinatura, execute os comandos para definir o contexto para sua assinatura. Substitua <subscriptionID>
por sua ID da assinatura do Azure.
az login
# Run these commands if you have multiple subscriptions
az account list --output table
az account set --subscription <subscriptionID>
Registrar provedor de recursos
Quando um provedor de recursos é registrado, ele está disponível para uso em sua assinatura do Azure.
Para verificar se Microsoft.PolicyInsights
está registrado, execute Get-AzResourceProvider
. O provedor de recursos contém vários tipos de recursos. Se o resultado for NotRegistered
executado Register-AzResourceProvider
:
az provider show \
--namespace Microsoft.PolicyInsights \
--query "{Provider:namespace,State:registrationState}" \
--output table
az provider register --namespace Microsoft.PolicyInsights
Os comandos da CLI do Azure usam uma barra invertida (\
) para a continuação de linha para melhorar a legibilidade. Para obter mais informações, acesse az provider.
Criar atribuição de política
Use os comandos a seguir para criar uma nova atribuição de política para o grupo de recursos. Este exemplo usa um grupo de recursos existente que contém uma máquina virtual sem discos gerenciados. O grupo de recursos é o escopo da atribuição de política. Esse exemplo usa as VMs de auditoria de definição de política interna que não usam discos gerenciados.
Execute os seguintes comandos e substitua <resourceGroupName>
pelo nome do grupo de recursos:
rgid=$(az group show --resource-group <resourceGroupName> --query id --output tsv)
definition=$(az policy definition list \
--query "[?displayName=='Audit VMs that do not use managed disks']".name \
--output tsv)
A variável rgid
armazena a ID do grupo de recursos. A variável definition
armazena o nome da definição de política, que é um GUID.
Execute o seguinte comando para criar a atribuição de política:
az policy assignment create \
--name 'audit-vm-managed-disks' \
--display-name 'Audit VM managed disks' \
--scope $rgid \
--policy $definition \
--description 'Azure CLI policy assignment to resource group'
name
cria o nome da atribuição de política usado noResourceId
da atribuição.display-name
é o nome da atribuição de política e está visível no portal do Azure.scope
usa a propriedade$rgid
para atribuir a política ao grupo de recursos.policy
atribui a definição de política armazenada na variável$definition
.description
pode ser usado para adicionar contexto sobre a atribuição de política.
Os resultados da atribuição de política se assemelham ao seguinte exemplo:
"description": "Azure CLI policy assignment to resource group",
"displayName": "Audit VM managed disks",
"enforcementMode": "Default",
"id": "/subscriptions/{subscriptionID}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/policyAssignments/audit-vm-managed-disks",
"identity": null,
"location": null,
"metadata": {
"createdBy": "11111111-1111-1111-1111-111111111111",
"createdOn": "2024-02-23T18:42:27.4780803Z",
"updatedBy": null,
"updatedOn": null
},
"name": "audit-vm-managed-disks",
Se você quiser executar novamente as informações de atribuição de política, execute o seguinte comando:
az policy assignment show --name "audit-vm-managed-disks" --scope $rgid
Para obter mais informações, acesse az policy assignment.
Identificar recursos fora de conformidade
O estado de conformidade de uma nova atribuição de política leva alguns minutos para se tornar ativo e fornecer resultados sobre o estado da política.
Use o seguinte comando para identificar recursos que não estão em conformidade com a atribuição de política que você criou:
policyid=$(az policy assignment show \
--name "audit-vm-managed-disks" \
--scope $rgid \
--query id \
--output tsv)
az policy state list --resource $policyid --filter "(isCompliant eq false)"
A variável policyid
usa uma expressão para obter a ID de atribuição de política. O parâmetro filter
limita a saída a recursos não compatíveis.
A saída az policy state list
é detalhada, mas nesse artigo o complianceState
mostra NonCompliant
.
"complianceState": "NonCompliant",
"components": null,
"effectiveParameters": "",
"isCompliant": false,
Para obter mais informações, acesse az policy state.
Limpar os recursos
Para remover a atribuição de política, execute o seguinte comando:
az policy assignment delete --name "audit-vm-managed-disks" --scope $rgid
Para sair da sessão da CLI do Azure:
az logout
Próximas etapas
Neste guia de início rápido, você atribuiu uma definição de política para identificar recursos sem conformidade em seu ambiente do Azure.
Para saber mais sobre como atribuir políticas que validam a conformidade dos recursos, prossiga para o tutorial.