github-users

Ansible Роль: Пользователи GitHub

CI

Создание пользователей на основе аккаунтов GitHub.

Эта роль берет имя пользователя GitHub и создает системный аккаунт с тем же именем, добавляя все публичные ключи, связанные с аккаунтом GitHub, в файл authorized_keys пользователя.

Это довольно простой способ управления публичными ключами для пользователей на вашей системе... но это работает!

Требования

Нет.

Переменные роли

Доступные переменные перечислены ниже с значениями по умолчанию (см. defaults/main.yml):

github_users: []
  # Вы можете указать объект с 'name' (обязательно) и 'groups' (необязательно):
  # - name: geerlingguy
  #   groups: www-data,sudo

  # Либо можете указать имя пользователя GitHub напрямую:
  # - geerlingguy

Список пользователей, которых нужно добавить на сервер; имя пользователя будет name (или элементом списка, если это строка, а не объект). Вы можете добавить пользователя в одну или несколько групп (в дополнение к группе [username]), указав их в виде списка через запятую в groups.

github_users_absent: []
  # Вы можете указать объект с 'name' (обязательно):
  # - name: geerlingguy

  # Либо можете указать имя пользователя GitHub напрямую:
  # - geerlingguy

Список пользователей, которые не должны присутствовать на сервере. Роль позаботится о том, чтобы эти пользовательские аккаунты были удалены.

github_users_authorized_keys_exclusive: true

Должен ли файл authorized_keys пользователей содержать исключительно ключи из их аккаунта GitHub. Обычно это следует установить в true, если вы позволяете пользователям входить в систему, используя только ключи, доступные в их аккаунте GitHub.

github_url: https://github.com

По умолчанию используется публичный GitHub (т.е. https://github.com) в качестве источника пользователей/ключей. Переопределите это, чтобы использовать другой экземпляр/конечную точку GitHub (например, GitHub Enterprise).

Если вам нужно дать пользователю возможность самостоятельно управлять своим файлом authorized_keys, установите это значение в no, и он будет только добавлять новые ключи, но никогда не удалять дополнительные ключи (например, старые ключи, удаленные из их профиля GitHub, или ключи, которые конечный пользователь добавил вручную) из файла.

Зависимости

Нет.

Пример плейбука

- hosts: servers

  vars:
    github_users:
      # Вы можете указать `name`:
      - name: geerlingguy
        groups: sudo,www-data
      - name: GrahamCampbell
      # Или если вам не нужно ничего переопределять, вы можете указать
      # имя пользователя GitHub напрямую:
      - fabpot

    github_users_absent:
      - johndoe
      - name: josh

  roles:
    - geerlingguy.github-users

Если вы хотите убедиться, что публичные ключи пользователей синхронизированы, лучше всего запускать плейбук по расписанию, например, каждые 5 минут, 10 минут или с другим интервалом. Так вам не придется вручную добавлять новые ключи для пользователей.

Лицензия

MIT / BSD

Информация об авторе

Эта роль была создана в 2017 году Джеффом Гирлингом, автором Ansible для DevOps.

О проекте

Create users based on GitHub accounts.

Установить
ansible-galaxy install geerlingguy/ansible-role-github-users
Лицензия
mit
Загрузки
384691
Владелец
Father, author, developer, maker. Sometimes called "an inflammatory enigma". #stl #drupal #ansible #k8s #raspberrypi #crohns