자동화 허브에서 Red Hat Certified and Ansible Galaxy 컬렉션 관리

Red Hat Ansible Automation Platform 2.2

조정된 Red Hat Certified and Ansible Galaxy collections 콘텐츠를 사용자에게 제공하도록 Automation Hub를 구성합니다.

Red Hat Customer Content Services

초록

피드백 제공:
이 문서를 개선하거나 오류를 찾을 수 있는 제안이 있는 경우 문서 구성 요소를 사용하여 Ansible Automation Platform Jira 프로젝트에 문제를 생성하기 위해 에서 https://access.redhat.com 기술 지원에 문의하십시오.

머리말

Ansible Automation Platform 서브스크립션 또는 Ansible Galaxy를 통해 제공되는 커뮤니티 컬렉션을 통해 제공되는 Red Hat Certified Collections를 사용하도록 자동화 허브를 동기화할 수 있습니다.

조직에서 console.redhat.com에서 호스팅되는 자동화 허브 서비스의 모든 Red Hat Certified 콘텐츠에서 고유한 컬렉션에 액세스하고 큐레이션할 수 있습니다.

조직의 고유한 요구 사항에 맞게 맞춤형 Ansible 콘텐츠 컬렉션에 서명 및 게시하기 위해 프라이빗 자동화 허브를 구성할 수도 있습니다.

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

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 용어를 교체하기 위해 최선을 다하고 있습니다. 먼저 마스터(master), 슬레이브(slave), 블랙리스트(blacklist), 화이트리스트(whitelist) 등 네 가지 용어를 교체하고 있습니다. 이러한 변경 작업은 작업 범위가 크므로 향후 여러 릴리스에 걸쳐 점차 구현할 예정입니다. 자세한 내용은 CTO Chris Wright의 메시지를 참조하십시오.

1장. 자동화 허브에서 Red Hat Certified Collections synclists 관리

동기화 목록을 생성하여 자동화 허브를 사용하여 관련 Red Hat Certified collections 콘텐츠를 사용자에게 배포할 수 있습니다.

1.1. Red Hat Certified Collections synclists 정보

동기화 목록은 로컬 자동화 허브와 동기화하는 조직 관리자가 어셈블한 Red Hat Certified 컬렉션 그룹입니다. 동기화 목록을 사용하여 원하는 콘텐츠만 관리하고 불필요한 컬렉션을 제외합니다. console.redhat.com에서 Red Hat Certified collections의 일부로 사용 가능한 컨텐츠에서 동기화 목록을 설계 및 관리할 수 있습니다.

각 동기화 목록에는 자동화 허브의 콘텐츠에 대한 원격 소스로 지정하는 데 사용할 수 있는 고유한 리포지토리 URL이 있으며 API 토큰을 사용하여 안전하게 액세스할 수 있습니다.

1.2. Red Hat Certified Collections의 동기화 목록 생성

console.redhat.com의 자동화 허브에서 Red Hat Certified Collections의 동기화 목록을 생성할 수 있습니다. 동기화 목록 리포지토리는 Automation HubRepo Management 에 있으며, Red Hat Certified collections 내의 컨텐츠를 관리할 때마다 업데이트됩니다.

기본적으로 모든 Red Hat Certified 컬렉션은 초기 조직 동기화 목록에 포함됩니다.

사전 요구 사항

  • 유효한 Ansible Automation Platform 서브스크립션이 있습니다.
  • console.redhat.com에 대한 조직 관리자 권한이 있습니다.
  • 다음 도메인 이름이 방화벽 또는 프록시의 성공적인 연결을 위한 허용 목록에 포함되어 있는지 확인하고 자동화 허브 또는 Galaxy 서버에서 컬렉션을 다운로드하십시오.

    • galaxy.ansible.com
    • cloud.redhat.com
    • console.redhat.com
    • sso.redhat.com
  • 자동화 허브 리소스는 Amazon Simple Storage에 저장됩니다. 허용 목록에 다음 도메인 이름을 추가합니다.

    • automation-hub-prd.s3.us-east-2.amazonaws.com
    • ansible-galaxy.s3.amazonaws.com
  • 자체 서명된 인증서를 사용하는 경우 또는 Red Hat 도메인에 대해 SSL 검사가 비활성화됩니다.

절차

  1. console.redhat.com에 로그인합니다.
  2. Automation HubCollections 로 이동합니다.
  3. 각 컬렉션에서 토글 스위치를 사용하여 동기화 목록에서 제외할지 여부를 결정합니다.

