Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El deny efecto se usa para evitar una solicitud de recurso que no coincide con los estándares definidos a través de una definición de directiva y produce un error en la solicitud.
Evaluación de denegación
Al crear o actualizar un recurso coincidente en un modo de Resource Manager, denegar impide la solicitud antes de enviarse al proveedor de recursos. La solicitud se devuelve como un código 403 (Forbidden). En el portal, Forbidden se puede ver como un estado de implementación que impedía la asignación de directiva. Para un modo de proveedor de recursos, el proveedor de recursos administra la evaluación del recurso.
Durante la evaluación de los recursos existentes, los recursos que coinciden con una deny definición de directiva se marcan como no compatibles.
Propiedades deny
Para un modo de Resource Manager, el deny efecto no tiene más propiedades para su uso en la then condición de la definición de directiva.
Para un modo de proveedor de recursos de Microsoft.Kubernetes.Data, el deny efecto tiene las siguientes subpropiedades de details. El uso de templateInfo es necesario para las definiciones de directiva nuevas o actualizadas, ya que constraintTemplate está en desuso.
-
templateInfo(obligatorio)- No se puede usar con
constraintTemplate. -
sourceType(obligatorio)Define el tipo de origen de la plantilla de restricciones. Valores permitidos:
PublicURLoBase64Encoded.Si
PublicURL, emparejado con la propiedadurlproporciona la ubicación de la plantilla de restricción. La ubicación debe ser públicamente accesible.Advertencia
No use el URI de SAS ni tokens en
urlni nada que pueda exponer un secreto.Si
Base64Encoded, emparejado con la propiedadcontentpara proporcionar la plantilla de restricción codificada en base 64. Consulte Creación de una definición de directiva a partir de una plantilla de restricción para crear una definición personalizada a partir de una plantilla de restricción existente de Open Policy Agent (OPA) Gatekeeper v3.
- No se puede usar con
-
constraint(opcional)- No se puede usar con
templateInfo. - La implementación de CRD de la plantilla de restricción. Usa parámetros pasados a través de
valuescomo{{ .Values.<valuename> }}. En el ejemplo 2 siguiente, estos valores son{{ .Values.excludedNamespaces }}y{{ .Values.allowedContainerImagesRegex }}.
- No se puede usar con
-
constraintTemplate(en desuso)- No se puede usar con
templateInfo. - Debe reemplazarse por
templateInfoal crear o actualizar una definición de directiva. - La plantilla de restricción CustomResourceDefinition (CRD) que define nuevas restricciones. La plantilla define la lógica de Rego, el esquema de restricción y los parámetros de restricción que se pasan a través de
valuesen Azure Policy. Para más información, vaya a Restricciones de Gatekeeper.
- No se puede usar con
-
constraintInfo(opcional)- No se puede usar con
constraint,constraintTemplate,apiGroupsokinds. - Si
constraintInfono se proporciona, la restricción se puede generar a partir detemplateInfoy la directiva. -
sourceType(obligatorio)Define el tipo de origen para la restricción. Valores permitidos:
PublicURLoBase64Encoded.Si
PublicURL, emparejado con la propiedadurlproporciona la ubicación de la restricción. La ubicación debe ser públicamente accesible.Advertencia
No use el URI de SAS ni tokens en
urlni nada que pueda exponer un secreto.
- No se puede usar con
-
namespaces(opcional)- Una matriz de espacios de nombres de Kubernetes a la que limitar la evaluación de directivas.
- Un valor vacío o que falta hace que la evaluación de directivas incluya todos los espacios de nombres, excepto los definidos en
excludedNamespaces.
-
excludedNamespaces(obligatorio)- Una matriz de espacios de nombres de Kubernetes que se excluirán de la evaluación de directivas.
-
labelSelector(obligatorio)-
Objeto que incluye
matchLabelspropiedades (object) ymatchExpression(array) para permitir especificar qué recursos de Kubernetes incluir para la evaluación de directivas que coinciden con las etiquetas y selectores proporcionados. - Un valor vacío o que falta hace que la evaluación de directivas incluya todas las etiquetas y selectores, excepto los espacios de nombres definidos en
excludedNamespaces.
-
Objeto que incluye
-
apiGroups(obligatorio al usar templateInfo)- Una matriz que incluye los grupos de API que deben coincidir. Una matriz vacía (
[""]) es el grupo de API principal. - No se permite definir
["*"]para apiGroups.
- Una matriz que incluye los grupos de API que deben coincidir. Una matriz vacía (
-
kinds(obligatorio al usar templateInfo)- Una matriz que incluye el tipo de objeto de Kubernetes al que se debe limitar la evaluación.
- No se permite definir
["*"]para tipos.
-
values(opcional)- Define cualquier parámetro y valor para pasar a la restricción. Cada valor debe existir en la CRD de plantilla de restricción.
Ejemplo de denegación
Ejemplo 1: Uso del efecto para los deny modos de Resource Manager.
"then": {
"effect": "deny"
}
Ejemplo 2: Uso del deny efecto para un modo de proveedor de recursos de Microsoft.Kubernetes.Data. La información adicional de details.templateInfo declara el uso de PublicURL y establece url en la ubicación de la plantilla Restricción que se va a usar en Kubernetes para limitar las imágenes de contenedor permitidas.
"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"
]
}
}
Pasos siguientes
- Puede consultar ejemplos en Ejemplos de Azure Policy.
- Revise la estructura de definición de Azure Policy.
- Obtenga información acerca de cómo se pueden crear directivas mediante programación.
- Obtenga información sobre cómo obtener datos de cumplimiento.
- Obtenga información sobre cómo corregir recursos no compatibles.
- Consulte Grupos de administración de Azure.