GROG.authorized-key
認可キー
認可キーを管理するための役割です。
この役割と一緒にうまく機能するために設計された役割は以下の通りです:
管理ユーザー役割は、これらの役割を1つの使いやすい役割に統合します。
要件
- ホストはAnsibleの使用のためにブートストラップされている必要があります(Pythonなどをインストール)
- ルート権限が必要です(例:
become: yes
)
ロール変数
変数 | 説明 | デフォルト値 |
---|---|---|
authorized_key_list |
ユーザーとそのキーのリスト (詳細を参照!) | [] |
authorized_key_list_host |
ユーザーとそのキーのリスト (詳細を参照!) | [] |
authorized_key_list_group |
ユーザーとそのキーのリスト (詳細を参照!) | [] |
authorized_key_exclusive |
exclusive のデフォルト値 |
no |
authorized_key_key_options |
key_options のデフォルト値 |
/ |
authorized_key_manage_dir |
manage_dir のデフォルト値 |
yes |
authorized_key_state |
state のデフォルト値 |
present |
authorized_key_list
の詳細
authorized_key_list
、authorized_key_list_host
、およびauthorized_key_list_group
は、認可キーを管理する際にマージされます。ホストやグループのリストを使用して、ホストまたはホストのグループごとにキーを指定できます。
認可キーリストを使用して、管理する必要があるユーザーとそのキーを定義できます。リスト内の各項目は、ユーザー名とキーのリストで構成されます。
変数 | 説明 | デフォルト |
---|---|---|
name |
ユーザー名 | / |
authorized_keys |
キーのリスト | / |
authorized_keys
のリスト内の各キーには、以下の属性を持つことができます:
変数 | 説明 | 必須 | デフォルト |
---|---|---|---|
exclusive |
このキーは排他的であるべきですか? | no | authorized_key_exclusive |
key |
SSHキー | yes | / |
key_options |
キーに追加するSSHキーオプション | no | / |
manage_dir |
authorized_keysディレクトリを管理しますか? | no | authorized_key_manage_dir |
path |
SSHキーのパス | no | 'home_dir/.ssh/authorized_keys' |
state |
キーの状態(present/absent) | no | authorized_key_state |
例 authorized_key_list
authorized_key_list:
- name: testuser1
authorized_keys:
- key: "{{ lookup('file', '/home/charlie/.ssh/id_rsa.pub') }}"
- key: "{{ lookup('file', '/home/john/.ssh/id_rsa.pub') }}"
state: absent
- name: testuser2
authorized_keys:
- key: "{{ lookup('file', '/home/charlie/.ssh/id_rsa.pub') }}"
依存関係
なし。
例のプレイブック
---
- hosts: servers
roles:
- { role: GROG.authorized-key, become: yes }
group_vars/servers.yml
内:
authorized_key_list_group:
- name: user
authorized_keys:
- key: "{{ lookup('file', '/home/charlie/.ssh/id_rsa.pub') }}"
- key: "{{ lookup('file', '/home/john/.ssh/id_rsa.pub') }}"
貢献
すべての支援、変更、アイデアは歓迎です!
著者
G. Roggemansによる
ライセンス
MIT