동기화 목록에 대한 컬렉션 관리를 완료하면 Automation HubRepo Management 로 이동하여 로컬 자동화 허브에 대한 원격 리포지토리 동기화를 시작할 수 있습니다. 원격 리포지토리가 이미 구성된 경우 Red Hat Certified collections를 로컬 자동화 허브에 수동으로 동기화하여 로컬 사용자가 사용할 수 있는 컬렉션 콘텐츠를 업데이트할 수 있습니다.

2장. Red Hat Certified and Ansible Galaxy 컬렉션의 콘텐츠를 동기화하도록 자동화 허브 원격 리포지토리 구성

console.redhat.com의 조직 리포지토리에서 호스팅된 Red Hat Certified Collections와 동기화하거나 Ansible Galaxy에서 선택한 컬렉션과 동기화되도록 로컬 자동화 허브를 구성할 수 있습니다.

2.1. 원격 리포지토리 정보

console.redhat.com의 조직 리포지토리에서 호스팅되는 Red Hat Certified Collections와 동기화하고 원격 리포지토리를 구성하여 Ansible Galaxy에서 컬렉션을 선택하도록 로컬 자동화 허브를 구성할 수 있습니다.

Repo ManagementRemote 에 있는 각 원격 리포지토리는 리포지토리가 마지막으로 업데이트된 시기와 컨텐츠가 마지막으로 동기화된 시기에 대한 rh 인증커뮤니티 모두에 대한 정보를 제공합니다. Repo ManagementRemote 페이지에 포함된 편집동기화 기능을 사용하여 언제든지 자동화 허브에 새 콘텐츠를 추가할 수 있습니다.

2.2. Red Hat Certified Collections 동기화 URL 및 API 토큰 검색.

console.redhat.com에서 로컬 자동화 허브에 이르기까지 조직의 Red Hat 인증 컬렉션을 동기화할 수 있습니다.

사전 요구 사항

  • console.redhat.com에 대한 조직 관리자 권한이 있습니다.

절차

  1. console.redhat.com에 조직 관리자로 로그인합니다.
  2. Automation HubRepo Management 로 이동합니다.
  3. 동기화 URL 을 찾은 후 복사하여 클립보드에 복사 아이콘( Copy )을 클릭합니다. rh 인증 원격을 구성할 때 사용할 동기화 URL 을 파일에 붙여넣습니다.
  4. More actions icon ( More )을 클릭하고 Get token 을 클릭합니다.
  5. 토큰 관리 페이지에서 토큰 로드 를 클릭합니다.
  6. Copy to clipboard 를 클릭하여 API 토큰을 복사합니다.
  7. API 토큰을 파일에 붙여넣고 보안 위치에 저장합니다.
중요

API 토큰은 콘텐츠를 보호하는 데 사용되는 시크릿 토큰입니다. API 토큰을 안전한 위치에 저장합니다.

2.3. rh 인증 원격 리포지토리 구성 및 Red Hat Ansible 인증 콘텐츠 컬렉션 동기화.

rh 인증 원격 리포지토리를 편집하여 cloud.redhat.com에서 호스트된 자동화 허브에서 로컬 자동화 허브로 컬렉션을 동기화할 수 있습니다. 기본적으로 로컬 자동화 허브 rh- certified repository에는 cloud.redhat.com에서 사용할 수 있는 전체 Red Hat Certified Collections 그룹의 URL이 포함됩니다. 조직에서 지정한 컬렉션만 사용하려면 고유한 URL을 포함해야 합니다.

사전 요구 사항

  • 수정 Ansible 리포지토리 콘텐츠 권한이 있습니다. 권한에 대한 자세한 내용은 Automation Hub에서 사용자 액세스 관리를 참조하십시오.
  • console.redhat.com의 자동화 허브 호스트 서비스에서 동기화 URL 및 API 토큰을 검색했습니다.
  • 포트 443에 대한 액세스를 구성했습니다. 이는 인증된 컬렉션을 동기화하는 데 필요합니다. 자세한 내용은 Red Hat Ansible Automation Platform 계획 가이드의 네트워크 포트 및 프로토콜 장에 있는 자동화 허브 표를 참조하십시오.

절차

  1. 로컬 자동화 허브에 로그인합니다.
  2. Repo Management 로 이동합니다.
  3. 원격 탭을 클릭합니다.
  4. rh- certified remote에서 More actions 을 클릭하고 편집 을 클릭합니다.
  5. 모달에서는 cloud.redhat.com에서 가져온 동기화 URL 및 토큰을 붙여넣습니다.
  6. 저장을 클릭합니다.

모달이 닫히고 Repo 관리 페이지로 돌아갑니다. console.redhat.com과 프라이빗 자동화 허브의 조직 동기화 목록 간에 컬렉션을 동기화할 수 있습니다.

