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.Datamó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 vagy Base64Encoded.

      • Ha PublicURL, a tulajdonsággal url 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ággal content 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.

  • constraint (nem kötelező)
    • Nem használható a templateInfo.
    • A kényszersablon CRD-implementációja. A mintaként {{ .Values.<valuename> }}átadott values paramétereket használja. Az alábbi 2. példában ezek az értékek a következők {{ .Values.excludedNamespaces }} : és {{ .Values.allowedContainerImagesRegex }}.
  • 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.
  • constraintInfo (nem kötelező)
    • Nem használható constrainta , constraintTemplate, apiGroupsvagy kinds.
    • Ha constraintInfo nincs megadva, a korlátozás létrehozható a szabályzatból és a szabályzatból templateInfo .
    • sourceType (kötelező)
      • Meghatározza a korlátozás forrástípusát. Engedélyezett értékek: PublicURL vagy Base64Encoded.

      • Ha PublicURL, párosítva a tulajdonsággal url 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.

  • namespaces (nem kötelező)
    • Kubernetes-névterek tömbjea 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 excludedNamespacesdefiniá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 rendelkezik matchLabels 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 excludedNamespacesnévtereket.
  • 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.
  • 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ípusokdefiniá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.Datahaszná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