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


조직의 자동화 관리자는 조직 내의 다양한 그룹에서 Ansible 콘텐츠 컬렉션에 서명하고 게시하도록 프라이빗 자동화 허브를 구성할 수 있습니다.

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

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

Ansible 인증 콘텐츠 컬렉션에 성공적으로 서명하고 게시하려면 서명을 위해 프라이빗 자동화 허브를 구성해야 합니다.

사전 요구 사항

  • 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_* 로 시작하는 옵션은 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

    두 개의 새 키(automationhub_auto_sign_collections 및 Automation hub_require_content_approval)는 컬렉션이 프라이빗 자동화 허브에 업로드된 후 서명하고 승인되어야 함을 나타냅니다.

1.3.2. 프라이빗 자동화 허브에서 콘텐츠 서명 서비스 사용

프라이빗 자동화 허브에 콘텐츠 서명을 구성한 후 새 컬렉션에 수동으로 서명하거나 기존 서명을 새 서명으로 교체할 수 있습니다. 사용자가 특정 컬렉션을 다운로드할 때 이 서명은 컬렉션이 해당 컬렉션을 위한 것이며 인증 후 수정되지 않았음을 나타냅니다.

다음 시나리오에서 프라이빗 자동화 허브에서 콘텐츠 서명을 사용할 수 있습니다.

  • 시스템에 자동 서명이 구성되지 않았으며 수동 서명 프로세스를 사용하여 컬렉션에 서명해야 합니다.
  • 자동으로 구성된 컬렉션의 현재 서명이 손상되어 새 서명이 필요합니다.
  • 이전에 서명된 콘텐츠에 대한 추가 서명이 필요합니다.
  • 컬렉션에서 서명을 교체하려고 합니다.

프로세스

  1. Ansible Automation Platform에 로그인합니다.
  2. 탐색 패널에서 자동화 콘텐츠 컬렉션 승인 을 선택합니다. 승인 대시보드가 열리고 컬렉션 목록이 표시됩니다.
  3. 승인할 컬렉션 옆에 있는 엄지백 아이콘을 클릭합니다. 표시되는 모달에서 컬렉션을 승인할지 확인하는 상자를 선택하고 컬렉션 승인 및 서명 을 클릭합니다.

검증

  • Automation Content Collections 로 이동하여 서명된 컬렉션 및 승인된 컬렉션이 표시되는지 확인합니다.

1.3.3. 서명 공개 키 다운로드

컬렉션에 서명하고 승인한 후 Ansible Automation Platform UI에서 서명 공개 키를 다운로드합니다. 로컬 시스템 인증 키에 추가하기 전에 공개 키를 다운로드해야 합니다.

프로세스

  1. Ansible Automation Platform에 로그인합니다.
  2. 탐색 패널에서 Automation Content Signature Keys 를 선택합니다. 서명 키 대시보드에는 컬렉션 및 컨테이너 이미지 등 여러 키 목록이 표시됩니다.

    • 컬렉션을 확인하려면 collections- 접두사가 붙은 키를 다운로드합니다.
    • 컨테이너 이미지를 확인하려면 container- 접두사가 붙은 키를 다운로드합니다.
  3. 공개 키를 다운로드하려면 다음 방법 중 하나를 선택합니다.

    • 공개 키를 다운로드하려면 다운로드 키 아이콘을 클릭합니다.
    • 복사할 공개 키 옆에 있는 클립보드에 복사를 클릭합니다.

복사한 공개 키를 사용하여 설치 중인 콘텐츠 컬렉션을 확인합니다.

1.3.4. 컬렉션을 확인하도록 Ansible-Galaxy CLI 구성

컬렉션을 확인하도록 Ansible-Galaxy CLI를 구성할 수 있습니다. 이렇게 하면 다운로드한 컬렉션이 조직에서 승인되고 자동화 허브에 업로드된 후 변경되지 않았습니다.

컬렉션이 자동화 허브에 의해 서명된 경우 서버는 ASCII, GPG-detached 서명을 제공하여 컬렉션의 내용을 확인하기 전에 MANIFEST.json 의 진위 여부를 확인합니다. ansible-galaxy 의 인증 키를 구성하거나 --keyring 옵션을 사용하여 경로를 제공하여 서명 확인을 선택해야 합니다.

사전 요구 사항

  • 서명된 컬렉션은 자동화 허브에서 서명을 확인하는 데 사용할 수 있습니다.
  • 인증된 컬렉션은 조직 내에서 승인된 역할로 서명할 수 있습니다.
  • 확인을 위한 공개 키가 로컬 시스템 인증 키에 추가되었습니다.

프로세스

  1. ansible-galaxy 와 함께 사용할 기본이 아닌 인증 키로 공개 키를 가져오려면 다음 명령을 실행합니다.

    gpg --import --no-default-keyring --keyring ~/.ansible/pubring.kbx my-public-key.asc
    참고

    자동화 허브에서 제공하는 서명 외에도 요구 사항 파일과 명령줄에서 서명 소스를 제공할 수도 있습니다. 서명 소스는 URI여야 합니다.

  2. 추가 서명으로 CLI에 제공된 컬렉션 이름을 확인하려면 다음 명령을 실행합니다.

    ansible-galaxy collection install namespace.collection
    --signature https://examplehost.com/detached_signature.asc
    --signature file:///path/to/local/detached_signature.asc --keyring ~/.ansible/pubring.kbx

    이 옵션을 여러 번 사용하여 여러 서명을 제공할 수 있습니다.

  3. 다음 예제와 같이 요구 사항 파일의 컬렉션에 컬렉션 서명 키 뒤에 추가 서명 소스가 나열되는지 확인합니다.

    # requirements.yml
    collections:
      - name: ns.coll
        version: 1.0.0
        signatures:
          - https://examplehost.com/detached_signature.asc
          - file:///path/to/local/detached_signature.asc
    
    ansible-galaxy collection verify -r requirements.yml --keyring ~/.ansible/pubring.kbx

    자동화 허브에서 컬렉션을 설치하면 서버에서 제공한 서명이 설치된 컬렉션과 함께 저장되므로 컬렉션의 진위 여부를 확인할 수 있습니다.

  4. (선택 사항) Ansible Galaxy 서버를 쿼리하지 않고 컬렉션의 내부 일관성을 다시 확인해야 하는 경우 --offline 옵션을 사용하여 이전에 사용한 것과 동일한 명령을 실행합니다.

컬렉션 이름 지정에 대한 권장 사항이 있습니까?

company_name.product 형식으로 컬렉션을 생성합니다. 이 형식은 회사 네임스페이스 아래에 여러 제품이 서로 다른 컬렉션을 가질 수 있음을 의미합니다.

자동화 허브에 네임스페이스를 가져오려면 어떻게 해야 합니까?

기본적으로 Ansible Galaxy에 사용되는 네임스페이스는 Ansible 파트너 팀의 자동화 허브에도 사용됩니다. 모든 문의 및 설명이 필요한 경우 ansiblepartners@redhat.com.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.