Compartir a través de


Uso de medidas de seguridad de implementación para aplicar procedimientos recomendados en Azure Kubernetes Service (AKS)

En este artículo se muestra cómo usar medidas de seguridad de implementación para aplicar procedimientos recomendados en un clúster de Azure Kubernetes Service (AKS).

Información general

Nota:

Las medidas de seguridad de implementación están activadas de forma predeterminada en AKS Automatic.

A lo largo del ciclo de vida de desarrollo, es habitual que surjan errores, problemas y otros problemas si la implementación inicial de los recursos de Kubernetes incluye configuraciones incorrectas. Para facilitar la carga del desarrollo de Kubernetes, Azure Kubernetes Service (AKS) ofrece medidas de seguridad de implementación. Las medidas de seguridad de implementación aplican los procedimientos recomendados de Kubernetes en el clúster de AKS mediante controles de Azure Policy.

Las medidas de seguridad de implementación ofrecen dos niveles de configuración:

  • Warn: muestra mensajes de advertencia en el terminal de código para avisarle de las configuraciones de clúster no compatibles, pero aún permite que la solicitud pase.
  • Enforce: aplica configuraciones compatibles al denegar y mutar implementaciones si no siguen los procedimientos recomendados.

Después de configurar las salvaguardas de implementación para "Advertir" o "Aplicar", las salvaguardas de implementación evalúan programáticamente los recursos de Kubernetes en el momento de la creación o actualización para el cumplimiento. Las medidas de seguridad de implementación también muestran información de cumplimiento agregada en las cargas de trabajo en cada nivel de recurso a través del panel de cumplimiento de Azure Policy en Azure Portal o en la CLI o terminal. La ejecución de una carga de trabajo no conforme indica que el clúster no sigue los procedimientos recomendados y que las cargas de trabajo del clúster corren el riesgo de experimentar problemas causados por la configuración del clúster.

Requisitos previos

Nota:

Los administradores de clústeres no necesitan permisos de Azure Policy para habilitar o deshabilitar las medidas de seguridad de implementación. Sin embargo, es necesario tener instalado el complemento de Azure Policy.

  • Debe habilitar el complemento de Azure Policy para AKS. Para más información, consulte Habilitar Azure Policy en el clúster de AKS. Esto incluye el registro del Microsoft.PolicyInsights proveedor de recursos en tu suscripción.

Directivas de medidas de seguridad de implementación

En la tabla siguiente se enumeran las directivas que se activan y los recursos de Kubernetes que tienen como destino al habilitar medidas de seguridad de implementación. Puede ver las medidas de seguridad de implementación disponibles actualmente en Azure Portal como definición de Azure Policy o en definiciones integradas de Azure Policy para Azure Kubernetes Service. La intención de esta colección es crear una lista común y genérica de procedimientos recomendados aplicables a la mayoría de usuarios y casos de uso.

Directiva de medida de seguridad para implementación Resultado de la mutación si está disponible
No se pueden editar nodos individuales N/D
Las solicitudes de recursos de CPU y memoria para los contenedores del clúster de Kubernetes deben definirse. Establece las solicitudes predeterminadas de CPU y memoria y aplica los mínimos. Para más información, consulte Mutador de solicitudes de recursos.
Debe tener reglas de anti afinidad o topologySpreadConstraintsSet Agrega reglas de antiafinidad de pod y restricciones de distribución de topología para optimizar la distribución de las cargas de trabajo. Para obtener más información, consulte Mutador de antiafinidad y distribución de topología.
Sin etiquetas específicas de AKS N/D
Asegurarse de que solo se admiten las imágenes de contenedor permitidas en el clúster de Kubernetes N/D
Taints del pool de sistema reservado Elimina la marca CriticalAddonsOnly de un grupo de nodos de usuario si no está establecida. AKS usa la marca CriticalAddonsOnly para mantener los grupos de clientes alejados del grupo del sistema. Esta configuración garantiza una separación clara entre los componentes de AKS y los pods de cliente e impide el desalojo de los pods de cliente que no toleren la marca CriticalAddonsOnly.
Asegúrese de que los contenedores de clúster tienen configurados sondeos de comprobación o ejecución N/D
Los clústeres de Kubernetes deben usar el controlador StorageClass de Container Storage Interface (CSI) N/D
Los servicios de clúster de Kubernetes deben usar selectores únicos N/D
Las imágenes de contenedor del clúster de Kubernetes no deben incluir la etiqueta de imagen más reciente N/D

