geerlingguy.github-users

Ansible Rola: Użytkownicy GitHub

CI

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.

O projekcie

Create users based on GitHub accounts.

Zainstaluj
ansible-galaxy install geerlingguy.github-users
Licencja
mit
Pobrania
385k
Właściciel
Father, author, developer, maker. Sometimes called "an inflammatory enigma". #stl #drupal #ansible #k8s #raspberrypi #crohns