第23章 カスタム認証情報タイプ
システム管理者は、YAML または JSON のような定義を使用して、標準形式でカスタム認証情報タイプを定義できます。既存の認証情報タイプと同様に機能するカスタム認証情報タイプを定義できます。たとえば、カスタム認証情報タイプを使用すると、Playbook やカスタムインベントリースクリプトで使用できるように、サードパーティーの Web サービスの API トークンを環境変数に挿入できます。
カスタム認証情報は、認証情報を挿入する以下の方法をサポートします。
- 環境変数
- Ansible の追加変数
-
ファイルベースのテンプレート (認証情報の値が含まれる
.ini
または.conf
ファイルの生成)
1 つの SSH 認証情報と複数のクラウド認証情報をジョブテンプレートにアタッチできます。クラウド認証情報ごとに、違う種類を指定する必要があります。各タイプの認証情報は 1 つだけ許可されます。Vault の認証情報とマシンの認証情報は別個のエンティティーです。
-
新しい認証情報タイプを作成するときは、
extra_vars
、env
、およびファイルの namespace で競合しないようにする必要があります。 -
環境変数または追加変数の名前は予約されているため、
ANSIBLE_
で始めることはできません。 -
認証情報タイプ (
CredentialType
) の作成および編集とCredentialType.injection
フィールドの表示をできるようにするには、システム管理者 (スーパーユーザー) パーミッションが必要です。
23.1. コレクションからのコンテンツ収集
「マネージド」認証情報タイプである kind=galaxy
は、プロジェクトの更新を実行するときに requirements.yml
で定義されたコレクションを取得するためのコンテンツソースを表します。コンテンツソースの例としては、galaxy.ansible.com、console.redhat.com、オンプレミス Automation Hub などがあります。この新しい認証情報タイプは、Ansible ドキュメントの Configuring the ansible-galaxy client で説明されているように、プロジェクトの更新で ansible-galaxy collection install
実行時に環境変数を構築するために必要な URL と (オプションの) 認証の詳細を表します。この認証情報タイプには、Ansible Galaxy CLI に公開される設定オプション (サーバーごとなど) に直接マップするフィールドがあります。
API のエンドポイントは、組織レベルでのこれらの認証情報の順序付きリストを反映します。
/api/v2/organizations/N/galaxy_credentials/
Automation Controller のインストールで既存の Galaxy 指向の設定値が移行されると、アップグレード後の適切な認証情報が作成され、すべての組織にアタッチされます。最新バージョンにアップグレードすると、アップグレード前に存在していたすべての組織に、関連付けられた 1 つ以上の"Galaxy" 認証情報のリストが作成されます。
さらに、アップグレード後は、これらの設定は /api/v2/settings/jobs/
エンドポイントから表示 (または編集) できなくなります。
Automation Controller は、galaxy.ansible.com
が組織のリストの最初の認証情報でない場合でも、パブリック Galaxy から直接ロールを取得し続けます。グローバルな Galaxy 設定は、ジョブレベルではなく、ユーザーインターフェイスの組織レベルで設定されます。
組織の Create organization および Edit organization ウィンドウに、kind=galaxy
の認証情報用のオプションの Galaxy Edit organization 検索フィールドがあります。
順序によりコンテンツの同期と検索の優先順位が設定されるため、これらの認証情報の順序を指定することが重要です。詳細は、組織の作成 を参照してください。
コレクションを使用してプロジェクトを設定する方法の詳細は、Automation Hub でのコレクションの使用 を参照してください。