Az Azure Policy-definíciók megtagadási hatása
Az deny
effektussal megakadályozhatja, hogy a megadott szabványoknak nem megfelelő erőforrás-kérések szabályzatdefiníción keresztül meghiúsuljanak, és a kérés meghiúsuljon.
Elutasítás kiértékelése
Ha egyező erőforrást hoz létre vagy frissít Egy Resource Manager módban, a megtagadás megakadályozza a kérést, mielőtt elküldené az erőforrás-szolgáltatónak. A kérést a visszaadott fájl a következőként 403 (Forbidden)
adja vissza: . A portálon a Forbidden
házirend-hozzárendelés által megakadályozott üzembe helyezési állapot tekinthető meg. Erőforrás-szolgáltatói mód esetén az erőforrás-szolgáltató kezeli az erőforrás kiértékelését.
A meglévő erőforrások kiértékelése során a szabályzatdefiníciónak megfelelő deny
erőforrások nem megfelelőként vannak megjelölve.
Tulajdonságok megtagadása
Resource Manager-mód esetén az deny
effektus nem rendelkezik több tulajdonsággal a then
szabályzatdefiníció feltételében való használatra.
Erőforrás-szolgáltatói Microsoft.Kubernetes.Data
mód esetén az deny
effektus a következő altulajdonságokkal rendelkezik details
: . templateInfo
Az elavult új vagy frissített szabályzatdefiníciók constraintTemplate
használata kötelező.
templateInfo
(kötelező)- Nem használható a
constraintTemplate
. sourceType
(kötelező)Meghatározza a kényszersablon forrástípusát. Engedélyezett értékek:
PublicURL
vagyBase64Encoded
.Ha
PublicURL
, a tulajdonsággalurl
párosítva adja meg a kényszersablon helyét. A helynek nyilvánosan hozzáférhetőnek kell lennie.Figyelmeztetés
Ne használjon SAS URI-kat vagy jogkivonatokat
url
, és ne tegyen közzé titkos kulcsokat.Ha
Base64Encoded
, a tulajdonsággalcontent
párosítva adja meg a 64-es alapkódolt kényszersablont. Lásd: Szabályzatdefiníció létrehozása kényszersablonból egyéni definíció létrehozásához egy meglévő Open Policy Agent (OPA) Gatekeeper v3 kényszersablonból.
- Nem használható a
constraint
(nem kötelező)- Nem használható a
templateInfo
. - A kényszersablon CRD-implementációja. A mintaként
{{ .Values.<valuename> }}
átadottvalues
paramétereket használja. Az alábbi 2. példában ezek az értékek a következők{{ .Values.excludedNamespaces }}
: és{{ .Values.allowedContainerImagesRegex }}
.
- Nem használható a
constraintTemplate
(elavult)- Nem használható a
templateInfo
. - A szabályzatdefiníciók létrehozásakor vagy frissítésekor le kell cserélni
templateInfo
. - Az új kényszereket meghatározó CustomResourceDefinition (CRD) kényszersablon. A sablon meghatározza a Rego logikát, a Kényszer sémát és az Azure Policyból átadott
values
kényszerparamétereket. További információ: Gatekeeper-korlátozások.
- Nem használható a
constraintInfo
(nem kötelező)- Nem használható
constraint
a ,constraintTemplate
,apiGroups
vagykinds
. - Ha
constraintInfo
nincs megadva, a korlátozás létrehozható a szabályzatból és a szabályzatbóltemplateInfo
. sourceType
(kötelező)Meghatározza a korlátozás forrástípusát. Engedélyezett értékek:
PublicURL
vagyBase64Encoded
.Ha
PublicURL
, párosítva a tulajdonsággalurl
a kényszer helyének megadásához. A helynek nyilvánosan hozzáférhetőnek kell lennie.Figyelmeztetés
Ne használjon SAS URI-kat vagy jogkivonatokat
url
, és ne tegyen közzé titkos kulcsokat.
- Nem használható
namespaces
(nem kötelező)- Kubernetes-névterek tömbje a szabályzatok kiértékelésének korlátozásához.
- Egy üres vagy hiányzó érték miatt a szabályzat kiértékelése az összes névteret tartalmazza, kivéve a benne
excludedNamespaces
definiáltakat.
excludedNamespaces
(kötelező)- Kubernetes-névterek tömbje, amely kizárható a szabályzatértékelésből.
labelSelector
(kötelező)- Olyan objektum, amely (objektum) és
matchExpression
(tömb) tulajdonsággal rendelkezikmatchLabels
annak megadásához, hogy mely Kubernetes-erőforrások szerepeljenek a megadott címkéknek és választóknak megfelelő szabályzatkiértékeléshez. - Üres vagy hiányzó érték esetén a szabályzat kiértékelése az összes címkét és választót tartalmazza, kivéve a megadott
excludedNamespaces
névtereket.
- Olyan objektum, amely (objektum) és
apiGroups
(a templateInfo használatakor kötelező)- Az egyező API-csoportokat tartalmazó tömb. Egy üres tömb (
[""]
) az alapvető API-csoport. - Az apiGroups definiálása
["*"]
nem engedélyezett.
- Az egyező API-csoportokat tartalmazó tömb. Egy üres tömb (
kinds
(a templateInfo használatakor kötelező)- Olyan tömb , amely tartalmazza a Kubernetes-objektum típusát a kiértékelés korlátozásához.
- A típusok definiálása
["*"]
nem engedélyezett.
values
(nem kötelező)- Meghatározza a kényszernek átadni kívánt paramétereket és értékeket. Minden értéknek léteznie kell a CRD kényszersablonban.
Megtagadási példa
1. példa: A Resource Manager-módok effektusának használata deny
.
"then": {
"effect": "deny"
}
2. példa: Az erőforrás-szolgáltatói mód effektusának Microsoft.Kubernetes.Data
használatadeny
. A további információk a details.templateInfo
Kubernetesben használandó kényszersablon használatának PublicURL
deklarálásához és helyének beállításához url
az engedélyezett tárolólemezképek korlátozásához.
"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"
]
}
}
Következő lépések
- Tekintse át az Azure Policy-minták példáit.
- Tekintse meg az Azure szabályzatdefiníciók struktúrája szakaszt.
- Megtudhatja, hogyan hozhat létre programozott módon szabályzatokat.
- Megtudhatja, hogyan kérhet le megfelelőségi adatokat.
- Megtudhatja, hogyan orvosolhatja a nem megfelelő erőforrásokat.
- Tekintse át az Azure felügyeleti csoportjait.