Condividi tramite


effetto di controllo delle definizioni Criteri di Azure

L'effetto audit viene usato per creare un evento di avviso nel log attività durante la valutazione di una risorsa non conforme, ma non arresta la richiesta.

Valutazione di Audit

Audit è l'ultimo effetto controllato da Criteri di Azure durante la creazione o l'aggiornamento di una risorsa. Per una modalità Resource Manager, Criteri di Azure quindi invia la risorsa al provider di risorse. Quando si valuta una richiesta di creazione o aggiornamento per una risorsa, Criteri di Azure aggiunge un'operazione Microsoft.Authorization/policies/audit/action al log attività e contrassegna la risorsa come non conforme. Durante un ciclo di valutazione della conformità standard, viene aggiornato solo lo stato di conformità della risorsa.

Proprietà di Audit

Per una modalità Resource Manager, l'effetto di controllo non ha altre proprietà da usare nella then condizione della definizione dei criteri.

Per una modalità provider di risorse di Microsoft.Kubernetes.Data, l'effetto di controllo ha le proprietà secondarie seguenti di details. L'uso di è necessario per le definizioni di templateInfo criteri nuovi o aggiornati come constraintTemplate deprecato.

  • templateInfo (obbligatorio)

    • Non può essere usato con constraintTemplate.
    • sourceType (obbligatorio)
      • Definisce il tipo di origine per il modello di vincolo. Valori consentiti: PublicURL o Base64Encoded.

      • Se PublicURL, associato alla proprietà url per fornire la posizione del modello di vincolo. La posizione deve essere accessibile pubblicamente.

        Avviso

        Non usare URI di firma di accesso condiviso, token URL o altri elementi che potrebbero esporre segreti in testo normale.

      • Se Base64Encoded, associato alla proprietà content per fornire il modello di vincolo con codifica base 64. Vedere Creare una definizione di criteri dal modello di vincolo per creare una definizione personalizzata da un modello di vincolo OPA (Open Policy Agent) Gatekeeper v3 esistente.

  • constraint (deprecato)

    • Non può essere usato con templateInfo.
    • L'implementazione CRD del modello Constraint. Usa i parametri passati tramite values come {{ .Values.<valuename> }}. Nell'esempio 2 seguente, questi valori sono {{ .Values.excludedNamespaces }} e {{ .Values.allowedContainerImagesRegex }}.
  • constraintTemplate (deprecato)

    • Non può essere usato con templateInfo.
    • Deve essere sostituito con templateInfo durante la creazione o l'aggiornamento di una definizione di criteri.
    • Il modello Constraint CustomResourceDefinition (CRD) che definisce nuovi vincoli. Il modello definisce la logica Rego, lo schema Constraint e i parametri Constraint passati da values Criteri di Azure. Per altre informazioni, vedere Vincoli gatekeeper.
  • constraintInfo (facoltativo)

    • Non è possibile usare con constraint, constraintTemplate, apiGroups, kinds, scopenamespaces, excludedNamespaces, o labelSelector.
    • Se constraintInfo non viene specificato, il vincolo può essere generato da e dai templateInfo criteri.
    • sourceType (obbligatorio)
      • Definisce il tipo di origine per il vincolo. Valori consentiti: PublicURL o Base64Encoded.

      • Se PublicURL, associato alla proprietà url per fornire la posizione del vincolo. La posizione deve essere accessibile pubblicamente.

        Avviso

        Non usare URI o token di firma di accesso condiviso in url o altri elementi che potrebbero esporre un segreto.

  • namespaces (facoltativo)

    • Matrice di spazi dei nomi Kubernetes a cui limitare la valutazione dei criteri.
    • Un valore vuoto o mancante fa sì che la valutazione dei criteri includa tutti gli spazi dei nomi non definiti in excludedNamespaces.
  • excludedNamespaces (facoltativo)

    • Matrice di spazi dei nomi Kubernetes da escludere dalla valutazione dei criteri.
  • labelSelector (facoltativo)

    • Oggetto che include le proprietà matchLabels (oggetto) e matchExpression (matrice) per consentire di specificare quali risorse Kubernetes includere per la valutazione dei criteri corrispondenti alle etichette e ai selettori specificati.
    • Un valore vuoto o mancante fa sì che la valutazione dei criteri includa tutte le etichette e i selettori, ad eccezione degli spazi dei nomi definiti in excludedNamespaces.
  • scope (facoltativo)

    • Stringa che include la proprietà scope per consentire di specificare se le risorse con ambito cluster o con ambito spazio dei nomi corrispondono.
  • apiGroups (obbligatorio quando si usa templateInfo)

    • Matrice che include i gruppi di API da trovare. Una matrice vuota ([""]) è il gruppo di API di base.
    • La definizione ["*"] di apiGroups non è consentita.
  • kinds (obbligatorio quando si usa templateInfo)

    • Matrice che include il tipo di oggetto Kubernetes a cui limitare la valutazione.
    • La definizione ["*"] di tipi non è consentita.
  • values (facoltativo)

    • Definisce tutti i parametri e i valori da passare a Constraint. Ogni valore deve esistere e corrispondere a una proprietà nella sezione di convalida openAPIV3Schema del modello vincolo CRD.

Esempio di Audit

Esempio 1: Uso dell'effetto di controllo per le modalità di Resource Manager.

"then": {
  "effect": "audit"
}

Esempio 2: Uso dell'effetto di controllo per una modalità provider di risorse di Microsoft.Kubernetes.Data. Le informazioni aggiuntive contenute in details.templateInfo dichiarano l'uso di PublicURL e imposta url nella posizione del modello Constraint da usare in Kubernetes per limitare le immagini del contenitore consentite.

"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"
    ]
  }
}

Passaggi successivi