Si desea enviar una idea o solicitud de medidas de seguridad de implementación, abra un problema en el repositorio de GitHub de AKS y agregue [Deployment Safeguards request] al principio del título.

Modificador de solicitudes de recursos

Cuando las medidas de seguridad de implementación se establecen en el Enforce nivel , el mutador de solicitudes de recursos establece automáticamente las solicitudes de CPU y memoria y los límites de los contenedores que no los tienen definidos o tienen valores por debajo de los umbrales mínimos.

Valores predeterminados

Cuando no se especifica ningún recurso, el mutador establece los siguientes valores predeterminados:

Resource Solicitud Limit
Unidad Central de Procesamiento (CPU) 500 m 500 m
Memoria 2048Mi (2Gi) 2048Mi (2Gi)

Aplicación mínima

Cuando se especifican recursos, pero están por debajo de los umbrales, el mutador aplica los siguientes valores mínimos:

Resource Valor mínimo
Unidad Central de Procesamiento (CPU) 100 m
Memoria 100Mi

Descripción de las unidades de recursos

Unidades de CPU:

  • m = millicores (1m = 1/1,000 de un núcleo de CPU)
  • 1000m = 1 núcleo de CPU completo
  • 500m = 0,5 núcleos de CPU (medio núcleo)
  • 100m = 0,1 núcleos de CPU (10% de un núcleo)

Unidades de memoria:

  • Mi = Mebibytes (binario: 1 Mi = 1024 × 1024 bytes)
  • Gi = Gibibytes (binario: 1 Gi = 1,024 Mi)
  • 2048Mi = 2Gi
  • 100Mi ≈ 105 MB

Reglas de mutación de CPU

El mutador aplica la siguiente lógica para los recursos de CPU:

Scenario Acción
Faltan la solicitud de CPU y el límite Establezca ambos en 500m (valor predeterminado)
Existe una solicitud de CPU, pero es menor que 100m Establecer la solicitud en 100m (mínimo)
El límite de CPU existe, pero es menor que 100m Establecer el límite en 100m (mínimo)
Solo existe una solicitud de CPU Establecer la solicitud igual a límite
Solo existe el límite de CPU Establecer la solicitud igual a límite

Reglas de mutación de memoria

El mutador aplica la siguiente lógica para los recursos de memoria:

Scenario Acción
Faltan tanto la solicitud de memoria como el límite Establezca ambos en 2048Mi (valor predeterminado)
La solicitud de memoria existe, pero es menor que 100Mi Establecer la solicitud en 100Mi (mínimo)
El límite de memoria existe, pero es menor que 100Mi Establecer el límite en 100Mi (mínimo)
Solo existe una solicitud de memoria Déjelo tal cual (sin límite agregado)
Solo existe el límite de memoria Dejar tal cual (sin añadir petición)

Corrección de la clase de calidad de servicio (QoS) en Kubernetes

Después de aplicar las mutaciones de CPU y memoria, si el valor de la solicitud supera el límite del mismo tipo de recurso, el mutador limita la solicitud para que coincida con el límite. Esta corrección mantiene configuraciones de clase válidas de Calidad de servicio (QoS) de Kubernetes.

Casos que se han mutado

El mutador de solicitudes de recursos aplica cambios en los escenarios siguientes:

  • Recursos vacíos: los contenedores sin solicitudes de CPU o memoria ni límites reciben valores predeterminados (500m CPU, 2048Mi memoria).
  • Por debajo de los umbrales mínimos: las solicitudes de CPU o los límites siguientes 100m se incrementan a 100m. Las solicitudes de memoria o los límites inferiores 100Mi se incrementan a 100Mi.
  • Escenarios de QoS no válidos: cuando las solicitudes superan los límites, las solicitudes se reducen para que coincidan con los límites.
  • Especificaciones parciales de recursos: los contenedores con solo solicitudes o solo límites (pero no ambos) tienen mínimos impuestos donde se especifique.
  • Varios contenedores: todos los contenedores de un pod se procesan y mutan adecuadamente.
  • Espacios de nombres habilitados: solo se mutan las cargas de trabajo de los espacios de nombres en los que está habilitada la protección.

Casos que no se han mutado

