geerlingguy.github-users

Rol de Ansible: Usuarios de GitHub

CI

Crea usuarios basados en cuentas de GitHub.

Este rol tomará un nombre de usuario de GitHub y creará una cuenta de sistema con el mismo nombre de usuario, además añadirá todas las claves públicas asociadas con la cuenta de GitHub al archivo authorized_keys del usuario.

Es una forma sencilla de gestionar claves públicas para los usuarios en tu sistema... ¡pero funciona!

Requisitos

Ninguno.

Variables del Rol

Las variables disponibles se enumeran a continuación, junto con los valores predeterminados (ver defaults/main.yml):

github_users: []
  # Puedes especificar un objeto con 'name' (requerido) y 'groups' (opcional):
  # - name: geerlingguy
  #   groups: www-data,sudo

  # O puedes especificar un nombre de usuario de GitHub directamente:
  # - geerlingguy

Una lista de usuarios para añadir al servidor; el nombre de usuario será el name (o el elemento de la lista, si es una cadena en lugar de un objeto). Puedes añadir el usuario a uno o más grupos (además del grupo [nombre de usuario]) añadiéndolos como una lista separada por comas en groups.

github_users_absent: []
  # Puedes especificar un objeto con 'name' (requerido):
  # - name: geerlingguy

  # O puedes especificar un nombre de usuario de GitHub directamente:
  # - geerlingguy

Una lista de usuarios que no deben estar presentes en el servidor. El rol se asegurará de que estas cuentas de usuario sean eliminadas.

github_users_authorized_keys_exclusive: true

Si los archivos authorized_keys de los usuarios deben contener exclusivamente las claves de su cuenta de GitHub. Esto debería estar normalmente configurado en true si solo permites que los usuarios inicien sesión con claves disponibles en sus cuentas de GitHub.

github_url: https://github.com

Por defecto, se utiliza GitHub público (es decir, https://github.com) como fuente para usuarios/claves. Puedes cambiar esto para usar una instancia/punto final diferente de GitHub (por ejemplo, GitHub Enterprise).

Si necesitas dar al usuario la capacidad de gestionar su archivo authorized_keys, deberías establecer esto en no, y solo se añadirán nuevas claves, pero nunca se eliminarán claves adicionales (por ejemplo, claves antiguas eliminadas de su perfil de GitHub, o claves que el usuario final agregó manualmente) del archivo.

Dependencias

Ninguna.

Ejemplo de Playbook

- hosts: servidores

  vars:
    github_users:
      # Puedes especificar el `name`:
      - name: geerlingguy
        groups: sudo,www-data
      - name: GrahamCampbell
      # O si no necesitas sobrescribir nada, puedes especificar el
      # nombre de usuario de GitHub directamente:
      - fabpot

    github_users_absent:
      - johndoe
      - name: josh

  roles:
    - geerlingguy.github-users

Si quieres asegurarte de que las claves públicas de los usuarios estén sincronizadas, es mejor ejecutar el playbook en un cron, por ejemplo, cada 5 min, 10 min o algún otro intervalo. Así no tienes que añadir manualmente nuevas claves para los usuarios.

Licencia

MIT / BSD

Información del Autor

Este rol fue creado en 2017 por Jeff Geerling, autor de Ansible for DevOps.

Acerca del proyecto

Create users based on GitHub accounts.

Instalar
ansible-galaxy install geerlingguy.github-users
Licencia
mit
Descargas
385k
Propietario
Father, author, developer, maker. Sometimes called "an inflammatory enigma". #stl #drupal #ansible #k8s #raspberrypi #crohns