+ . 동기화 를 클릭하여 컬렉션을 동기화합니다.

상태 알림 동기화 가 업데이트되어 Red Hat Certified collections sync가 완료되었음을 알릴 수 있습니다.

검증

컬렉션 콘텐츠 드롭다운 목록에서 Red Hat 인증을 선택하여 컬렉션 콘텐츠가 동기화되었는지 확인할 수 있습니다.

2.4. 커뮤니티 원격 리포지토리 구성 및 Ansible Galaxy 컬렉션 동기화

커뮤니티 원격 리포지토리를 편집하여 선택한 컬렉션을 Ansible Galaxy에서 로컬 자동화 허브로 동기화할 수 있습니다. 기본적으로 로컬 자동화 허브 커뮤니티 리포지터리는 https://galaxy.ansible.com/api/ 로 이동합니다.

사전 요구 사항

requirements.yml 예

collections:
  # Install a collection from Ansible Galaxy.
  - name: community.aws
    version: 5.2.0
    source: https://galaxy.ansible.com

절차

  1. 로컬 자동화 허브에 로그인합니다.
  2. Repo Management 로 이동합니다.
  3. 원격 탭을 클릭합니다.
  4. 커뮤니티 원격에서 더 많은 작업 아이콘 More 을 클릭하고 편집 을 클릭합니다.
  5. 모달에서 찾아보기 를 클릭하고 로컬 머신에서 requirements.yml 파일을 찾습니다.
  6. 저장을 클릭합니다.

모달이 닫히고 Repo 관리 페이지로 돌아갑니다. 이제 Ansible Galaxy의 requirements.yml 파일에서 식별된 컬렉션을 로컬 자동화 허브로 동기화할 수 있습니다.

  1. 동기화 를 클릭하여 Ansible Galaxy 및 자동화 허브의 컬렉션을 동기화합니다.

상태 알림 동기화 를 업데이트하여 Ansible Galaxy 컬렉션의 완료 또는 실패가 자동화 허브와 동기화됨을 알립니다.

검증

컬렉션 콘텐츠 드롭다운 목록에서 커뮤니티를 선택하여 성공적으로 동기화되었는지 확인할 수 있습니다.

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)는 컬렉션에 서명해야 하며 개인 자동화 허브에 업로드된 후 승인이 필요함을 나타냅니다.

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

개인 자동화 허브에 대한 콘텐츠 서명을 구성한 후에는 수동으로 새 컬렉션에 서명하거나 기존 서명을 새 항목으로 교체할 수 있으므로 특정 컬렉션을 다운로드하려는 사용자가 해당 컬렉션을 위한 것이며 인증 후 수정되지 않은 사용자가 이를 보장하도록 할 수 있습니다.

프라이빗 자동화 허브의 콘텐츠 서명은 다음 시나리오에 대한 솔루션을 제공합니다.

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

절차

  1. 자동화 허브 UI에서 프라이빗 자동화 허브 인스턴스에 로그인합니다.
  2. 왼쪽 탐색에서 컬렉션승인 을 클릭합니다. 승인 대시보드는 컬렉션 목록과 함께 표시됩니다.
  3. 서명하고 서명할 각 컬렉션에 대해 Sign을 클릭하고 승인 합니다.
  4. 수동으로 서명하고 승인한 컬렉션이 컬렉션 탭에 표시되는지 확인합니다.

3.3. 컬렉션을 확인하기 위해 Ansible-Galaxy CLI 구성

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

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

사전 요구 사항

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

절차

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

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

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

  2. --signature 옵션을 사용하여 추가 서명으로 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 옵션을 사용하여 이전에 사용한 명령과 동일한 명령을 실행합니다.

4장. conclusion

이전 절차를 모두 완료하면 다음을 준비합니다.

  • Red Hat Certified collections 컨텐츠에 대한 동기화 목록을 생성합니다.
  • 해당 콘텐츠를 로컬 자동화 허브와 동기화했습니다.
  • Ansible Galaxy에서 지정된 커뮤니티 컬렉션을 지정하여 사용자에게 배포합니다.
  • 프라이빗 자동화 허브에 콘텐츠 서명 구성.
  • 조직의 특정 요구에 맞게 서명 및 승인된 컬렉션입니다.
  • 서명하기 전에 컬렉션을 확인하도록 Ansible-Galaxy CLI를 구성했습니다.

사용자는 이제 로컬 자동화 허브에서 컬렉션 콘텐츠를 보고 다운로드할 수 있습니다.

법적 공지

Copyright © 2023 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.