El mutador de solicitudes de recursos no aplica cambios en los escenarios siguientes:

  • Espacios de nombres excluidos: las cargas de trabajo de los espacios de nombres en los que se excluye la protección permanecen sin cambios.
  • Recursos ya compatibles: los contenedores que ya tienen solicitudes y límites por encima de los umbrales mínimos permanecen sin cambios.
  • Configuraciones válidas de QoS: cuando las solicitudes son menores o iguales que los límites y ambos valores están por encima de los mínimos, no se produce ningún cambio.

Mutador de antiafinidad y distribución de topología

Cuando las medidas de seguridad para implementación se establecen en el nivel Enforce, el mutador de antiafinidad y distribución de topología agrega automáticamente reglas de antiafinidad de pod y restricciones de dispersión de topología para mejorar la distribución de las cargas de trabajo entre los nodos.

Cuando se ejecuta el mutador

El mutador solo se ejecuta cuando se cumplen todas las condiciones siguientes:

  • La antiafinidad de pods y las restricciones de distribución de topología aún no existen en la carga de trabajo.
  • El espacio de nombres no se excluye de las medidas de seguridad de implementación.
  • Las medidas de seguridad de implementación están en Enforce modo.
  • La carga de trabajo no tiene la kubernetes.azure.com/managedby=aks etiqueta .

Lo que agrega el mutador

Identificación de etiquetas: el mutador identifica los pods utilizando la siguiente prioridad de etiquetas:

  • app label (primera prioridad)
  • app.kubernetes.io/name etiqueta (segunda prioridad)
  • Crea una etiqueta default-antiaffinity-applabel=<workload-name> (alternativa)

Antiafinidad de pods: añade una regla preferida de antiafinidad de pods con un peso de 100, que favorece la programación de pods con etiquetas coincidentes en nodos diferentes. Usa la clave kubernetes.io/hostnamede topología .

Restricciones de propagación de topología: agrega una restricción con la siguiente configuración:

Configuración Importancia
MaxSkew 1 (permite una diferencia máxima de 1 pod por nodo)
CuandoInsatisfactorio ScheduleAnyway (el mejor esfuerzo, no bloquea la programación)
Clave de topología kubernetes.io/hostname

Casos mutados

El mutador de antiafinidad y distribución de topología realiza cambios en los siguientes escenarios:

  • Cargas de trabajo con etiqueta app: usa el valor de etiqueta app para los selectores de antiafinidad y distribución de topología.
  • Cargas de trabajo con app.kubernetes.io/name etiqueta: cuando no existe ninguna app etiqueta, usa esta etiqueta para los selectores.
  • Cargas de trabajo sin etiquetas de aplicación: crea una etiqueta predeterminada con el nombre de la carga de trabajo y agrega reglas de anti-afinidad y de propagación de topología.
  • Limpiar cargas de trabajo: las cargas de trabajo que no tienen ninguna afinidad existente ni restricciones de propagación de topología reciben ambas configuraciones.
  • Afinidad parcial: las cargas de trabajo con afinidad de nodo existente (pero sin antiafinidad de pod) reciben reglas de antiafinidad de pod y distribución de topología.
  • Espacios de nombres habilitados: las mutaciones solo se producen en espacios de nombres donde está habilitada la protección.

Casos que no se han mutado

El mutador de antiafinidad y distribución de topología no aplica cambios en los siguientes escenarios:

  • Restricciones de propagación de topología existentes: las cargas de trabajo que ya tienen restricciones de propagación de topología se omiten por completo.
  • Antiafinidad de pod existente: las cargas de trabajo con reglas de antiafinidad de pod necesarias o preferidas existentes se omiten por completo.
  • Espacios de nombres excluidos: las cargas de trabajo de los espacios de nombres en los que se excluye la protección permanecen sin cambios.
  • Cargas de trabajo sin nombres o etiquetas identificables: los casos perimetrales en los que no se puede determinar ningún nombre de aplicación se omiten correctamente.

Mensajes de error de salvaguardas de implementación

En esta sección se describen los mensajes de error que puede encontrar cuando Las medidas de seguridad de implementación detectan configuraciones no compatibles, junto con correcciones recomendadas.

Mensajes de error de protección general

En la tabla siguiente se enumeran los mensajes de error de las directivas generales de medidas de seguridad de implementación:

