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
oBase64Encoded
.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.
- Non può essere usato con
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 }}
.
- Non può essere usato con
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.
- Non può essere usato con
constraintInfo
(facoltativo)- Non è possibile usare con
constraint
,constraintTemplate
,apiGroups
,kinds
,scope
namespaces
,excludedNamespaces
, olabelSelector
. - Se
constraintInfo
non viene specificato, il vincolo può essere generato da e daitemplateInfo
criteri. sourceType
(obbligatorio)Definisce il tipo di origine per il vincolo. Valori consentiti:
PublicURL
oBase64Encoded
.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.
- Non è possibile usare con
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.
- Matrice che include i gruppi di API da trovare. Una matrice vuota (
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.
- Definisce tutti i parametri e i valori da passare a Constraint. Ogni valore deve esistere e corrispondere a una proprietà nella sezione di convalida
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
- Vedere gli esempi in Esempi di Criteri di Azure.
- Vedere la struttura delle definizioni di Criteri di Azure.
- Vedere come creare criteri a livello di codice.
- Leggere le informazioni su come ottenere dati sulla conformità.
- Informazioni su come correggere le risorse non conformi.
- Esaminare i gruppi di gestione di Azure.