Entender os recursos da atribuição de configuração de computador
Quando uma Azure Policy é atribuída, se estiver na categoria Guest Configuration
, haverá metadados incluídos para descrever uma atribuição de convidado.
Um passo a passo em vídeo sobre este documento está disponível.
Você pode considerar a atribuição de convidado como um vínculo entre um computador e um cenário do Azure Policy. Por exemplo, o snippet de código abaixo associa a configuração de Linha de Base do Windows do Azure com a versão mínima 1.0.0
a qualquer computador no escopo da política.
"metadata": {
"category": "Guest Configuration",
"guestConfiguration": {
"name": "AzureWindowsBaseline",
"version": "1.*"
}
//additional metadata properties exist
}
Como o Azure Policy usa atribuições de configuração de computador
O serviço de configuração de máquina usa as informações dos metadados para criar automaticamente um recurso de auditoria para definições com AuditIfNotExists
ou DeployIfNotExists
efeitos de política. O tipo de recurso é Microsoft.GuestConfiguration/guestConfigurationAssignments
. O Azure Policy usa a propriedade complianceStatus do recurso de atribuição de convidado para relatar o status de conformidade. Para obter mais informações, confira Obtendo dados de conformidade.
Exclusão de atribuições de convidado do Azure Policy
Quando uma atribuição da Azure Policy for excluída, se a política criar uma atribuição de configuração de máquina, a atribuição de configuração de máquina também será excluída.
Quando uma atribuição do Azure Policy é excluída, você precisa excluir manualmente todas as atribuições de configuração de máquina criada pela política. Você pode fazer isso navegando até a página de atribuições de convidados no portal do Azure e excluindo a atribuição lá.
Criar atribuições de configuração de computador manualmente
Você pode criar recursos de atribuição de convidados no Azure Resource Manager usando a Azure Policy ou qualquer SDK do cliente.
Um exemplo de modelo de implantação:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"apiVersion": "2021-01-25",
"type": "Microsoft.Compute/virtualMachines/providers/guestConfigurationAssignments",
"name": "myMachine/Microsoft.GuestConfiguration/myConfig",
"location": "westus2",
"properties": {
"guestConfiguration": {
"name": "myConfig",
"contentUri": "https://mystorageaccount.blob.core.windows.net/mystoragecontainer/myConfig.zip?sv=SASTOKEN",
"contentHash": "SHA256HASH",
"version": "1.0.0",
"assignmentType": "ApplyAndMonitor",
"configurationParameter": {}
}
}
}
]
}
A tabela a seguir descreve cada propriedade de recursos de atribuição de convidado.
Propriedade | Descrição |
---|---|
name | Nome da configuração dentro do arquivo MOF do pacote de conteúdo. |
contentUri | Caminho do URI HTTPS para o pacote de conteúdos (.zip ). |
contentHash | Um valor do hash SHA256 do pacote de conteúdos, usado para verificar se ele não foi alterado. |
version | Versão do pacote de conteúdo. Usado somente em pacotes internos e não usado em pacotes de conteúdo personalizados. |
assignmentType | Comportamento da atribuição. Valores permitidos: Audit , ApplyandMonitor e ApplyandAutoCorrect . |
configurationParameter | Lista de tipo de recurso de DSC, nome e valor no arquivo MOF do pacote de conteúdo a ser substituído depois de ser baixado no computador. |
Exclusão de atribuições de configuração de computador criadas manualmente
Você deve excluir manualmente as atribuições de configuração de máquina criadas por meio de qualquer abordagem manual (como a implantação de um modelo do Azure Resource Manager). A exclusão do recurso pai (máquina virtual ou computador habilitado para Arc) também exclui a atribuição de configuração de máquina.
Para excluir manualmente uma atribuição de configuração de computador, use o exemplo a seguir. Certifique-se de substituir todas as cadeias de caracteres de exemplo, indicadas por <>
colchetes.
# First get details about the machine configuration assignment
$resourceDetails = @{
ResourceGroupName = '<resource-group-name>'
ResourceType = 'Microsoft.Compute/virtualMachines/providers/guestConfigurationAssignments/'
ResourceName = '<vm-name>/Microsoft.GuestConfiguration'
ApiVersion = '2020-06-25'
}
$guestAssignment = Get-AzResource @resourceDetails
# Review details of the machine configuration assignment
$guestAssignment
# After reviewing properties of $guestAssignment to confirm
$guestAssignment | Remove-AzResource
Próximas etapas
- Desenvolver um pacote de configuração de computador personalizado.
- Use o módulo GuestConfiguration para criar uma definição do Azure Policy para o gerenciamento em escala do seu ambiente.
- Atribua sua definição de política personalizada usando o portal do Azure.
- Saiba como ver os detalhes de conformidade para atribuições da política de configuração de computador.