Policy Mensaje de error Corrección
Imponer el uso de sondas Container <container_name> in your Pod <pod_name> has no livenessProbe. Required probes: readinessProbe, livenessProbe Agregue sondeos de ejecución y preparación a cada contenedor.
No hay ninguna imagen "más reciente" Please specify an explicit, versioned image tag such as '1.0' for container %v. Using explicit version tags is a best practice to ensure reproducibility, prevent unintended updates, and facilitate easier debugging and rollbacks. Avoid using the 'latest' tag because it can change over time without notice. Use una etiqueta de imagen explícita distinta de latest o en blanco. Por ejemplo, nginx no se permite, pero nginx:v1.0.0 se permite.
Aplicación del controlador CSI Storage class <class_name> use intree provisioner kubernetes.io/azure-file is not allowed o Storage class <class_name> use intree provisioner kubernetes.io/azure-disk is not allowed Use disk.csi.azure.com o file.csi.azure.com en su lugar. Para obtener más información, consulte Controladores CSI en AKS.
Solicitudes de recursos container <container_name> has no resource requests Agregue solicitudes de CPU y memoria al contenedor.
Reglas de Anti-Afinidad Deployment with 2 replicas should have either podAntiAffinity or topologySpreadConstraints set to avoid disruptions due to nodes crashing Defina podAntiAffinity o topologySpreadConstraints en la carga de trabajo.
Etiquetas restringidas Label kubernetes.azure.com is reserved for AKS use only Elimine la etiqueta de su tarea.
Ediciones de nodos restringidos Tainting or labeling individual nodes is not recommended. Please use Azure CLI to taint/label node pools instead Usa la CLI de Azure para taintar o etiquetar grupos de nodos en lugar de nodos individuales.
Intolerancias restringidas Taint with key CriticalAddonsOnly is reserved for the system pool only No contamines el grupo de nodos de usuario con CriticalAddonsOnly.

Mensajes de error de los estándares de seguridad para pods

Nota:

Los Estándares de seguridad de pods de línea base ahora están activados de forma predeterminada en AKS Automatic. Los estándares de seguridad de pod predeterminados en AKS Automatic no pueden desactivarse.

Las medidas de seguridad para implementación también admiten la capacidad de activar los estándares de seguridad de pods Básico, Restringido y Con privilegios. Para asegurarse de que las cargas de trabajo se implementan correctamente, asegúrese de que cada manifiesto cumple los requisitos de seguridad de pod Básico o Restringido. De forma predeterminada, Azure Kubernetes Service usa los estándares de seguridad de Pod Privileged.

