geerlingguy.github-users
Ansible Rola: Użytkownicy GitHub
Twórz użytkowników na podstawie kont GitHub.
Ta rola weźmie nazwę użytkownika GitHub i stworzy konto systemowe o tej samej nazwie, a następnie doda wszystkie klucze publiczne związane z kontem GitHub do pliku authorized_keys
użytkownika.
To prosty sposób zarządzania kluczami publicznymi dla użytkowników w twoim systemie... ale działa!
Wymagania
Brak.
Zmienne Roli
Dostępne zmienne są wymienione poniżej, wraz z wartościami domyślnymi (zobacz defaults/main.yml
):
github_users: []
# Możesz określić obiekt z 'name' (wymagany) i 'groups' (opcjonalny):
# - name: geerlingguy
# groups: www-data,sudo
# Lub możesz po prostu podać nazwę użytkownika GitHub:
# - geerlingguy
Lista użytkowników do dodania do serwera; nazwa użytkownika będzie name
(lub elementem listy, jeśli to ciąg zamiast obiektu). Możesz dodać użytkownika do jednej lub więcej grup (oprócz grupy [username]
) dodając je jako listę oddzieloną przecinkami w groups
.
github_users_absent: []
# Możesz określić obiekt z 'name' (wymagany):
# - name: geerlingguy
# Lub możesz po prostu podać nazwę użytkownika GitHub:
# - geerlingguy
Lista użytkowników, którzy nie powinni być obecni na serwerze. Rola zapewni, że te konta użytkowników zostaną usunięte.
github_users_authorized_keys_exclusive: true
Czy pliki authorized_keys
użytkowników powinny zawierać wyłącznie klucze z ich konta GitHub. To powinno być ustawione na true
, jeśli pozwalasz użytkownikom logować się tylko za pomocą kluczy dostępnych w ich kontach GitHub.
github_url: https://github.com
Domyślnie używaj publicznego GitHub (tj. https://github.com) jako źródła użytkowników/kluczy. Nadpisz to, aby użyć innej instancji/endpointu GitHub (np. GitHub Enterprise).
Jeśli musisz dać użytkownikowi możliwość samodzielnego zarządzania swoim plikiem authorized_keys
, powinieneś ustawić to na no
, wtedy nowe klucze będą tylko dodawane, ale żadne dodatkowe klucze (np. stare klucze usunięte z ich profilu GitHub lub klucze, które użytkownik dodał ręcznie) nie będą usuwane z pliku.
Zależności
Brak.
Przykład Playbooka
- hosts: servers
vars:
github_users:
# Możesz określić `name`:
- name: geerlingguy
groups: sudo,www-data
- name: GrahamCampbell
# Lub jeśli nie musisz nic nadpisywać, możesz po prostu podać
# nazwę użytkownika GitHub:
- fabpot
github_users_absent:
- johndoe
- name: josh
roles:
- geerlingguy.github-users
Jeśli chcesz upewnić się, że klucze publiczne użytkowników są zsynchronizowane, najlepiej uruchamiać playbook za pomocą cron, na przykład co 5 minut, 10 minut lub inny interwał. W ten sposób nie musisz ręcznie dodawać nowych kluczy dla użytkowników.
Licencja
MIT / BSD
Informacje o Autorze
Ta rola została stworzona w 2017 roku przez Jeffa Geerlinga, autora Ansible dla DevOps.
Create users based on GitHub accounts.
ansible-galaxy install geerlingguy.github-users