第3章 認証情報タイプ
Event-Driven Ansible Controller には、プロジェクトの同期、ルールブックアクティベーションの実行、自動化実行 (Automation Controller) によるジョブテンプレートの実行、コンテナーレジストリーからのイメージの取得、イベントストリームによるデータの処理に使用できるいくつかの認証情報タイプが組み込まれています。
これらの組み込みの認証情報タイプは編集できません。他のシステムによる認証に対応した認証情報タイプが必要な場合は、ソースプラグインで使用できる独自の認証情報タイプを作成できます。各認証情報タイプには、入力設定とインジェクター設定が含まれています。これらの設定を Ansible ルールブックに渡すことで、ソースを設定できます。
詳細は、カスタム認証情報タイプ を参照してください。
3.1. カスタム認証情報タイプ
システム管理者は、YAML または JSON ライクな定義を使用して、標準形式の既存の認証情報タイプと同様に機能するカスタム認証情報タイプを定義できます。
各認証情報タイプでは、該当する場合、Input Configuration フィールドと Injector Configuration フィールドに独自の固有の設定が表示されます。カスタム認証情報は、認証情報を注入する手段として Ansible の追加変数をサポートしています。
ルールブックアクティベーションに、1 つ以上のクラウド、Vault、および Red Hat Ansible Automation Platform の認証情報を割り当てることができます。
-
新しい認証情報タイプを作成するときは、
extra_vars
での競合を回避する必要があります。 - 追加の変数名の先頭を EDA_ にすることはできません。そのような変数名は予約されているためです。
- 認証情報タイプの作成と編集および Injector configuration フィールドの表示を行うには、システム管理者 (スーパーユーザー) 権限が必要です。
独自の認証情報タイプをカスタマイズすると、組み込みの認証情報タイプのリストとともに、認証情報タイプページに表示されます。
各認証情報タイプでは、該当する場合、Input Configuration フィールドと Injector Configuration フィールドに独自の固有の設定が表示されます。YAML 形式と JSON 形式の両方が設定フィールドでサポートされています。
入力設定
入力設定には 2 つの属性があります。
- フィールド - 認証情報タイプのプロパティー群。
- 必須 - 必須フィールドのリスト。
選択した認証情報タイプに応じて、フィールドに複数のプロパティーを設定できます。
フィールド | 説明 | 必須 (はい/いいえ) |
---|---|---|
id | フィールドの一意の ID。文字列型で、変数名を格納する必要があります。 | はい |
type | 文字列型またはブール型にすることができます。 | いいえ、デフォルトは文字列です。 |
label | UI 要素をレンダリングするときに UI によって使用されます。 | はい |
secret | 暗号化されます。 | いいえ、デフォルトは false です。 |
multiline | フィールドにファイルからのデータが含まれる場合は、multiline を True に設定できます。 | いいえ、デフォルトは false です。 |
help_text | このフィールドに関連するヘルプテキスト。 | いいえ |
インジェクター設定
インジェクター設定を使用すると、入力設定フィールドから情報を取得し、その情報を、ルールブックアクティベーションの実行時に ansible-rulebook に送信できるインジェクタータイプにマッピングできます。Event-Driven Ansible は、次のインジェクタータイプをサポートします。
-
環境変数 (
env
) - 基礎となるパッケージまたは共有ライブラリーのソースプラグインで使用されます。 -
Ansible 追加変数 (
extra_vars
) - ルールブックの条件、アクション、またはソースプラグインパラメーターの置換に使用されます。 -
ファイルベースのテンプレート (
file
) - ソースプラグインで必要になる可能性のある証明書やキーなどの認証情報入力からファイルコンテンツを作成するために使用されます。ファイルインジェクターを使用すると、これらの証明書とキーを決定環境に保存しなくても、実行時に ansible-rulebook に提供できます。その結果、ansible-rulebook は一時ファイルを作成し、そのファイル名にはeda.filename
変数を使用してアクセスできます。この変数は、ファイルが作成された後に自動的に作成されます (例: "{{eda.filename.my_cert}}”)。
ルールブックアクティベーションと認証情報タイプインジェクターで extra_vars
を作成する場合は、キー名に eda
または ansible
を使用しないでください。これは、内部使用と競合し、ルールブックアクティベーションと認証情報タイプの作成の両方で失敗する可能性があるためです。
上記のインジェクタータイプは、最上位レベルで重複キーを持つことができませんが、インジェクターを使用すると、上記のインジェクタータイプの 1 つとしてルールブックに注入できるようにフィールドが調整されます。ルールブックに username や password などのパラメーターを必要とする 2 つのソースがある場合、ルールブックとともにインジェクターを使用すると、各ソースの引数を調整できます。
サンプルのインジェクターと入力を表示するには、それぞれ次の GitHub gist を参照してください。