github-users
Ansible Роль: Пользователи GitHub
Создание пользователей на основе аккаунтов 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