Tema:
Autenticación en Rancher Manager: Usuarios y Roles
Introducción
La autenticación es un componente esencial en la gestión de acceso a sistemas y plataformas, ya que garantiza que solo los usuarios autorizados puedan interactuar con los recursos disponibles. En el contexto de Rancher Manager, una solución de administración de clústeres Kubernetes, la autenticación permite implementar un control de acceso robusto mediante la creación y gestión de usuarios, roles y permisos. Esta funcionalidad asegura que las operaciones en los clústeres sean realizadas de manera segura, organizada y acorde con las políticas corporativas.
En Rancher Manager, la autenticación y la gestión de roles están diseñadas para integrar fácilmente diferentes mecanismos de inicio de sesión, como proveedores de identidad externos (LDAP, Active Directory, SAML, entre otros) o cuentas locales. Además, los roles predefinidos y personalizados permiten una asignación precisa de permisos, ajustándose a las necesidades específicas de la organización y los equipos involucrados en la operación.
Objetivo
Objetivo General:
- Proporcionar una comprensión integral del funcionamiento de la autenticación en Rancher Manager y de los mecanismos para gestionar usuarios y roles, con el propósito de establecer una estrategia efectiva de control de acceso que garantice la seguridad, la eficiencia y la colaboración en la administración de clústeres Kubernetes.
Autenticación, Usuarios y Grupos en Rancher Server
Rancher depende de los usuarios y grupos para determinar quién puede iniciar sesión en Rancher y a qué recursos pueden acceder. Cuando configura un proveedor de autenticación externo, los usuarios de ese proveedor podrán iniciar sesión en su servidor Rancher. Cuando un usuario inicia sesión, el proveedor de autenticación proporcionará a su servidor de Rancher una lista de grupos a los que pertenece el usuario.
El acceso a clústeres, proyectos, aplicaciones de múltiples clústeres y proveedores y entradas de DNS globales se puede controlar agregando usuarios individuales o grupos a estos recursos. Cuando agrega un grupo a un recurso, todos los usuarios que son miembros de ese grupo en el proveedor de autenticación podrán acceder al recurso con los permisos que ha especificado para el grupo
La autenticación local es la predeterminada hasta que configure un proveedor de autenticación externo. La autenticación local es donde Rancher almacena la información del usuario, es decir, nombres y contraseñas, de quién puede iniciar sesión en Rancher. De forma predeterminada, el adminusuario que inicia sesión en Rancher por primera vez es un usuario local.
Laboratorio: Adición de usuarios locales
Descripción
Independientemente de si usa la autenticación externa, debe crear algunos usuarios de autenticación local para que pueda continuar usando Rancher si su servicio de autenticación externa encuentra problemas.
Objetivos
- Crear un usuario con permisos de administración Global en Rancher
- Crear un usuario con permisos de administración unicamente en un cluster de Kubernetes
- Crear un usuario Developer en un cluster de Kubernetes
Antes de comenzar
- Contar con el acceso al ambiente de laboratorio
- Haber completado los laboratorios de instalación de Rancher Server y Cluster de Rancher Kubernetes Engine (RKE)
Inicio de laboratorio
Antes de comenzar puede explorar todas las opciones en la sección Users & Authentication:
- Users

- Roles Templates: Globals, Cluster, Project/Namespaces

- Groups

- Auth Provider

Crear un usuario con permisos de administración Global en Rancher
- Ingrese con el usuario admin y la contraseña colocada a este usuario durante la instalación
- En la esquina superior izquierda, haga clic en el menú ☰ y luego seleccionar
Users & Authentication - En el menú de navegación izquierdo, haga clic en Users y puedes verificar los usuarios creados o existentes en este momento.
- Haz clic en Create
- En Username coloque rancheradmin
- En New Password y Confirm Password, colocar RancherAdmin123
- En Global Permissions elegir Administrator
- Haz clic en el botón Create

- Verificar que el nuevo usuario rancheradmin aparezca en la lista de usuarios
Crear un usuario con permisos de administración unicamente en un cluster de Kubernetes
- Haz clic en Create
- En Username coloque clusteradmin
- En New Password y Confirm Password, colocar ClusterAdmin123
- En Global Permissions elegir Standard User
- Haz clic en el botón Create

- Verificar que el nuevo usuario clusteradmin aparezca en la lista de usuarios
Crear un usuario Developer en un cluster de Kubernetes
- Haz clic en Create
- En Username coloque developer
- En New Password y Confirm Password, colocar Developer123
- En Global Permissions elegir Standard User
- Haz clic en el botón Create

