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:
| Tiempo | Segundos |
|---|---|
| 10 minutos (mínimo) | 600 |
| 1 día | 86400 |
| 7 días | 604800 |
| 30 días | 2592000 |
| 90 días | 7776000 |
Por defecto, la duración del certificado es de un año.
Los certificados se guardan en certificados/<usuario>. Estos archivos estan incluídos en el .gitignore
Subir certificados y kubeconfig a Vault
-
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 enTokens / 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:
-
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
-
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.