Criteri di Azure effetto di negazione delle definizioni
L'effetto deny
viene usato per impedire una richiesta di risorsa che non corrisponde agli standard definiti tramite una definizione di criteri e non riesce la richiesta.
Valutazione di Deny
Quando si crea o si aggiorna una risorsa corrispondente in modalità Resource Manager, nega impedisce l'invio della richiesta al provider di risorse. La richiesta viene restituita come 403 (Forbidden)
. Nel portale, può Forbidden
essere visualizzato come stato di distribuzione impedito dall'assegnazione dei criteri. Per una modalità provider di risorse, il provider di risorse gestisce la valutazione della risorsa.
Durante la valutazione delle risorse esistenti, le risorse che corrispondono a una deny
definizione di criteri vengono contrassegnate come non conformi.
Proprietà di Deny
Per una modalità Resource Manager, l'effetto deny
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 deny
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 o token di firma di accesso condiviso in
url
o altri elementi che potrebbero esporre un segreto.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
(facoltativo)- 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
okinds
. - 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, ad eccezione di quelli definiti in
excludedNamespaces
.
excludedNamespaces
(obbligatorio)- Matrice di spazi dei nomi Kubernetes da escludere dalla valutazione dei criteri.
labelSelector
(obbligatorio)- Oggetto che include
matchLabels
proprietà (oggetto) ematchExpression
(matrice) per consentire di specificare le risorse Kubernetes da includere per la valutazione dei criteri corrispondenti alle etichette e ai selettori forniti. - 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
.
- Oggetto che include
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 nel modello Constraint CRD.
Esempio di Deny
Esempio 1: Uso dell'effetto per le deny
modalità di Resource Manager.
"then": {
"effect": "deny"
}
Esempio 2: Uso dell'effetto deny
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": "deny",
"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.