Saltar al contenido principal

Alta de Usuarios

Crear usuarios para un cluster

Utilizando Capsule y políticas de RBAC, podemos crear certificados para usuarios sin ningun rol ni grupo, y después asignar los roles y accesos.

En el directorio de Capsule/usuarios hay un script para generar los certificados. Para crear un certificado de un usuario utilizando el script:

# Si se utiliza Expiracy, se debe indicar la duración del certificado en segundos
create-user.sh <usuario> [expiracy]

Tabla de ejemplos de expiracy:

TiempoSegundos
10 minutos (mínimo)600
1 día86400
7 días604800
30 días2592000
90 días7776000

Por defecto, la duración del certificado es de un año.

info

Los certificados se guardan en certificados/<usuario>. Estos archivos estan incluídos en el .gitignore

Subir certificados y kubeconfig a Vault

  1. Crear usuario en el Vault

    Ir a Access / userpass / Create user. Se debe definir el nombre y las políticas que tiene acceso. Las políticas se encuentran en Tokens / Generate Token Policy. Se debe agregar al menos dos políticas, la del Tenant y la personal del usuario.

    Es necesario que tenga las políticas de los tenants a los que pertenezca y usuarios:

    Politicas de usuario

  2. Subir certificados a usuarios / <usuario>

    El path del secret debe coincidir con el nombre de usuario creado anteriormente. Ahí crearemos un secret, no un directorio, con 3 claves: <usuario>.crt, <usuario>.key, <usuario>.kubeconfig

    Subir certificados

  3. Enviar usuario y clave del Vault al usuario por el medio de preferencia

Verificar caducidad del certificado

Teniendo el archivo .crt del usuario, podemos comprobar hasta que día y hora es válido el certificado creado.

$ openssl x509 -in usuario.crt -text -noout | grep "Not After"
Not After : Sep 19 16:02:40 2025 GMT

En este caso, el certificado serviría hasta el 19 de septiembre.

Agregar un usuario a un Tenant

Para poder dar acceso a ese usuario a un tenant, es necesario agregarlo en el apartado de Owners:

apiVersion: capsule.clastix.io/v1beta2
kind: Tenant
metadata:
name: it
spec:
owners:
- name: lmarchionni
kind: User
- name: lgomez
kind: User
- name: mbrada
kind: User
# ...

Además, es necesario:

  • Crear el usuario en GitLab y asignarlo a los grupos correspondientes
  • Crear el usuario en Vault y asignarle las politicas del tenant y usuario.
  • Crear la cuenta en Harbor y asignarle acceso a los proyectos correspondientes.

Asignar usuario a CRB Administrador:

Luego de crear el usuario se debe modificar el archivo ../Cluster-Role/ClusterAdmins.yaml para asignarlo al rol de aministradores.