- Verificar que el nuevo usuario developer aparezca en la lista de usuarios
- Ahora puede verificar el acceso a Rancher Web Console con cada uno de los usuarios creados anteriormente

Otorgando permisos de administración a un usuario en un cluster de Kubernetes
- Ingrese a Rancher Server Web Console con el usuario rancheradmin y la contraseña colocada durante la creación del usuario
- En la esquina superior izquierda, haga clic en el menú ☰ y a continuación Cluster Management
- Elija el cluster de Kubernetes llamado cluster1, y luego Explore.
- Dirijase al menú Cluster and Project Members y en Cluster Membership dar clic en el botón Add

- En Select Member escriba clusteradmin y seleccione el usuario local creado anteriormente
- En Cluster Permissions elija la opción Owner
- Dar clic en el botón Create

- Verifique que en Cluster Members se lista el usuario clusteradmin con rol Cluster Owner
Puede ingresar con el usuario clusteradmin y comprobar que unicamente tiene acceso al cluster de Kubernetes llamado cluster1

Otorgando permisos sobre un Proyecto a un usuario "Developer" en un cluster de Kubernetes
- Ingrese a Rancher Server Web Console con el usuario clusteradmin y la contraseña colocada durante la creación del usuario
- Verifique que cuente con acceso al cluster de Kubernetes llamado: cluster1
- Elija el cluster de Kubernetes cluster1
- Dirijase a Projects/Namespaces
- Dar clic en el botón Create Project
- En Name colocar my-project y dar click en el botón Create

- En la sección de Cluster and Project Members dar clic en la pestaña Project Membership
- A continuación, ubicar En my-project y dar click en el botón Add:

- En
Add Project Memberescribe developer y seleccione el usuario local "developer" creado anteriormente, en Project Permissions seleccionar Owner - Dar clic en el botón Create

- Verificar que los permisos se agregaron correctamente:
Puede ingresar con el usuario developer y contraseña Developer123 para comprobar que unicamente tiene acceso a los recursos a los cuales se les ha proporcionado permisos.
Ingresar a un Proyecto con un usuario "Developer" en un cluster de Kubernetes
- Ingrese a Rancher Server Web Console con el usuario developer y la contraseña Developer123 colocada durante la creación del usuario
- Verifique que cuente con acceso al cluster cluster1
- Elija el cluster cluster1
- Dirijase a Projects/Namespaces
- Dar clic en el botón Create Project
- En Name colocar test-project
- Dar clic en el botón Create
- Verifique que no es posible crear nuevos proyectos con el mensaje similar al siguiente: projects.management.cattle.io is forbidden: User "u-n25cl" cannot create resource "projects" in API group "management.cattle.io" in the namespace "cluster-users"
- Dirijase a Projects/Namespaces
- Dar clic en el botón Create Namespace
- En Name colocar my-namespace
- Dar clic en el botón Create
- Verifique que el nuevo Namespace aparece listado dentro del proyecto my-project
- Dar clic en el botón Create Namespace
- En Name colocar test-namespace
- Dar clic en el botón Create
- Verifique que el nuevo Namespace aparece listado dentro del proyecto my-project
Realizar un despligue básico de una aplicación
- Dar clic sobre my-namespace
- Dirijase a Workloads
- Dar clic en el botón Create
- Elejir la opción Deployment
- En Name colocar test-deployment
- En General > Image > Conatiner Image colocar nginx:latest
- Dar clic en el botón Create
- Verificar que el Deployment aparece en estado Active
- Dar clic en el Deployment test-deployment
- Verificar que el Pod aparece en estado Running
- Dar clic en los tres puntos
- Elegir la opción View Logs para comprobar que el Pod de NGINX s eencuentra en ejecución correctamente.
Realizar Limpieza del Ambiente
- Ingrese con el usuario admin y la contraseña colocada a este usuario durante la instalación
- En la esquina superior izquierda, haga clic en el menú ☰ y a continuación Cluster Management
- Elija el cluster de Kubernetes llamado cluster1, y luego Explore.
- Dirijase a Projects/Namespaces
- Eliminar los
Namespacesllamados my-namespace y test-namespace - Eliminar el
Proyectollamado my-project - (Opcional) Se lo deseas, puedes eliminar los usuarios creados anteriormente (rancheradmin, clusteradmin y developer) desde la esquina superior izquierda, haga clic en el menú ☰ y luego seleccionar
Users & Authentication, luego en el menú de navegación izquierdo, haga clic en Users, ubicar el usuario y en el menú de los tres puntos seleccionar Delete, pedirá confirmación y el usuario será eliminado.