3장. 프라이빗 자동화 허브에서 컬렉션 및 콘텐츠 서명

조직의 자동화 관리자는 조직 내의 다양한 그룹에서 Ansible 콘텐츠 컬렉션에 서명하고 게시하기 위해 개인 자동화 허브를 구성할 수 있습니다.

추가 보안을 위해 자동화 작성자는 Ansible-Galaxy CLI를 구성하여 이러한 컬렉션을 자동화 허브에 업로드한 후 변경되지 않았는지 확인할 수 있습니다.

3.1. 프라이빗 자동화 허브에서 콘텐츠 서명 구성

Ansible Certified Content Collections에 서명하고 게시하려면 서명을 위해 프라이빗 자동화 허브를 구성해야 합니다.

사전 요구 사항

  • GnuPG 키 쌍은 조직에서 안전하게 설정 및 관리합니다.
  • 공개/개인 키 쌍에는 개인 자동화 허브에서 콘텐츠 서명 구성을 위한 적절한 액세스 권한이 있습니다.

절차

  1. 파일 이름만 허용하는 서명 스크립트를 생성합니다.

    참고

    이 스크립트는 서명 서비스 역할을 하며 PULP_SIGNING_KEY_FINGERPRINT 환경 변수를 통해 지정된 키를 사용하여 해당 파일에 대해 ascii-armored detached 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

    Ansible Automation Platform 클러스터에 서명이 활성화된 개인 자동화 허브를 배포한 후 컬렉션과 상호 작용할 때 새로운 UI 추가 디스플레이가 표시됩니다.

  2. automationhub_* 로 시작하는 옵션은 AAP 설치 프로그램 인벤토리 파일을 검토합니다.

    [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

    두 개의 새 키(automationhub_auto_sign_collectionsautomationhub_re_content_approval)는 컬렉션에 서명해야 하며 개인 자동화 허브에 업로드된 후 승인이 필요함을 나타냅니다.