Efeito audit para as definições do Azure Policy
O efeito audit
é usado para criar um evento de aviso no log de atividades ao avaliar um recurso fora de conformidade, mas ela não para a solicitação.
Avaliação de auditoria
Audit é o último efeito verificado pelo Azure Policy durante a criação ou a atualização de um recurso. Para um modo do Resource Manager, o Azure Policy envia o recurso ao provedor de recursos. Ao avaliar uma solicitação de criação ou atualização para um recurso, o Azure Policy adiciona uma operação Microsoft.Authorization/policies/audit/action
ao log de atividades e marca o recurso como fora de conformidade. Durante um ciclo de avaliação de conformidade padrão, somente o status de conformidade no recurso é atualizado.
Propriedades de auditoria
No modo Gerenciador de Recursos, o efeito audit não têm propriedades adicionais para uso na condição then
da definição de política.
No modo Provedor de Recursos do Microsoft.Kubernetes.Data
, o efeito audit tem as subpropriedades de details
. O uso de templateInfo
é obrigatório para definições de política novas ou atualizadas, pois constraintTemplate
é obrigatório.
templateInfo
(obrigatório)- Não pode ser usado com
constraintTemplate
. sourceType
(obrigatório)Define o tipo de fonte para o modelo de restrição. Valores permitidos:
PublicURL
ouBase64Encoded
.Se
PublicURL
, emparelhado com a propriedadeurl
para fornecer a localização do modelo de restrição. A localização deve ser acessível publicamente.Aviso
Não use os URIs de SAS, tokens de URL ou qualquer outra coisa que possa expor segredos em texto sem formatação.
Se
Base64Encoded
, emparelhado com a propriedadecontent
para fornecer o modelo de restrição codificado em base 64. Consulte Criar definição de política do modelo de restrição para criar uma definição personalizada de um modelo de restrição Gatekeeper v3 do OPA (Open Policy Agent) existente.
- Não pode ser usado com
constraint
(preterido)- Não pode ser usado com
templateInfo
. - A implementação de CRD do modelo de restrição. Usa parâmetros passados por meio de
values
como{{ .Values.<valuename> }}
. No exemplo 2 abaixo, esses valores são{{ .Values.excludedNamespaces }}
e{{ .Values.allowedContainerImagesRegex }}
.
- Não pode ser usado com
constraintTemplate
(preterido)- Não pode ser usado com
templateInfo
. - Deve ser substituído por ao
templateInfo
criar ou atualizar uma definição de política. - O modelo de restrição CRD (CustomResourceDefinition) que define novas restrições. O modelo define a lógica Rego, o esquema de restrição e os parâmetros de restrição que são passados por meio de
values
do Azure Policy. Para obter mais informações, acesse Restrições de gatekeeper.
- Não pode ser usado com
constraintInfo
(opcional)- Não pode ser usado com
constraint
,constraintTemplate
,apiGroups
,kinds
,scope
,namespaces
,excludedNamespaces
, oulabelSelector
. - Se
constraintInfo
não for fornecido, a restrição poderá ser gerada a partir detemplateInfo
e da política. sourceType
(obrigatório)Define o tipo de fonte para o modelo de restrição. Valores permitidos:
PublicURL
ouBase64Encoded
.Se
PublicURL
, emparelhado com a propriedadeurl
para fornecer a localização da restrição. A localização deve ser acessível publicamente.Aviso
Não use URIs de SAS ou tokens em
url
ou qualquer outra coisa que possa expor um segredo.
- Não pode ser usado com
namespaces
(opcional)- Uma matriz dos namespaces dos Kubernetes a serem limitados da avaliação de política.
- Um valor vazio ou ausente faz com que a avaliação de política inclua todos os namespaces não definidos em excludedNamespaces.
excludedNamespaces
(opcional)- Uma matriz dos namespaces dos Kubernetes a serem excluídos da avaliação de política.
labelSelector
(opcional)- Um objeto que inclui propriedades domatchLabels (objeto) e do matchExpression (matriz) para permitir quais recursos de Kubernetes devem ser incluídos na avaliação da política que está de acorco com as etiquetas e seletores informados.
- Um valor vazio ou ausente faz com que a avaliação de política inclua todas as etiquetas e os seletores, exceto aqueles definidos em excludedNamespaces.
scope
(opcional)- Uma cadeia de caracteres que inclui a propriedade de escopo para permitir a especificação se recursos com escopo de cluster ou com escopo de nomes forem correspondidos.
apiGroups
(obrigatório ao usar templateInfo)- Uma matriz que inclui os grupos da API correspondentes. Uma matriz vazia (
[""]
) é o grupo de API principal. - A definição
["*"]
de apiGroups não é permitida.
- Uma matriz que inclui os grupos da API correspondentes. Uma matriz vazia (
kinds
(obrigatório ao usar templateInfo)- Uma matriz que inclui o tipo de objeto de Kubernetes para limitar a avaliação.
- A definição
["*"]
de tipos não é permitida.
values
(opcional)- Define quaisquer parâmetros e valores a ser passados para a restrição. Cada valor deve existir e corresponder a uma propriedade na seção
openAPIV3Schema
de validação do CRD do modelo de restrição.
- Define quaisquer parâmetros e valores a ser passados para a restrição. Cada valor deve existir e corresponder a uma propriedade na seção
Exemplo de auditoria
Exemplo 1: uso do efeito audit nos modos do Resource Manager.
"then": {
"effect": "audit"
}
Exemplo 2: uso do efeito audit em um modo Microsoft.Kubernetes.Data
do provedor de recursos. As informações adicionais em details.templateInfo
declaram o uso de PublicURL
e definem url
para a localização do modelo de restrição a ser usado no Kubernetes para limitar as imagens de contêiner permitidas.
"then": {
"effect": "audit",
"details": {
"templateInfo": {
"sourceType": "PublicURL",
"url": "https://store.policy.core.windows.net/kubernetes/container-allowed-images/v1/template.yaml",
},
"values": {
"imageRegex": "[parameters('allowedContainerImagesRegex')]"
},
"apiGroups": [
""
],
"kinds": [
"Pod"
]
}
}
Próximas etapas
- Examine os exemplos em amostras do Azure Policy.
- Revise a estrutura de definição do Azure Policy.
- Entenda como criar políticas de forma programática.
- Saiba como obter dados de conformidade.
- Saiba como corrigir recursos fora de conformidade.
- Examine os grupos de gerenciamento do Azure.