Efeito de auditoria das definições da Política do Azure
O audit
efeito é usado para criar um evento de aviso no log de atividades ao avaliar um recurso não compatível, mas não interrompe a solicitação.
Avaliação da auditoria
A auditoria é o último efeito verificado pela Política do Azure durante a criação ou atualização de um recurso. Para um modo do Gerenciador de Recursos, a Política do Azure envia o recurso para o Provedor de Recursos. Ao avaliar uma solicitação de criação ou atualização para um recurso, a Política do Azure adiciona uma Microsoft.Authorization/policies/audit/action
operação ao log de atividades e marca o recurso como não compatível. Durante um ciclo de avaliação de conformidade padrão, apenas o status de conformidade no recurso é atualizado.
Propriedades de auditoria
Para um modo Gerenciador de Recursos, o efeito de auditoria não tem outras propriedades para uso na then
condição da definição de política.
Para um modo Provedor de Recursos do , o efeito de Microsoft.Kubernetes.Data
auditoria tem as seguintes subpropriedades de details
. O uso de é necessário para definições de templateInfo
política novas ou atualizadas, conforme constraintTemplate
preterido.
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. O local deve ser acessível ao público.Aviso
Não use URIs 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 base 64. Consulte Criar definição de política a partir do modelo de restrição para criar uma definição personalizada a partir de um modelo de restrição Gatekeeper v3 do Open Policy Agent (OPA) existente.
- Não pode ser usado com
constraint
(preterido)- Não pode ser usado com
templateInfo
. - A implementação CRD do modelo Constraint. Usa parâmetros passados como
values
{{ .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
templateInfo
ao criar ou atualizar uma definição de política. - O modelo de restrição CustomResourceDefinition (CRD) 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 da
values
Política do Azure. Para obter mais informações, vá para Restrições do Gatekeeper.
- Não pode ser usado com
constraintInfo
(opcional)- Não pode ser usado com
constraint
, , ,apiGroups
,kinds
excludedNamespaces
scope
namespaces
ou .labelSelector
constraintTemplate
- Se
constraintInfo
não for fornecida, a restrição pode ser gerada a partir detemplateInfo
e política. sourceType
(obrigatório)Define o tipo de fonte para a restrição. Valores permitidos:
PublicURL
ouBase64Encoded
.Se
PublicURL
, emparelhado com a propriedadeurl
para fornecer a localização da restrição. O local deve ser acessível ao público.Aviso
Não use URIs ou tokens SAS ou
url
qualquer outra coisa que possa expor um segredo.
- Não pode ser usado com
namespaces
(opcional)- Uma matriz de namespaces do Kubernetes para limitar a avaliação de políticas.
- Um valor vazio ou ausente faz com que a avaliação da política inclua todos os namespaces não definidos em excludedNamespaces.
excludedNamespaces
(opcional)- Uma matriz de namespaces do Kubernetes a serem excluídos da avaliação de políticas.
labelSelector
(opcional)- Um objeto que inclui as propriedades matchLabels (objeto) e matchExpression (matriz) para permitir especificar quais recursos do Kubernetes devem ser incluídos para avaliação de políticas que correspondam aos rótulos e seletores fornecidos.
- Um valor vazio ou ausente faz com que a avaliação da política inclua todos os rótulos e seletores, exceto namespaces definidos em excludedNamespaces.
scope
(opcional)- Uma cadeia de caracteres que inclui a propriedade scope para permitir especificar se os recursos com escopo de cluster ou namespaced são correspondentes.
apiGroups
(obrigatório ao usar templateInfo)- Uma matriz que inclui os grupos de API correspondentes . Uma matriz vazia (
[""]
) é o grupo principal da API. - A definição
["*"]
de apiGroups não é permitida.
- Uma matriz que inclui os grupos de API correspondentes . Uma matriz vazia (
kinds
(obrigatório ao usar templateInfo)- Uma matriz que inclui o tipo de objeto Kubernetes ao qual limitar a avaliação.
- A definição
["*"]
de tipos não é permitida.
values
(opcional)- Define quaisquer parâmetros e valores a serem passados para a Restrição. Cada valor deve existir e corresponder a uma propriedade na seção de validação
openAPIV3Schema
do modelo de restrição CRD.
- Define quaisquer parâmetros e valores a serem passados para a Restrição. Cada valor deve existir e corresponder a uma propriedade na seção de validação
Exemplo de auditoria
Exemplo 1: Usando o efeito de auditoria para os modos do Gerenciador de Recursos.
"then": {
"effect": "audit"
}
Exemplo 2: Usando o efeito de auditoria para um modo de Provedor de Recursos de Microsoft.Kubernetes.Data
. As informações adicionais em details.templateInfo
declara o uso e PublicURL
define url
o local do modelo 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óximos passos
- Analise exemplos em Exemplos de Política do Azure.
- Reveja 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 não compatíveis.
- Revise os grupos de gerenciamento do Azure.