11.5. 新しい認証情報タイプの作成
新規の認証情報タイプを作成するには、以下を実行します。
手順
Credential Types ビューで、 をクリックします。
Name および Description フィールドに詳細を入力します。
注記カスタムの認証タイプには無効であるため、認証タイプを新規作成する際には、INPUT 名、INJECTOR 名および ID に、
ANSIBLE_
で始まる予約済変数名を使用しないでください。Input Configuration フィールドで、対象のタイプの順序付きフィールドのセットを定義する入力スキーマを指定します。形式は YAML または JSON です。
YAML
fields: - type: string id: username label: Username - type: string id: password label: Password secret: true required: - username - password
YAML ページ でさらに YAML の例をご覧ください。
JSON
{ "fields": [ { "type": "string", "id": "username", "label": "Username" }, { "secret": true, "type": "string", "id": "password", "label": "Password" } ], "required": ["username", "password"] }
その他の JSON の例については、JSON Web サイト をご覧ください。
JSON 形式の次の設定は、各フィールドとその使用方法を示しています。
{ "fields": [{ "id": "api_token", # required - a unique name used to reference the field value "label": "API Token", # required - a unique label for the field "help_text": "User-facing short text describing the field.", "type": ("string" | "boolean") # defaults to 'string' "choices": ["A", "B", "C"] # (only applicable to `type=string`) "format": "ssh_private_key" # optional, can be used to enforce data format validity for SSH private key data (only applicable to `type=string`) "secret": true, # if true, the field value will be encrypted "multiline": false # if true, the field should be rendered as multi-line for input entry # (only applicable to `type=string`) },{ # field 2... },{ # field 3... }], "required": ["api_token"] # optional; one or more fields can be marked as required },
type=string
の場合、フィールドではオプションで複数の選択オプションから指定できます。{ "fields": [{ "id": "api_token", # required - a unique name used to reference the field value "label": "API Token", # required - a unique label for the field "type": "string", "choices": ["A", "B", "C"] }] },
インジェクター設定 フィールドに、認証情報タイプが挿入できる値を指定する環境変数または追加変数を入力します。形式は YAML または JSON に指定できます (前の手順の例を参照)。
JSON 形式の次の設定は、各フィールドとその使用方法を示しています。
{ "file": { "template": "[mycloud]\ntoken={{ api_token }}" }, "env": { "THIRD_PARTY_CLOUD_API_TOKEN": "{{ api_token }}" }, "extra_vars": { "some_extra_var": "{{ username }}:{{ password }}" } }
認証情報タイプは、
.ini
ファイルまたは証明書/キーデータをサポートする一時ファイルも生成します。{ "file": { "template": "[mycloud]\ntoken={{ api_token }}" }, "env": { "MY_CLOUD_INI_FILE": "{{ tower.filename }}" } }
この例では、Automation Controller が次の内容を含む一時ファイルを書き込みます。
[mycloud]\ntoken=SOME_TOKEN_VALUE
生成されるファイルへの絶対ファイルパスは、
MY_CLOUD_INI_FILE
という名前の環境変数に保存されます。以下は、カスタム認証情報テンプレートで多数のファイルを参照する例です。
Inputs
{ "fields": [{ "id": "cert", "label": "Certificate", "type": "string" },{ "id": "key", "label": "Key", "type": "string" }] }
Injectors
{ "file": { "template.cert_file": "[mycert]\n{{ cert }}", "template.key_file": "[mykey]\n{{ key }}" }, "env": { "MY_CERT_INI_FILE": "{{ tower.filename.cert_file }}", "MY_KEY_INI_FILE": "{{ tower.filename.key_file }}" } }
新しく作成した認証情報タイプが、認証情報タイプのリストに表示されます。
編集アイコン をクリックして、認証情報タイプのオプションを変更します。
注記Edit 画面では、詳細の変更や、認証情報の削除ができます。Delete オプションが無効になっている場合は、その認証情報タイプが認証情報によって使用されています。認証情報タイプを削除する前に、それを使用しているすべての認証情報からその認証情報タイプを削除する必要があります。
検証
- 新規の認証情報の作成時に、新規に作成された認証情報タイプを Credential Type 選択ウィンドウから選択できることを確認します。
関連情報
新しい認証情報を作成する方法については、認証情報の作成 を参照してください。