Policy Mensaje de error Corrección
AppArmor AppArmor annotation values must be undefined/nil, runtime/default, or localhost/* o AppArmor profile type must be one of: undefined/nil, RuntimeDefault, or Localhost Quite cualquier especificación de AppArmor. Kubernetes aplica de forma predeterminada la configuración de AppArmor. En los hosts admitidos, el perfil RuntimeDefault AppArmor se aplica de forma predeterminada.
Espacios de nombres del host Host network namespaces are disallowed: spec.hostNetwork is set to true o Host PID namespaces are disallowed: spec.hostPID is set to true o Host IPC namespaces are disallowed: spec.hostIPC is set to true Establezca esos valores en falseo quite la especificación de los campos.
Contenedores con privilegios Privileged [ephemeral\|init\|N/A] containers are disallowed: spec.containers[*].securityContext.privileged is set to true Establezca el campo adecuado securityContext.privileged en falseo quite el campo.
Capabilities El mensaje comienza con Disallowed capabilities detected Quite la funcionalidad que se muestra del manifiesto del contenedor.
Volúmenes de HostPath HostPath volumes are forbidden under restricted security policy unless containers mounting them are from allowed images Quite el volumen de HostPath y el montaje del volumen.
Puertos de host HostPorts are forbidden under baseline security policy Quite la especificación del puerto host del contenedor infractor.
SELinux SELinux type must be one of: undefined/empty, container_t, container_init_t, container_kvm_t, or container_engine_t Establezca el campo del securityContext.seLinuxOptions.type contenedor en uno de los valores permitidos.
Tipo de montaje /proc ProcMount must be undefined/nil or 'Default' in spec.containers[*].securityContext.procMount spec.containers[*].securityContext.procMount Configúrelo en Default o déjelo sin definir.
Seccomp Seccomp profile must not be explicitly set to Unconfined. Allowed values are: undefined/nil, RuntimeDefault, or Localhost Establezca securityContext.seccompProfile.type en el pod o en los contenedores en uno de los valores permitidos.
Sysctls Disallowed sysctl detected. Only baseline Kubernetes pod security standard sysctls are permitted Elimine los sysctls no permitidos. Para obtener la lista específica, consulte la especificación de estándares de seguridad de pod de Kubernetes.
Tipos de volumen (solo para PSS restringido) Only the following volume types are allowed under restricted policy: configMap, csi, downwardAPI, emptyDir, ephemeral, persistentVolumeClaim, projected, secret Quite todos los volúmenes que no sean uno de los tipos permitidos.
Elevación de privilegios (solo restringido a PSS) Privilege escalation must be set to false under restricted policy Establezca spec.containers[*].securityContext.allowPrivilegeEscalation en false para cada contenedor, initContainer y ephemeralContainer.
Ejecución como usuario no root (Restringido a solo PSS) Containers must not run as root user in spec.containers[*].securityContext.runAsNonRoot Establezca spec.containers[*].securityContext.runAsNonRoot en true para cada contenedor, initContainer y ephemeralContainer.
Ejecutar como usuario no raíz (solo PSS restringido) Containers must not run as root user: spec.securityContext.runAsUser is set to 0 Establezca securityContext.runAsUser en un valor distinto de cero o déjelo sin definir para el nivel de pod y cada contenedor, initContainer y ephemeralContainer.
Seccomp (solo para PSS restringido) Seccomp profile must be "RuntimeDefault" or "Localhost" under restricted policy Establezca securityContext.seccompProfile.type en el pod o en los contenedores en uno de los valores permitidos. Esto difiere de la línea base porque la directiva restringida no permite un valor indefinido.
Capacidades (exclusivamente restringido a PSS) All containers must drop ALL capabilities under restricted policy o Only NET_BIND_SERVICE may be added to capabilities under restricted policy Todos los contenedores deben quitar ALL funcionalidades y solo pueden agregar NET_BIND_SERVICE.

Habilitar medidas de seguridad de implementación

Nota:

Al usar el nivel de salvaguardas de implementación Enforce, está optando por que las implementaciones sean bloqueadas y modificadas. Tenga en cuenta cómo estas directivas pueden funcionar con el clúster de AKS antes de habilitar Enforce.

Habilitación de medidas de seguridad de implementación en un clúster existente

Habilite las medidas de seguridad de implementación en un clúster existente que tiene habilitado el complemento de Azure Policy mediante el comando az aks safeguard create con el indicador --level. Si quiere recibir advertencias de incumplimiento, establezca --level en Warn. Si quiere denegar o mutar todas las implementaciones no compatibles, establézcalo en Enforce.

az aks safeguards create --resource-group <resource-group-name> --name <cluster-name> --level Enforce 

También puede habilitar medidas de seguridad de implementación mediante la --cluster marca y especificando el identificador de recurso del clúster.

az aks safeguards create --cluster <ID> --level Enforce

Si desea actualizar el nivel de medidas de seguridad de implementación de un clúster existente, ejecute el siguiente comando con el nuevo valor para --level.

az aks safeguards update --resource-group <resource-group-name> --name <cluster-name> --level Warn 

Excluir espacios de nombres

También puede excluir determinados espacios de nombres de las medidas de seguridad de implementación. Cuando se excluye un espacio de nombres, la actividad de ese espacio de nombres no se ve afectada por las advertencias o la aplicación de las medidas de seguridad de implementación.

Por ejemplo, para excluir los espacios de nombres ns1 y ns2, use una lista de espacios de nombres separados por espacios con el indicador --excluded-ns, como se muestra en el siguiente ejemplo:

az aks safeguards update --resource-group <resource-group-name> --name <cluster-name> --level Warn --excluded-ns ns1 ns2 

Activa los Estándares de Seguridad de Pod

Nota:

Azure Kubernetes Service (AKS) usa Privileged Estándares de Seguridad de Pod de forma predeterminada. Para revertir a la configuración predeterminada, establezca la bandera --pss-level en Privileged.

Para habilitar los estándares de seguridad de pod en Medidas de seguridad para implementación, use la marca --pss-level para seleccionar uno de los siguientes niveles: Baseline, Restricted o Privileged.

az aks safeguards update --resource-group <resource-group-name> --name <cluster-name> --level Warn --pss-level <Baseline|Restricted|Privileged>

Actualización de la versión de Deployment Safeguard

Las medidas de seguridad de implementación se adhieren al esquema de control de versiones del complemento de AKS. Cada nueva versión de Deployment Safeguard se publicará como una nueva versión menor en AKS. Estas actualizaciones se comunicarán a través de las notas de la versión de GitHub de AKS y se reflejarán en la tabla "Directivas de medidas de seguridad de implementación" en nuestra documentación.

Para más información sobre el control de versiones y los complementos de AKS, consulte la siguiente documentación: aks-component-versions y aks-versioning-for-addons.

Comprobación del cumplimiento entre clústeres

Después de implementar el manifiesto de Kubernetes, verá advertencias o un posible mensaje de denegación en la CLI o terminal si el clúster no es compatible con las medidas de seguridad de implementación, como se muestra en los ejemplos siguientes:

WARN

$ kubectl apply -f deployment.yaml
Warning: [azurepolicy-k8sazurev1antiaffinityrules-ceffa082711831ebffd1] Deployment with 2 replicas should have either podAntiAffinity or topologySpreadConstraints set to avoid disruptions due to nodes crashing
deployment.apps/simple-web created

Aplicar

Con las mutaciones de medidas de seguridad para implementación, el nivel Enforce muta sus recursos Kubernetes cuando corresponde. Sin embargo, los recursos de Kubernetes todavía necesitan pasar todas las medidas de seguridad para implementarse correctamente. Si se produce un error en las directivas de medidas de seguridad, se deniega el recurso y no se implementará.

$ kubectl apply -f deployment.yaml 
Error from server (Forbidden): error when creating "deployment.yaml": admission webhook "validation.gatekeeper.sh" denied the request: [azurepolicy-k8sazurev1antiaffinityrules-ceffa082711831ebffd1] Deployment with 2 replicas should have either podAntiAffinity or topologySpreadConstraints set to avoid disruptions due to nodes crashing

Si los recursos de Kubernetes cumplen las medidas de seguridad de mutación aplicables y cumplen todos los demás requisitos de protección, se implementarán correctamente, como se muestra en el ejemplo siguiente:

$ kubectl apply -f deployment.yaml
deployment.apps/simple-web created

Comprobar el cumplimiento en los clústeres mediante el panel de Azure Policy

Para comprobar que se han aplicado medidas de seguridad de implementación y comprobar el cumplimiento del clúster, vaya a la página de Azure Portal del clúster y seleccione Directivas y, a continuación, seleccione Ir a Azure Policy.

En la lista de directivas e iniciativas, seleccione la iniciativa asociada a Medidas de seguridad de implementación. Verá un panel que muestra el estado de cumplimiento en el clúster de AKS.

Nota:

Para evaluar correctamente el cumplimiento en el clúster de AKS, la iniciativa de Azure Policy debe tener el ámbito establecido en el grupo de recursos del clúster.

Deshabilitar medidas de seguridad de implementación

Para deshabilitar las medidas de seguridad de implementación en el clúster, use el delete comando .

az aks safeguards delete --resource-group <resource-group-name> --name <cluster-name>

Preguntas más frecuentes

¿Puedo crear mis propias mutaciones?

No. Si tiene una idea para una medida de seguridad, abra una incidencia en el repositorio de GitHub de AKS y agregue [Deployment Safeguards request] al principio del título.

¿Puedo elegir las mutaciones que quiero en Aplicación?

No. Las medidas de seguridad de implementación son todas o nada. Una vez activado Advertir o Aplicar, todas las medidas de seguridad están activas.

¿Por qué se ha admitido mi recurso de implementación aunque no sigue los procedimientos recomendados?

Las medidas de seguridad de implementación aplican los estándares de prácticas recomendadas mediante controles de Azure Policy y tienen políticas que se validan en los recursos de Kubernetes. Para evaluar y aplicar componentes de clúster, Azure Policy amplía Gatekeeper. El cumplimiento de Gatekeeper también funciona actualmente en un modelofail-open. Como no hay ninguna garantía de que Gatekeeper responda a nuestra llamada de red, nos aseguramos de que, en ese caso, se omite la validación para que la denegación no bloquee las implementaciones.

Para obtener más información, consulte la validación de cargas de trabajo en Gatekeeper.

Pasos siguientes