geerlingguy.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(またはオブジェクトでない場合は文字列としてリスト項目)になります。groupsにカンマ区切りのリストで追加することで、1つ以上のグループにユーザーを追加できます。

github_users_absent: []
  # 'name'(必須)を持つオブジェクトを指定できます:
  # - name: geerlingguy

  # またはGitHubのユーザー名を直接指定できます:
  # - geerlingguy

サーバーに存在してはならないユーザーのリストです。このロールはこれらのユーザーアカウントを削除します。

github_users_authorized_keys_exclusive: true

ユーザーのauthorized_keysファイルがGitHubアカウントの鍵のみを含むべきかどうかを設定します。通常、GitHubアカウントでのログインのみを許可する場合は、これをtrueに設定します。

github_url: https://github.com

デフォルトでは、ユーザー/鍵のソースとしてパブリックGitHub(つまり、https://github.com)を使用します。別のGitHubインスタンス/エンドポイント(例: GitHubエンタープライズ)を使用する場合は、これを上書きしてください。

ユーザーに自分の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

ユーザーの公開鍵が同期されていることを確認するには、プレイブックをcronで定期的に実行するのが最良です(例: 5分、10分などの間隔で)。これにより、ユーザーの新しい鍵を手動で追加する必要がなくなります。

ライセンス

MIT / BSD

作者情報

このロールは、Jeff Geerlingによって2017年に作成されました。彼はAnsible for DevOpsの著者です。

プロジェクトについて

Create users based on GitHub accounts.

インストール
ansible-galaxy install geerlingguy.github-users
ライセンス
mit
ダウンロード
385k
所有者
Father, author, developer, maker. Sometimes called "an inflammatory enigma". #stl #drupal #ansible #k8s #raspberrypi #crohns