第4章 Private Automation Hub のコレクションおよびコンテンツ署名
組織の自動化管理者は、組織内の異なるグループから Ansible コンテンツコレクションの署名および公開用にPrivate Automation Hub を設定できます。
セキュリティーを強化するために、自動化作成者は Ansible-Galaxy CLI を設定してこのコレクションを検証し、Automation Hub へのアップロード後に変更されていないことを確認できます。
4.1. Private Automation Hub でのコンテンツ署名の設定
Ansible 認定コンテンツコレクションを正常に署名して公開するには、署名する Private Automation Hub を設定する必要があります。
前提条件
- GnuPG キーペアがセキュアに設定され、組織で管理されている。
- 公開鍵と秘密鍵のペアには、Private Automation Hub でコンテンツ署名を設定するのに適切なアクセスがある。
手順
ファイル名のみを受け入れる署名スクリプトを作成します。
注記このスクリプトは署名サービスとして機能し、
PULP_SIGNING_KEY_FINGERPRINT環境変数で指定されたキーを使用して、そのファイルの ascii-armored 分離gpg署名を生成する必要があります。次に、スクリプトは、以下の形式で JSON 構造を出力します。
{"file": "filename", "signature": "filename.asc"}すべてのファイル名は、現在の作業ディレクトリー内の相対パスです。ファイル名は、以下に示すようにデタッチされた署名と同じである必要があります。
以下の例は、コンテンツの署名を生成するスクリプトを示しています。
#!/usr/bin/env bash FILE_PATH=$1 SIGNATURE_PATH="$1.asc" ADMIN_ID="$PULP_SIGNING_KEY_FINGERPRINT" PASSWORD="password" # Create a detached signature gpg --quiet --batch --pinentry-mode loopback --yes --passphrase \ $PASSWORD --homedir ~/.gnupg/ --detach-sign --default-key $ADMIN_ID \ --armor --output $SIGNATURE_PATH $FILE_PATH # Check the exit status STATUS=$? if [ $STATUS -eq 0 ]; then echo {\"file\": \"$FILE_PATH\", \"signature\": \"$SIGNATURE_PATH\"} else exit $STATUS fi署名が有効なプライベート Automation Hub を Ansible Automation Platform クラスターにデプロイした後、コレクションを操作すると、新しい UI が追加されたことが表示されます。
automationhub_*で始まるオプションについては、Ansible Automation Platform インストーラーのインベントリーファイルを確認してください。[all:vars] . . . automationhub_create_default_collection_signing_service = True automationhub_auto_sign_collections = True automationhub_require_content_approval = True automationhub_collection_signing_service_key = /abs/path/to/galaxy_signing_service.gpg automationhub_collection_signing_service_script = /abs/path/to/collection_signing.sh
2 つの新しいキー (automationhub_auto_sign_collections および automationhub_require_content_approval) は、コレクションに署名する必要があり、Private Automation Hub へのアップロード後に承認が必要であることを示しています。