Este documento ha sido traducido utilizando tecnología de traducción automática. Si bien nos esforzamos por proporcionar traducciones precisas, no ofrecemos garantías sobre la integridad, precisión o confiabilidad del contenido traducido. En caso de discrepancia, la versión original en inglés prevalecerá y constituirá el texto autorizado.

Esta es documentación inédita para Admission Controller 1.34-dev.

Configuración de la directiva

El comportamiento de la directiva no es rígido, puedes configurarlo proporcionando detalles de configuración a la directiva en tiempo de ejecución. El autor de la directiva tiene la libertad de definir la estructura de la configuración de la directiva.

SUSE Security Admission Controller se encarga de serializar la configuración de la directiva en JSON y la proporciona a la directiva cada vez que se invoca.

Validación de la configuración de la directiva

Las directivas deben validar la configuración que proporciona un usuario para comprobar su corrección.

Cada directiva registra una función waPC llamada validate_settings que valida la configuración de la directiva.

La función validate_settings recibe como entrada una representación JSON de la configuración proporcionada por el usuario. Esta función la valida y devuelve como respuesta un objeto SettingsValidationResponse.

La estructura del objeto SettingsValidationResponse es:

{
  # mandatory
  "valid": <boolean>,

  # optional, ignored if accepted - recommended for rejections
  "message": <string>,
}

Si la configuración proporcionada por el usuario es valid, validate_settings ignora el contenido de message. De lo contrario, validate_settings muestra el contenido de message.

El Admission Controllerhttps://github.com/chimera-kube/policy-server[policy-server] de valida toda la configuración de la directiva proporcionada por los usuarios al inicio. El policy-server sale inmediatamente con un error si al menos una de sus directivas recibió parámetros de configuración incorrectos.

Ejemplo

Como ejemplo, considera la directiva psp-capabilities que tiene el siguiente formato de configuración:

allowed_capabilities:
- CHOWN

required_drop_capabilities:
- NET_ADMIN

default_add_capabilities:
- KILL

La función validate_settings recibe como entrada el siguiente documento JSON:

{
  "allowed_capabilities": [
    "CHOWN"
  ],
  "required_drop_capabilities": [
    "NET_ADMIN"
  ],
  "default_add_capabilities": [
    "KILL"
  ]
}

Recapitulación

Cada directiva debe registrar una función waPC, validate_settings.