Compartilhar via


Efeito de auditoria de definições do Azure Policy

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 de auditoria

A auditoria é o último efeito verificado pelo Azure Policy durante a criação ou atualização de um recurso. Para um modo do Resource Manager, o Azure Policy envia o recurso para o Provedor de Recursos. Ao avaliar uma solicitação de criação ou atualização para um recurso, o Azure Policy 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, somente o status de conformidade no recurso é atualizado.

Propriedades de auditoria

Para um modo do Resource Manager, o efeito de auditoria não tem outras propriedades para uso na then condição da definição de política.

Para um modo de Provedor de Recursos, Microsoft.Kubernetes.Datao efeito de auditoria tem as seguintes subpropriedades de details. O uso é 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 origem para o modelo de restrição. Valores permitidos: PublicURL ou Base64Encoded.

      • Se PublicURL, emparelhado com a propriedade url para fornecer o local do modelo de restrição. A localização deve ser acessível publicamente.

        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 propriedade content para fornecer o modelo de restrição codificado em base 64. Consulte Criar definição de política a partir do modelo de restrição para criar uma definição personalizada de um modelo de restrição do Gatekeeper V3 (Open Policy Agent) existente.

  • constraint (preterido)

    • Não pode ser usado com templateInfo.
    • A implementação de CRD do modelo de restrição. Usa parâmetros passados como values{{ .Values.<valuename> }}. No exemplo 2 abaixo, esses valores são {{ .Values.excludedNamespaces }} e {{ .Values.allowedContainerImagesRegex }}.
  • constraintTemplate (preterido)

    • Não pode ser usado com templateInfo.
    • Deve ser substituído 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 por meio values do Azure Policy. Para obter mais informações, vá para restrições do Gatekeeper.
  • constraintInfo (opcional)

    • Não pode ser usado com constraint, , constraintTemplate, apiGroups, kinds, scope, namespaces, , excludedNamespacesou labelSelector.
    • Se constraintInfo não for fornecido, a restrição poderá ser gerada com templateInfo base na política.
    • sourceType (obrigatório)
      • Define o tipo de fonte para o modelo de restrição. Valores permitidos: PublicURL ou Base64Encoded.

      • Se PublicURL, emparelhado com a propriedade url para fornecer o local 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.

  • namespaces (opcional)

    • Uma matriz de namespaces do Kubernetes para o qual limitar a avaliação da política.
    • 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)

  • labelSelector (opcional)

    • Um objeto que inclui as propriedades matchLabels (object) e matchExpression (matriz) para permitir a especificação de quais recursos do Kubernetes incluir para avaliação de política que correspondeu 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 de escopo para permitir a especificação se os recursos com escopo de cluster ou com escopo de namepaced são correspondidos.
  • apiGroups (necessário ao usar templateInfo)

  • kinds (necessá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 todos os 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 CRD do modelo de restrição.

Exemplo de auditoria

Exemplo 1: usando o efeito de auditoria para modos do Resource Manager.

"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ções de PublicURL uso e conjuntos url para o local 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