Training Course for Ansible Automation Platform
This project is maintained by ericzji
Read this in other languages: English,
日本語.
Ansible Tower の優れた機能として、認証情報を Tower 内部で適切に管理する方法を学びました。Ansible Tower のもう1つの利点は、ユーザーとグループの権限管理です。
Ansible Tower のユーザーには以下の3つのタイプがあります
Normal User インベントリやプロジェクトなどのオブジェクトに対する読み込み、書き込み権限は、そのユーザーに与えられたロールや権限に限定される
System Auditor Ansible Tower 環境内のすべてのオブジェクトの読み取り専用権限を有します
System Administrator Ansible Tower 環境内のすべてのオブジェクトに対して読み取り、書き込みの権限があります
早速ユーザーを作成しましょう
左のメニュー一覧から ユーザーをクリックします
緑色のプラスボタンをクリックします
新しいユーザーに関する情報を入力します
名 Werner
姓 Web
メール wweb@example.com
ユーザー名 wweb
ユーザータイプ Normal User
パスワード ansible
保存をクリック
チームは、ユーザー、プロジェクト、資格情報、および権限が関連付けられた組織の下位に当たる区分けです。チームは、ロールベースのアクセス制御スキームを実装し、組織全体に責任を委任する手段を提供します。たとえば、チームの各ユーザーではなく、チーム全体に権限が付与される場合があります。
チームを作成します
左のメニューでチームをクリック
緑色のプラスボタンをクリックして、 Web Content
という名前のチームを作成します
保存をクリックします
これでユーザーをチームに登録することができます。
チーム Web Content
内の ユーザー ボタンをクリックします
緑色のプラスボタンをクリックし、wweb ユーザーの横にあるチェックボックスをオンにして、保存をクリックします。
今度は、パーミッション ボタンをクリックしてみてください。 “パーミッションが付与されていません”と表示されていると思います。
権限を付与することにより、プロジェクト、インベントリ、およびその他の Ansible Tower 内のオブジェクトの読み取り、変更、および管理が可能になります。この権限は、Ansible Tower で管理するさまざまなリソースに設定できます。このあたりの柔軟性が Tower のもう一つの大きな特徴です。
ユーザーまたはチームが Ansible Tower 上で作業する場合、作業に対する適切なアクセス権限を持っている必要があります。新規に作成したユーザー wweb に対し、割り当てられた Web サーバーのコンテンツの変更(具体的には Create index.html ジョブテンプレートの実行権限)のみを許可してみましょう。
テンプレートを使用する権限を追加します。
チーム Web Content
内で パーミッション
を表示し、緑色のプラスボタンをクリックして権限を追加します。
新しいウィンドウが開きます。様々なオブジェクトに対してアクセス権限を設定できることが分かります。
ジョブテンプレートを選択します
Create index.html
テンプレートの横にあるチェックボックスをオンにしてテンプレートを選択します。
ウィンドウの2番目の部分が開きます。ここで、選択したリソースにロールを割り当てます。
保存をクリックします
Ansible Tower の Web UI からログアウトし、wwebユーザーとして再度ログインします。
Templates ビューに移動します。wweb の場合は、Create index.html テンプレートのみが表示されます。彼は、このテンプレートを閲覧したり、実行したりすることは許可されています。
ロケットのアイコンをクリックして、ジョブテンプレートを実行します。アンケートの内容を好みに合わせて入力し、ジョブを開始します。
ジョブの実行結果を確認ください。変更された内容があることが分かります。変数値ですね、もちろん。
結果を node1
に対する curl コマンドで確認します。
$ curl http://22.33.44.55
ここで実施した内容について理解できましたか?制限されたユーザーが権限を与えられることにより Ansible Playbook を実行できるようにしました。しかもこのユーザーは必要以上の権限は与えられていません。
資格情報にアクセスできない
Playbook 自体を変更できない
しかし、事前に定義された変数を定義する権限を有しています!
この様に、Ansible Tower では、認証情報を必要以上に提供したり、ユーザーに Playbook を変更したりする権限を与えることなく、柔軟に自動化を実行する権限のみを提供することができます。
この機能は、Ansible Towerの主な強みの1つです!