La siguiente mejor práctica sería usar OpenID Connect o OIDC para asegurar tu clúster. Esto es para la parte de autenticación. RBAC fue para la parte de autorización y OIDC sería para la parte de autenticación. Kubernetes admite múltiples mecanismos de autenticación. Algunos de los más comunes son certificados de cliente, tokens de autenticación básicos que incluyen tokens de cuenta de servicio, tokens de portador, etc. OpenID Connect o OIDC y también autenticación basada en proxy. Estos son todos los mecanismos de autenticación que son compatibles con Kubernetes de forma predeterminada.
De todos estos mecanismos de autenticación, OIDC es la solución más segura y escalable. Es ideal para clústeres a los que acceden equipos grandes, ya que proporciona una solución de inicio de sesión único para todos los usuarios y facilita la incorporación y desincorporación de usuarios, porque una vez que aseguras tu clúster usando OIDC, no tendrías que ingresar a los clústeres de Kubernetes para realizar ninguna administración de usuarios. Puedes hacer todo desde tu proveedor de OpenID Connect. Puedes hacer la incorporación de usuarios, desincorporación, todo desde allí. No tienes que asegurarte de no tener que preocuparte por tener que borrar nombres de usuario, contraseñas o tokens y certificados de las máquinas de los usuarios, etc. Todo será atendido por el proveedor de OIDC, el mecanismo de OIDC. Por lo tanto, también es mucho más seguro que otros mecanismos, ya que no tienes que almacenar ninguna información sensible en la computadora de un usuario, como secretos de cliente o contraseñas, con los mecanismos tradicionales que tendrías que hacer. También puedes usar características como autenticación multifactor, tokens, llaves Yubi, etc., según lo admita tu proveedor de OIDC, por supuesto, pero todos estos mecanismos estarían disponibles para acceder a tu clúster de Kubernetes. Eso significa que puedes agregar capas adicionales de seguridad que no son posibles con ningún otro mecanismo de autenticación admitido por Kubernetes. También puedes consultar esta publicación de blog que escribí sobre cómo asegurar tus clústeres con OIDC para obtener más detalles y ver cómo puedes hacer esto para tu clúster. El blog muestra cómo configurar esto usando Okta, pero los pasos son similares para cualquier proveedor de OIDC. Por lo tanto, puedes cambiar fácilmente de Okta a Key Clock o cualquier proveedor de OIDC que prefieras. Así que consulta este blog para ver cómo puedes hacer esto.
Así es como funciona OIDC con Kubernetes. Cuando ejecutas un comando con kubectl, utiliza kubelogin y abre un navegador para autenticarte con el proveedor de OIDC. Luego utiliza la respuesta de autenticación obtenida del proveedor de OIDC para obtener tokens del servidor de autenticación y pasa los tokens al servidor de API de Kubernetes, que se utilizarán para autenticar al usuario. Por lo tanto, la siguiente mejor práctica sería usar secrets. Por supuesto, esta debería ser una opción obvia. Kubernetes tiene un recurso de secret que se puede utilizar para almacenar datos sensibles. Esta es una excelente manera de almacenar contraseñas, claves y otros datos sensibles. Los secrets se pueden usar para almacenar datos de cadena, configuración de Docker, certificados, tokens, archivos, etc. Los secrets se pueden montar como volúmenes de datos o exponer como variables de entorno para ser utilizados en los contenedores. Los secrets pueden ser texto plano o codificados.
Comments