Normas de seguridad de los pods (PSS) y Security Context Constraints (SCC)
Las normas de seguridad de pods (PSS) y las políticas de seguridad de pods (PSP) de Kubernetes definen los niveles de permiso y restringen el comportamiento de los pods. OpenShift Security Context Constraints (SCC) también definen la restricción de pods específica del OpenShift Kubernetes Engine. Para proporcionar esta personalización, Trident habilita ciertos permisos durante la instalación. Las siguientes secciones detallan los permisos establecidos por Trident.
|
|
PSS sustituye a Pod Security Policies (PSP). PSP quedó obsoleta en Kubernetes v1.21 y se eliminará en v1.25. Para más información, consulta "Kubernetes: seguridad". |
Contexto de seguridad requerido de Kubernetes y campos relacionados
| Permiso | Descripción |
|---|---|
Privilegiado |
CSI requiere que los puntos de montaje sean bidireccionales, lo que significa que el pod del nodo Trident debe ejecutar un contenedor con privilegios. Para más información, consulta "Kubernetes: propagación de montajes". |
Red de host |
Necesario para el demonio iSCSI. |
IPC del host |
NFS utiliza la comunicación entre procesos (IPC) para comunicarse con el NFSD. |
PID del host |
Necesario para iniciar |
Capacidades |
La |
Seccomp |
El perfil Seccomp siempre está "Unconfined" en los contenedores con privilegios; por lo tanto, no se puede habilitar en Trident. |
SELinux |
En OpenShift, los contenedores con privilegios se ejecutan en el |
DAC |
Los contenedores con privilegios deben ejecutarse como root. Los contenedores sin privilegios se ejecutan como root para acceder a los sockets unix requeridos por CSI. |
Estándares de seguridad de pods (PSS)
| Etiqueta | Descripción | Predeterminado |
|---|---|---|
|
Permite que el controlador Trident y los nodos se admitan en el espacio de nombres de instalación. No cambies la etiqueta del espacio de nombres. |
|
|
|
Cambiar las etiquetas del espacio de nombres puede hacer que los pods no se programen, aparezca un "Error creating: …" o un "Warning: trident-csi-…". Si esto pasa, revisa si la etiqueta del espacio de nombres para privileged fue cambiada. Si es así, reinstala Trident.
|
Políticas de seguridad de pods (PSP)
| Campo | Descripción | Predeterminado |
|---|---|---|
|
Los contenedores privilegiados deben permitir la escalada de privilegios. |
|
|
Trident no usa volúmenes efímeros CSI en línea. |
Vacío |
|
Los contenedores Trident sin privilegios no requieren más capacidades que el conjunto predeterminado y los contenedores privilegiados reciben todas las capacidades posibles. |
Vacío |
|
Trident no utiliza un "Controlador de FlexVolume", por lo tanto no están incluidos en la lista de volúmenes permitidos. |
Vacío |
|
El pod del nodo Trident monta el sistema de archivos raíz del nodo, así que no hay ningún beneficio en configurar esta lista. |
Vacío |
|
Trident no utiliza ningún |
Vacío |
|
Trident no requiere nada inseguro |
Vacío |
|
No es necesario agregar capacidades a los contenedores privilegiados. |
Vacío |
|
Permitir la escalada de privilegios se maneja en cada pod Trident. |
|
|
No |
Vacío |
|
Los contenedores Trident se ejecutan como root. |
|
|
Montar volúmenes NFS requiere que el IPC del host se comunique con |
|
|
iscsiadm requiere que la red del host se comunique con el daemon de iSCSI. |
|
|
Se requiere el PID del host para comprobar si |
|
|
Trident no usa ningún puerto de host. |
Vacío |
|
Los pods de nodo Trident deben ejecutar un contenedor privilegiado para montar volúmenes. |
|
|
Los pods de nodo Trident deben escribir en el sistema de archivos del nodo. |
|
|
Los pods de nodo Trident ejecutan un contenedor privilegiado y no pueden eliminar capacidades. |
|
|
Los contenedores Trident se ejecutan como root. |
|
|
Los contenedores Trident se ejecutan como root. |
|
|
Trident no usa |
Vacío |
|
Trident no configura |
Vacío |
|
Los contenedores Trident se ejecutan como root. |
|
|
Los pods Trident requieren estos plugins de volumen. |
|
Restricciones de contexto de seguridad (SCC)
| Etiquetas | Descripción | Predeterminado |
|---|---|---|
|
Los pods de nodo Trident montan el sistema de archivos raíz del nodo. |
|
|
Montar volúmenes NFS requiere que el IPC del host se comunique con |
|
|
iscsiadm requiere que la red del host se comunique con el daemon de iSCSI. |
|
|
Se requiere el PID del host para comprobar si |
|
|
Trident no usa ningún puerto de host. |
|
|
Los contenedores privilegiados deben permitir la escalada de privilegios. |
|
|
Los pods de nodo Trident deben ejecutar un contenedor privilegiado para montar volúmenes. |
|
|
Trident no requiere nada inseguro |
|
|
Los contenedores Trident sin privilegios no requieren más capacidades que el conjunto predeterminado y los contenedores privilegiados reciben todas las capacidades posibles. |
Vacío |
|
No es necesario agregar capacidades a los contenedores privilegiados. |
Vacío |
|
Los contenedores Trident se ejecutan como root. |
|
|
Este SCC es específico de Trident y está vinculado a su usuario. |
Vacío |
|
Los pods de nodo Trident deben escribir en el sistema de archivos del nodo. |
|
|
Los pods de nodo Trident ejecutan un contenedor privilegiado y no pueden eliminar capacidades. |
|
|
Los contenedores Trident se ejecutan como root. |
|
|
Trident no configura |
Vacío |
|
Los contenedores privilegiados siempre se ejecutan "Unconfined". |
Vacío |
|
Los contenedores Trident se ejecutan como root. |
|
|
Se proporciona una entrada para vincular este SCC al usuario Trident en el namespace Trident. |
n/a |
|
Los pods Trident requieren estos plugins de volumen. |
|