자동화 콘텐츠 관리


Red Hat Ansible Automation Platform 2.6

자동화 허브에서 컬렉션, 콘텐츠 및 리포지토리 생성 및 관리

Red Hat Customer Content Services

초록

이 가이드에서는 자동화 허브에서 콘텐츠를 생성, 편집, 삭제 및 이동하는 방법을 보여줍니다.

Red Hat 문서에 관한 피드백 제공

이 문서를 개선하기 위한 제안이 있거나 오류를 찾을 수 있는 경우 https://access.redhat.com 에서 기술 지원에 문의하여 요청을 열 수 있습니다.

1장. 자동화 허브에서 Red Hat 인증, 검증 및 Ansible Galaxy 콘텐츠

Ansible 인증 콘텐츠 컬렉션은 Red Hat Ansible Automation Platform 서브스크립션에 포함되어 있습니다. Ansible 자동화 허브를 사용하면 모든 Ansible 콘텐츠 양식에서 고유한 컬렉션 집합에 액세스하고 큐레이트할 수 있습니다.

Red Hat Ansible 콘텐츠에는 다음 두 가지 유형의 콘텐츠가 포함되어 있습니다.

  • Ansible 인증 콘텐츠 컬렉션
  • Ansible 검증 콘텐츠 컬렉션

Ansible 인증 콘텐츠 컬렉션 또는 Ansible 검증 콘텐츠 컬렉션을 모두 사용하여 자동화 라이브러리를 빌드할 수 있습니다. Ansible Certified Content Collections 및 Ansible 검증 콘텐츠 컬렉션의 차이점에 대한 자세한 내용은 지식베이스 문서 Ansible 인증 콘텐츠 컬렉션 및 Ansible 검증 콘텐츠 또는 이 가이드의 Ansible 검증 콘텐츠를 참조하십시오.

패키지를 다운로드하여 이러한 컬렉션을 수동으로 업데이트할 수 있습니다.

Ansible 자동화 허브를 사용하여 요구 사항 파일을 생성하여 관련 Red Hat Ansible 인증 콘텐츠 컬렉션을 사용자에게 배포할 수 있습니다.

요구 사항 파일을 사용하여 콘텐츠를 설치하려면 먼저 다음을 수행해야 합니다.

1.1. 콘텐츠를 동기화하도록 Ansible 자동화 허브 원격 리포지토리 구성

원격 구성을 사용하여 console.redhat.com 에서 호스팅되는 Ansible 인증 콘텐츠 컬렉션 또는 Ansible Galaxy의 컬렉션과 동기화되도록 프라이빗 자동화 허브를 구성합니다.

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

Ansible Galaxy와 Ansible 자동화 허브의 차이점은 무엇입니까?

Ansible Galaxy에 게시된 컬렉션은 Ansible 커뮤니티에서 게시한 최신 콘텐츠이며 이와 관련된 공동 지원 클레임이 없습니다. Ansible Galaxy는 Ansible 커뮤니티에서 콘텐츠에 액세스하기 위해 권장되는 프런트 엔드 디렉터리입니다.

Ansible 자동화 허브에 게시된 컬렉션은 Red Hat 및 선택한 파트너사의 공동 고객을 대상으로 합니다. 고객은 Ansible 자동화 허브에서 컬렉션에 액세스하고 다운로드하려면 Ansible 서브스크립션이 필요합니다. 인증된 컬렉션은 Red Hat과 파트너사가 전략적 관계를 맺고 공동 고객을 지원할 준비가 되어 있으며 컬렉션에 대한 추가 테스트 및 검증이 있을 수 있음을 의미합니다.

Ansible Galaxy에서 네임스페이스를 요청하려면 어떻게 해야 합니까?

Ansible Galaxy GitHub 문제를 통해 네임스페이스를 요청하려면 다음 단계를 따르십시오.

시스템의 유효성을 검사하려면 한 번 이상 로그인해야 합니다.

사용자가 네임스페이스 관리자로 추가되면 self-serve 프로세스를 사용하여 관리자를 추가할 수 있습니다.

Ansible Galaxy 네임스페이스 이름 지정에 대한 제한 사항이 있습니까?

컬렉션 네임스페이스는 Python 모듈 이름 규칙을 따라야 합니다. 즉, 컬렉션에는 모두 소문자 이름이 짧아야 합니다. 가독성을 향상시키는 경우 컬렉션 이름에 밑줄을 사용할 수 있습니다.

1.1.1. 자동화 허브의 토큰 관리

컬렉션을 업로드하거나 다운로드하여 자동화 허브와 상호 작용하려면 먼저 API 토큰을 생성해야 합니다. 자동화 허브 API 토큰은 ansible-galaxy 클라이언트를 Red Hat 자동화 허브 서버에 인증합니다.

참고

자동화 허브는 기본 인증 또는 서비스 계정을 통한 인증을 지원하지 않습니다. 토큰 관리를 사용하여 인증해야 합니다.

API 토큰을 생성하는 방법은 사용 중인 자동화 허브 유형에 따라 다릅니다.

1.1.2. 자동화 허브에서 오프라인 토큰 생성

자동화 허브에서는 토큰 관리를 사용하여 오프라인 토큰을 생성할 수 있습니다. 오프라인 토큰은 콘텐츠를 보호하는 데 사용되는 시크릿 토큰이므로 안전한 위치에 저장해야 합니다.

프로세스

  1. Red Hat Hybrid Cloud Console에서 Ansible Automation Platform 으로 이동합니다.
  2. 탐색 패널에서 Automation HubConnect to Hub 선택합니다.
  3. 오프라인 토큰 에서 로드 토큰 을 클릭합니다.
  4. Copy to clipboard 아이콘을 클릭하여 오프라인 토큰을 복사합니다.
  5. 토큰을 파일에 붙여넣고 안전한 위치에 저장합니다.

추가 리소스

오프라인 토큰은 30일 동안 활동이 없으면 만료됩니다. 새로운 오프라인 토큰을 얻는 방법에 대한 자세한 내용은 오프라인 토큰 활성 유지를 참조하십시오.

다음 단계

이제 ansible-galaxy 명령줄 툴을 사용하여 자동화 허브를 기본 컬렉션 서버로 구성하거나 컬렉션을 업로드하는 데 오프라인 토큰을 사용할 수 있습니다.

1.1.3. 프라이빗 자동화 허브에서 API 토큰 생성

프라이빗 자동화 허브에서는 API 토큰 관리를 사용하여 API 토큰을 생성할 수 있습니다. API 토큰은 콘텐츠를 보호하는 데 사용되는 시크릿 토큰이므로 안전한 위치에 저장해야 합니다.

API 토큰이 만료되지 않습니다.

사전 요구 사항

  • Red Hat Ansible Automation Platform에 유효한 서브스크립션 인증 정보입니다.

프로세스

  1. 프라이빗 자동화 허브에 로그인합니다.
  2. 탐색 패널에서 Automation ContentAPI 토큰 을 선택합니다.
  3. 로드 토큰 을 클릭합니다.
  4. API 토큰을 복사하려면 Copy to clipboard 아이콘을 클릭합니다.
  5. API 토큰을 파일에 붙여넣고 안전한 위치에 저장합니다.

다음 단계

이제 Ansible -galaxy 명령줄 툴을 사용하여 자동화 허브를 기본 컬렉션 서버로 구성하거나 컬렉션을 업로드하는 데 API 토큰을 사용할 수 있습니다.

1.1.4. 오프라인 토큰을 활성 상태로 유지

오프라인 토큰은 30일 동안 비활성화된 후 만료됩니다. 오프라인 토큰이 활성 상태를 유지하여 만료되지 않도록 유지할 수 있습니다.

오프라인 토큰을 활성 상태로 유지하는 것은 애플리케이션이 사용자를 대신하여 작업을 수행할 때 유용합니다. 예를 들어 사용자가 오프라인 상태일 때 애플리케이션이 일상적인 데이터 백업을 수행할 수 있습니다.

참고

오프라인 토큰이 만료된 경우 새 토큰을 가져와야 합니다.

프로세스

  • 다음 명령을 실행하여 토큰이 만료되지 않도록 합니다.

    curl https://sso.redhat.com/auth/realms/redhat-external/protocol/openid-connect/token -d grant_type=refresh_token -d client_id="cloud-services" -d refresh_token="{{ user_token }}" --fail --silent --show-error --output /dev/null
    Copy to Clipboard Toggle word wrap

rh- certified remote repository를 편집하여 console.redhat.com에서 호스팅되는 자동화 허브의 컬렉션을 프라이빗 자동화 허브에 동기화할 수 있습니다. 기본적으로 프라이빗 자동화 허브 rh- certified repository에는 Ansible 인증 콘텐츠 컬렉션의 전체 그룹에 대한 URL이 포함되어 있습니다.

조직에서 지정한 컬렉션만 사용하기 위해 프라이빗 자동화 허브 관리자는 rh- certified remote에서 수동으로 생성된 요구 사항 파일을 업로드할 수 있습니다.

요구 사항 파일에 컬렉션 A,BC 가 있고 사용하려는 새 컬렉션 X 가 console.redhat.com에 추가되는 경우 프라이빗 자동화 허브를 동기화하려면 요구 사항 파일에 X 를 추가해야 합니다.

사전 요구 사항

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

프로세스

  1. Ansible Automation Platform에 로그인합니다.
  2. 탐색 패널에서 Automation ContentRemotes 를 선택합니다.
  3. rh- certified remote repository에서 Edit remote 를 클릭합니다.
  4. URL 필드에 동기화 URL 을 붙여넣습니다.
  5. 토큰 필드에 console.redhat.com에서 얻은 토큰을 붙여넣습니다.
  6. 원격 저장을 클릭합니다.

결과

이제 console.redhat.com의 컬렉션을 프라이빗 자동화 허브에 동기화할 수 있습니다.

다음 단계

동기화 단계는 자동화 허브에서 Ansible 콘텐츠 컬렉션 동기화를 참조하십시오.

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

사전 요구 사항

  • 수정 Ansible 리포지토리 콘텐츠 권한이 있습니다. 권한에 대한 자세한 내용은 액세스 관리 및 인증을 참조하십시오.
  • 다음 예제와 같이 Ansible Galaxy에서 동기화할 컬렉션을 식별하는 requirements.yml 파일이 있습니다.

    requirements.yml 예

    collections:
      # Install a collection from Ansible Galaxy.
      - name: community.aws
        version: 5.2.0
        source: https://galaxy.ansible.com
    Copy to Clipboard Toggle word wrap

프로세스

  1. Ansible Automation Platform에 로그인합니다.
  2. 탐색 패널에서 Automation ContentRemotes 를 선택합니다.
  3. 커뮤니티 원격의 세부 정보 탭에서 원격 편집을 클릭합니다.
  4. YAML requirements 필드에 requirements.yml 파일의 내용을 붙여넣습니다.
  5. 원격 저장을 클릭합니다.

결과

이제 Ansible Galaxy의 requirements.yml 파일에서 식별된 컬렉션을 프라이빗 자동화 허브로 동기화할 수 있습니다.

다음 단계

동기화 단계는 자동화 허브에서 Ansible 콘텐츠 컬렉션 동기화를 참조하십시오.

1.1.7. 프록시 설정 구성

프라이빗 자동화 허브가 네트워크 프록시 뒤에 있는 경우 로컬 네트워크 외부에 있는 콘텐츠를 동기화하도록 원격에 프록시 설정을 구성할 수 있습니다.

사전 요구 사항

  • 유효한 Modify Ansible repo 콘텐츠 권한이 있습니다. 권한에 대한 자세한 내용은 액세스 관리 및 인증을참조하십시오.
  • 로컬 네트워크 관리자의 프록시 URL 및 인증 정보가 있습니다.

프로세스

  1. Ansible Automation Platform에 로그인합니다.
  2. 탐색 패널에서 Automation ContentRemotes 를 선택합니다.
  3. rh- certified 또는 Community 원격에서 More Actions 아이콘을 클릭하고 Edit remote 를 선택합니다.
  4. 고급 옵션 표시 드롭다운 메뉴를 확장합니다.
  5. 적절한 필드에 프록시 URL, 프록시 사용자 이름 및 프록시 암호를 입력합니다.
  6. 원격 저장을 클릭합니다.

1.1.8. 요구 사항 파일 생성

요구 사항 파일을 사용하여 자동화 허브에 컬렉션을 추가합니다. 요구 사항 파일은 YAML 형식으로 되어 있으며 자동화 허브에 설치할 컬렉션을 나열합니다.

표준 requirements.yml 파일에는 다음 매개변수가 포함되어 있습니다.

  • name: < namespace>.<collection_name> 형식으로 지정된 컬렉션의 이름입니다.
  • 버전: 컬렉션 버전 번호

프로세스

  • 요구 사항 파일을 생성합니다.

    YAML 형식에서 요구 사항 파일의 컬렉션 정보는 다음과 같아야 합니다.

    collections:
     name: namespace.collection_name
     version: 1.0.0
    Copy to Clipboard Toggle word wrap

컬렉션 버전 번호를 지정해야 합니다. 그러지 않으면 모든 컬렉션 버전을 동기화합니다. 모든 버전을 동기화하려면 예상보다 많은 공간이 필요할 수 있습니다.

다음 단계

요구 사항 파일의 컬렉션을 동기화하려면 Ansible 콘텐츠 컬렉션 동기화 단계를 따르십시오.

1.2. 자동화 허브에서 Ansible 콘텐츠 컬렉션 동기화

콘텐츠를 동기화하려면 요구 사항 파일을 적절한 원격에 만들고 업로드합니다. 원격은 외부 컬렉션 소스에서 사용자 지정 리포지토리에 콘텐츠를 동기화할 수 있는 구성입니다.

1.2.1. Ansible 콘텐츠 컬렉션 동기화

console.redhat.com의 Ansible 자동화 허브에서 인증되고 검증된 컬렉션을 동기화할 수 있습니다.

참고

콘텐츠를 동기화할 때는 자동화 허브에서 다른 리포지토리의 종속성을 확인하지 않습니다. 오류를 방지하려면 원격 설정을 편집하여 종속성 다운로드를 끕니다. 자세한 내용은 자동화 허브에서 원격 구성 생성 을 참조하십시오.

사전 요구 사항

  • 유효한 Ansible Automation Platform 서브스크립션이 있어야 합니다.
  • console.redhat.com에 대한 조직 관리자 권한이 있습니다.
  • 요구 사항 파일을 생성했습니다.
  • 다음 도메인 이름은 방화벽 또는 프록시의 허용 목록에 포함됩니다. 자동화 허브 또는 Galaxy 서버에서 컬렉션을 성공적으로 연결하고 다운로드하는 데 필요합니다.

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

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

콘텐츠 동기화를 시작하기 전에 자동화 콘텐츠를 동기화하기 위한 지식베이스 문서 리소스 요구 사항을 참조하여 필요한 컬렉션을 동기화하는 리소스가 있는지 확인하십시오.

프로세스

  1. 탐색 패널에서 Automation ContentRemotes 를 선택합니다.
  2. 동기화할 원격을 찾고 연필 아이콘 Edit 을 클릭하여 편집합니다.
  3. 요구 사항 파일 레이블이 지정된 필드를 찾습니다. 여기에는 요구 사항 파일의 내용을 붙여넣거나 업로드 버튼을 선택하여 하드 드라이브에서 파일을 업로드할 수 있습니다.
  4. 원격 저장을 클릭합니다.
  5. 동기화를 시작하려면 탐색 패널에서 자동화 콘텐츠리포지토리 를 선택합니다.
  6. 동기화할 리포지토리가 포함된 행에서 Cryostat 아이콘을 클릭하고 Sync repository 리포지토리 동기화 아이콘을 선택하여 프라이빗 자동화 허브에 대한 원격 리포지토리 동기화를 시작합니다.
  7. 표시되는 모달에서는 다음 옵션을 전환할 수 있습니다.

    • mirror: 저장소 콘텐츠가 원격 저장소의 콘텐츠를 미러링하도록 하려면 선택합니다.
    • optimize: 원격 서버에서 변경 사항을 보고하지 않는 경우에만 동기화하려는 경우 선택합니다.
  8. 동기화 를 클릭하여 동기화를 완료합니다.

검증

Sync 상태 열이 업데이트되어 동기화가 성공했는지 여부를 알립니다.

  • Automation ContentCollections 로 이동하여 컬렉션 콘텐츠가 동기화되었는지 확인합니다.

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"}
    Copy to Clipboard Toggle word wrap

    모든 파일 이름은 현재 작업 디렉터리 내부의 상대 경로입니다. 분리된 서명에는 파일 이름이 동일해야 합니다.

    예제:

    다음 스크립트는 콘텐츠에 대한 서명을 생성합니다.

    #!/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
    Copy to Clipboard Toggle word wrap

    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
    Copy to Clipboard Toggle word wrap

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

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

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

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

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

프로세스

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

검증

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

1.3.3. 서명 공개 키 다운로드

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

프로세스

  1. Ansible Automation Platform에 로그인합니다.
  2. 탐색 패널에서 Automation ContentSignature 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
    Copy to Clipboard Toggle word wrap
    참고

    자동화 허브에서 제공하는 서명 외에도 요구 사항 파일과 명령줄에서 서명 소스를 제공할 수도 있습니다. 서명 소스는 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
    Copy to Clipboard Toggle word wrap

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

  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
    Copy to Clipboard Toggle word wrap

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

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

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

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

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

1.4. Ansible 검증 콘텐츠

Red Hat Ansible Automation Platform에는 기존 Red Hat Ansible 인증 콘텐츠를 보완하는 Ansible 검증 컨텐츠가 포함되어 있습니다.

Ansible 검증 콘텐츠는 Red Hat과 신뢰할 수 있는 파트너 모두의 다양한 플랫폼에서 운영 작업을 수행할 수 있는 전문가 주도의 경로를 제공합니다.

1.4.1. 설치 프로그램을 사용하여 검증된 컬렉션 구성

RPM 번들 설치 프로그램을 다운로드하여 실행하면 인증된 컬렉션이 자동으로 업로드됩니다. 인증된 컬렉션은 rh- certified repository에 업로드됩니다. 검증된 컬렉션은 검증된 리포지토리에 업로드됩니다.

다음 두 변수를 사용하여 기본 구성을 변경할 수 있습니다.

  • Automationhub_seed_collections 는 사전 로드 여부를 정의하는 부울입니다.
  • Automationhub_collection_seed_repositorytrue 로 설정된 경우 업로드할 콘텐츠 유형을 지정할 수 있는 변수입니다. 가능한 값은 인증 또는 검증 입니다. 이 변수가 없으면 두 콘텐츠 세트가 모두 업로드됩니다.
참고

기본 구성을 변경하려면 사용할 수 있는 다른 콘텐츠에 대한 추가 플랫폼 구성을 변경해야 할 수 있습니다.

2장. 자동화 허브에서 컬렉션 관리

콘텐츠 작성자는 자동화 허브에서 네임스페이스를 사용하여 컬렉션을 큐레이트하고 관리할 수 있습니다. 예를 들면 다음을 수행할 수 있습니다.

  • 네임스페이스를 선별하고 개인 자동화 허브에 컬렉션을 업로드할 수 있는 권한이 있는 팀을 생성
  • 자동화 작업에서 컬렉션의 최종 사용자를 돕기 위해 네임스페이스에 정보와 리소스를 추가합니다.
  • 네임스페이스에 컬렉션 업로드
  • 네임스페이스 가져오기 로그를 확인하여 컬렉션 및 현재 승인 상태를 업로드 성공 또는 실패 여부를 확인합니다.

콘텐츠 생성에 대한 자세한 내용은 자동화 콘텐츠 개발을 참조하십시오.

2.1. 네임스페이스를 사용하여 자동화 허브의 컬렉션 관리

네임스페이스는 콘텐츠 컬렉션을 업로드하고 게시할 수 있는 자동화 허브의 고유한 위치입니다. 자동화 허브의 네임스페이스에 대한 액세스는 팀에 의해 관리되며, 해당 콘텐츠 및 관련 정보를 관리할 수 있는 권한이 있습니다.

자동화 허브에서 네임스페이스를 사용하여 내부 배포 및 사용을 위해 조직 내에서 개발된 컬렉션을 구성할 수 있습니다.

네임스페이스를 사용하는 경우 컬렉션을 생성, 편집 및 업로드할 수 있는 권한이 있는 팀이 네임스페이스에 있어야 합니다. 네임스페이스에 업로드된 컬렉션에는 게시하고 사용할 수 있도록 하기 전에 관리 승인이 필요합니다.

2.1.1. 콘텐츠 큐레이터를 위한 새 팀 생성

조직의 콘텐츠 큐레이션을 지원하도록 설계된 Ansible Automation Platform에서 새 팀을 생성할 수 있습니다. 이 팀은 프라이빗 자동화 허브에 게시하기 위해 내부적으로 개발한 컬렉션에 기여할 수 있습니다.

콘텐츠 개발자가 네임스페이스를 생성하고 내부적으로 개발한 컬렉션을 프라이빗 자동화 허브에 업로드하려면 먼저 팀을 생성 및 편집하고 필요한 권한을 할당해야 합니다.

사전 요구 사항

  • Ansible Automation Platform에서 관리 권한이 있으며 팀을 생성할 수 있습니다.

프로세스

  1. Ansible Automation Platform에 로그인합니다.
  2. 탐색 패널에서 액세스 관리팀을 선택하고 을 클릭합니다.
  3. 팀 이름으로 Content Engineering 을 입력합니다.
  4. 팀의 조직을 선택합니다.
  5. 팀 생성을 클릭합니다. 새 팀을 생성하고 팀 세부 정보 페이지가 열립니다.
  6. Roles 탭을 선택한 다음 Automation Content 탭을 선택합니다.
  7. 역할 추가를 클릭합니다.
  8. 리소스 유형 목록에서 네임스페이스 를 선택하고 다음을 클릭합니다.
  9. 새 역할을 수신할 네임스페이스를 선택하고 Next 를 클릭합니다.
  10. 선택한 네임스페이스에 적용할 역할을 선택하고 Next 를 클릭합니다.
  11. 선택을 검토하고 마침 을 클릭합니다.
  12. 닫기 를 클릭하여 프로세스를 완료합니다.

    새 팀은 사용자가 할당한 권한으로 생성됩니다. 그런 다음 사용자를 팀에 추가할 수 있습니다.

  13. 페이지에서 사용자 탭을 클릭합니다.
  14. 사용자 추가를 클릭합니다.
  15. 사용자를 선택하고 사용자 추가 를 클릭합니다.

팀을 통한 액세스 관리에 대한 자세한 내용은 액세스 관리 및 인증 가이드의 팀을 참조하십시오. https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/html/access_management_and_authentication/gw-managing-access#assembly-controller-teams_gw-manage-rbac

2.1.2. 네임스페이스 생성

네임스페이스를 생성하여 콘텐츠 개발자가 자동화 허브에 업로드하는 컬렉션을 구성할 수 있습니다. 네임스페이스를 생성할 때 해당 네임스페이스 소유자로 자동화 허브의 팀을 할당할 수 있습니다.

사전 요구 사항

  • 네임스페이스 추가 및 네임스페이스에 업로드 권한이 있습니다.

프로세스

  1. Ansible Automation Platform에 로그인합니다.
  2. 탐색 패널에서 자동화 콘텐츠네임스페이스를 선택합니다.
  3. 네임스페이스 생성 을 클릭하고 네임스페이스의 이름을 입력합니다.
  4. 선택 사항: 적절한 필드에 설명, 회사, 로고 URL, 리소스 또는 유용한 링크를 입력합니다.
  5. 네임스페이스 생성을 클릭합니다.
  6. 팀 액세스 탭을 선택하고 역할 추가 를 클릭하여 네임스페이스에 역할을 할당합니다.
  7. 역할을 부여할 팀을 선택한 다음 다음을 클릭합니다.
  8. 선택한 팀에 적용할 역할을 선택한 다음 Next 를 클릭합니다.
  9. 선택을 검토하고 마침 을 클릭합니다.
  10. 닫기 를 클릭하여 프로세스를 완료합니다.

다음 단계

이제 콘텐츠 개발자가 새 네임스페이스에 컬렉션을 업로드하고 소유자로 할당된 팀의 사용자가 컬렉션을 업로드할 수 있습니다.

2.1.3. 네임스페이스에 추가 정보 및 리소스 추가

네임스페이스에 포함된 정보를 추가하고 사용자를 위한 리소스를 회사 컬렉션에 제공할 수 있습니다. 예를 들어 로고 및 설명을 추가하고 사용자를 GitHub 리포지토리, 문제 추적기 또는 기타 온라인 자산에 연결할 수 있습니다. 리소스 필드에 마크다운 텍스트를 입력하여 자세한 정보를 포함할 수도 있습니다. 이 기능은 컬렉션을 자동화 작업에서 사용하는 사용자에게 유용합니다.

사전 요구 사항

  • 네임스페이스 권한 변경이 있습니다.

프로세스

  1. Ansible Automation Platform에 로그인합니다.
  2. 탐색 패널에서 자동화 콘텐츠네임스페이스를 선택합니다.
  3. 편집할 네임스페이스를 선택합니다.
  4. Edit namespace 를 클릭합니다.
  5. 필드에 관련 정보를 입력합니다.
  6. 선택 사항: Resources 필드에 마크다운 정보를 입력합니다.
  7. 네임스페이스 저장을 클릭합니다.

결과

이제 콘텐츠 개발자가 새 네임스페이스에 컬렉션을 업로드하거나 소유자로 할당된 팀의 사용자가 컬렉션을 업로드할 수 있습니다.

네임스페이스를 생성할 때 업로드할 권한이 있는 팀은 승인을 위해 컬렉션을 추가하기 시작할 수 있습니다. 승인 후 네임스페이스의 컬렉션은 게시 리포지토리에 표시됩니다.

2.1.4. 네임스페이스에 컬렉션 업로드

tar.gz 파일 형식의 내부적으로 개발한 컬렉션을 프라이빗 자동화 허브 네임스페이스에 업로드하여 자동화 허브 관리자의 검토 및 승인을 받을 수 있습니다. 승인되면 컬렉션은 자동화 허브 사용자가 보고 다운로드할 수 있는 게시 콘텐츠 리포지토리로 이동합니다.

참고

컬렉션 파일 이름을 다음과 같이 포맷합니다. <my_namespace-my_collection-1.0.0.tar.gz>

사전 요구 사항

  • 컬렉션을 업로드할 수 있는 네임스페이스가 있습니다.
중요

컬렉션은 일반적으로 200MB를 넘지 않습니다. 매우 큰 컬렉션을 업로드하면 오류가 발생합니다. 여러 컬렉션 및 종속 항목이 있는 전체 환경이 필요한 시나리오에서는 실행 환경을 사용합니다. 자세한 내용은 자동화 허브에서 사용할 수 있는 실행 환경 가져오기 를 참조하십시오.

프로세스

  1. Ansible Automation Platform에 로그인합니다.
  2. 탐색 패널에서 자동화 콘텐츠네임스페이스를 선택하고 네임스페이스를 선택합니다.
  3. 컬렉션 탭을 선택합니다.
  4. Upload collection 을 클릭합니다.
  5. 컬렉션 파일 필드 옆에 있는 찾아보기 를 클릭합니다.
  6. 업로드할 컬렉션을 선택합니다.
  7. 다음 옵션 중 하나를 선택합니다.

    • 스테이징 리포지토리
    • 파이프라인이 없는 리포지토리
  8. Upload collection 을 클릭합니다.

검증

컬렉션이 성공적으로 업로드되었는지 또는 실패한지 확인하려면 Automation ContentNamespaces 로 이동하여 More Actions 아이콘을 클릭한 다음 Imports 를 선택합니다. 여기에서 가져오기가 성공했는지 여부를 나타내는 테스트 요약이 있습니다.

2.1.5. 네임스페이스 가져오기 로그 검토

네임스페이스에 업로드된 컬렉션의 상태를 검토하여 프로세스의 성공 또는 실패를 평가할 수 있습니다.

가져온 컬렉션 정보에는 다음이 포함됩니다.

상태
완료 또는 실패
승인 상태
승인 또는 승인 대기 중
버전
업로드된 컬렉션의 버전
로그 가져오기
컬렉션 가져오기 중 실행되는 활동

사전 요구 사항

  • 컬렉션을 업로드할 수 있는 네임스페이스에 액세스할 수 있습니다.

프로세스

  1. Ansible Automation Platform에 로그인합니다.
  2. 탐색 패널에서 자동화 콘텐츠네임스페이스를 선택합니다.
  3. 네임스페이스를 선택합니다.
  4. More Actions 아이콘 Cryostat를 클릭하고 가져오기 를 선택합니다.
  5. 검색 필드를 사용하거나 목록에서 가져온 컬렉션을 찾습니다.
  6. 가져온 컬렉션을 클릭합니다.
  7. 컬렉션 가져오기 세부 정보를 검토하여 네임스페이스의 컬렉션 상태를 확인합니다.

2.1.6. 컬렉션 삭제

컬렉션이 다른 컬렉션에 의존하지 않는 경우 원하지 않는 컬렉션을 삭제하여 컬렉션을 추가로 관리할 수 있습니다. 컬렉션의 Dependencies 탭에는 현재 컬렉션을 사용하는 다른 컬렉션 목록이 표시됩니다.

사전 요구 사항

  • 삭제되는 컬렉션에는 다른 컬렉션의 종속성이 없습니다.
  • 컬렉션 삭제 권한이 있습니다.

프로세스

  1. Ansible Automation Platform에 로그인합니다.
  2. 탐색 패널에서 자동화 콘텐츠 컬렉션을선택합니다.
  3. 컬렉션을 삭제하기 전에 해당 컬렉션에 종속된 컬렉션이 있는지 확인합니다.

    • 해당 컬렉션의 종속성 탭을 클릭합니다. 비어 있으면 컬렉션을 삭제할 수 있습니다. 종속 탭이 비어 있지 않은 경우 컬렉션을 삭제하기 전에 이러한 종속 항목을 삭제해야 합니다.
  4. 삭제할 컬렉션을 클릭합니다.
  5. More Actions 아이콘 Cryo stat 를 클릭한 다음 옵션을 선택합니다.

    1. 시스템에서 버전을 삭제 하면 모든 리포지토리 및 네임스페이스를 포함하여 전체 인스턴스에서 특정 버전의 컬렉션이 제거됩니다.
    2. 리포지토리에서 버전을 삭제 하면 업로드된 리포지토리에서 특정 버전의 컬렉션이 제거됩니다. 다른 리포지토리 또는 네임스페이스의 컬렉션에는 영향을 미치지 않습니다.
    3. 리포지토리에서 전체 컬렉션을 삭제 하면 업로드된 리포지토리에서 전체 컬렉션의 모든 버전이 제거되지만 다른 리포지토리 또는 네임스페이스에는 영향을 미치지 않습니다.
    4. 시스템에서 전체 컬렉션을 삭제 하면 모든 리포지토리 및 네임스페이스를 포함하여 인스턴스에서 전체 컬렉션의 모든 버전이 제거됩니다.
  6. 확인 창이 열리면 컬렉션 또는 버전 번호가 올바른지 확인한 다음 삭제 를 선택합니다.

2.1.7. 네임스페이스 삭제

원하지 않는 네임스페이스를 삭제하여 자동화 허브 서버에서 스토리지를 관리할 수 있습니다. 먼저 삭제하려는 네임스페이스에 종속성이 있는 컬렉션이 포함되어 있지 않은지 확인해야 합니다.

사전 요구 사항

  • 삭제 중인 네임스페이스에 종속 항목이 있는 컬렉션이 없습니다.
  • 네임스페이스 권한이 삭제되었습니다.

프로세스

  1. Ansible Automation Platform에 로그인합니다.
  2. 탐색 패널에서 자동화 콘텐츠네임스페이스를 선택합니다.
  3. 삭제할 네임스페이스를 클릭합니다.
  4. More Actions 아이콘 Cryostat 클릭한 다음 네임스페이스 삭제 를 클릭합니다.

    참고

    Delete namespace 버튼이 비활성화된 경우 네임스페이스에 종속성이 있는 컬렉션이 포함됩니다. 이 네임스페이스의 컬렉션을 검토하고 종속성을 삭제합니다.

결과

이제 사용자가 삭제한 네임스페이스와 관련 컬렉션이 이제 네임스페이스 목록 뷰에서 삭제 및 제거됩니다.

2.2. Automation Hub에서 내부 컬렉션의 게시 프로세스 관리

자동화 허브를 사용하여 조직 내에서 개발된 콘텐츠 컬렉션을 관리하고 게시합니다. 네임스페이스에 컬렉션을 업로드하고 그룹화할 수 있습니다. 게시된 콘텐츠 리포지토리에 표시하려면 관리 승인이 필요합니다. 컬렉션을 게시한 후 사용자는 사용하기 위해 액세스 및 다운로드할 수 있습니다.

조직의 인증 기준을 충족하지 않는 제출된 컬렉션을 거부할 수도 있습니다.

2.2.1. 승인 정보

탐색 패널에 있는 컬렉션 승인 기능을 사용하여 자동화 허브에서 업로드된 컬렉션을 관리할 수 있습니다.

승인 대시보드
기본적으로 승인 대시보드에는 Needs Review 상태의 모든 컬렉션이 나열됩니다. 게시 리포지토리에 포함되어 있는지 확인할 수 있습니다.
컬렉션 세부 정보 보기
버전 번호를 클릭하여 컬렉션에 대한 자세한 정보를 볼 수 있습니다.
컬렉션 필터링
네임스페이스 , 컬렉션 또는 리포지토리 별로 컬렉션을 필터링하여 콘텐츠를 찾고 상태를 업데이트합니다.

2.2.2. 내부 게시에 대한 컬렉션 승인

내부 게시 및 사용을 위해 개별 네임스페이스에 업로드된 컬렉션을 승인할 수 있습니다. 검토 대기 중인 모든 컬렉션은 Automation ContentCollection Approvals 에 있습니다.

사전 요구 사항

  • 수정 Ansible 리포지토리 콘텐츠 권한이 있습니다.

프로세스

  1. 탐색 패널에서 자동화 콘텐츠컬렉션 승인 을 선택합니다.

    승인이 필요한 컬렉션 상태는 검토가 필요합니다.

  2. 목록에서 검토할 컬렉션을 찾습니다. 검색 모음을 사용하여 네임스페이스, 리포지토리 및 상태별로 컬렉션을 필터링할 수도 있습니다.
  3. 선택 취소 아이콘을 클릭하여 컬렉션을 승인하고 서명합니다. 표시되는 모달에서 선택한 내용을 확인합니다.

승인된 컬렉션은 사용자가 볼 수 있고 사용할 수 있는 게시 리포지토리로 이동합니다.

2.2.3. 검토를 위해 업로드된 컬렉션 거부

개별 네임스페이스에 업로드된 컬렉션을 거부할 수 있습니다. 검토 대기 중인 모든 컬렉션은 Automation ContentCollection Approvals 에 있습니다.

승인이 필요한 컬렉션 상태는 검토가 필요합니다.

사전 요구 사항

  • 수정 Ansible 리포지토리 콘텐츠 권한이 있습니다.

프로세스

  1. 탐색 패널에서 자동화 콘텐츠컬렉션 승인 을 선택합니다.
  2. 목록에서 검토할 컬렉션을 찾습니다. 검색 모음을 사용하여 네임스페이스, 리포지토리 및 상태별로 컬렉션을 필터링할 수도 있습니다.
  3. 선택 취소 아이콘을 클릭하여 컬렉션을 거부합니다. 표시되는 모달에서 선택한 내용을 확인합니다.

검증

게시를 거부한 컬렉션은 거부 된 리포지토리로 이동합니다.

2.3. 자동화 허브를 사용한 리포지토리 관리

플랫폼 관리자는 리포지토리 간에 자동화 콘텐츠 컬렉션을 생성, 편집, 삭제 및 이동할 수 있습니다.

2.3.1. 자동화 허브의 리포지토리 유형

자동화 허브에서는 컬렉션을 확인할지 여부에 따라 두 가지 유형의 리포지토리에 컬렉션을 게시할 수 있습니다.

스테이징 리포지토리
네임스페이스에 업로드할 권한이 있는 모든 사용자는 이러한 리포지토리에 컬렉션을 게시할 수 있습니다. 이러한 리포지토리의 컬렉션은 검색 페이지에서 사용할 수 없습니다. 대신 관리자가 확인할 승인 대시보드에 표시됩니다. 스테이징 리포지토리는 pipeline=staging 레이블로 표시됩니다.
사용자 정의 리포지토리
리포지토리에 대한 쓰기 권한이 있는 모든 사용자는 이러한 리포지토리에 컬렉션을 게시할 수 있습니다. 사용자 지정 리포지토리는 모든 사용자가 볼 수 있는 퍼블릭 또는 보기 권한이 있는 사용자만 볼 수 있는 프라이빗 리포지토리일 수 있습니다. 이러한 리포지토리는 승인 대시보드에 표시되지 않습니다. 리포지토리 소유자가 검색을 활성화하면 검색 결과에 컬렉션이 표시될 수 있습니다.

기본적으로 자동화 허브에는 컬렉션을 업로드하는 데 리포지토리를 지정하지 않을 때 자동으로 사용되는 하나의 스테이징 리포지토리가 포함됩니다. 사용자는 리포지토리 생성 중에 새 스테이징 리포지토리를 생성할 수 있습니다.

자동화 허브에서는 pipeline=approved 라벨이 표시된 모든 리포지토리에 컬렉션을 승인할 수 있습니다. 기본적으로 자동화 허브에는 승인된 콘텐츠를 위한 리포지토리가 하나 포함되어 있지만 리포지토리 생성 화면에서 더 추가할 수 있는 옵션이 있습니다. pipeline=approved 레이블이 표시된 리포지토리에 직접 게시할 수 없습니다. 컬렉션은 먼저 스테이징 리포지토리를 통해 이동하고 'pipleline=approved' 리포지토리에 게시되기 전에 승인해야 합니다.

자동 승인
자동 승인이 활성화되면 스테이징 리포지토리에 업로드하는 모든 컬렉션이 pipeline=approved 로 표시된 모든 리포지토리로 자동으로 승격됩니다.
승인 필요

자동 승인이 비활성화되면 관리자는 승인 대시보드를 보고 스테이징 리포지토리에 업로드된 컬렉션을 확인할 수 있습니다. 승인 별 정렬에는 승인된 리포지토리 목록이 표시됩니다. 이 목록에서 관리자는 콘텐츠를 승격해야 하는 하나 이상의 리포지토리를 선택할 수 있습니다.

승인된 리포지토리가 하나만 있는 경우 컬렉션이 자동으로 승격되고 관리자가 리포지토리를 선택하라는 메시지가 표시되지 않습니다.

거부
거부된 컬렉션은 사전 설치된 거부된 리포지토리에 자동으로 배치됩니다.

RBAC(역할 기반 액세스 제어)를 사용하여 사용자 역할에 따라 액세스 권한을 정의하여 사용자 지정 리포지토리에 대한 사용자 액세스를 제한합니다. 기본적으로 사용자는 자동화 허브의 모든 공용 리포지토리를 볼 수 있지만 역할에서 액세스를 허용하지 않는 한 리포지토리를 수정할 수 없습니다. 리포지토리의 다른 작업에 동일한 논리가 적용됩니다. 예를 들어 역할 권한을 변경하여 사용자 지정 리포지토리에서 콘텐츠를 다운로드할 수 있는 사용자의 기능을 제거할 수 있습니다. 자동화 허브에 대한 사용자 액세스 관리에 대한 자세한 내용은 액세스 관리 및 인증을 참조하십시오.

2.3.4. 자동화 허브에서 사용자 정의 리포지토리 생성

Red Hat Ansible Automation Platform을 사용하여 리포지토리를 생성하면 리포지토리를 비공개로 구성하거나 검색 결과에서 숨길 수 있습니다.

프로세스

  1. Ansible Automation Platform에 로그인합니다.
  2. 탐색 패널에서 자동화 콘텐츠리포지토리 를 선택합니다.
  3. 리포지토리 생성을 클릭합니다.
  4. 리포지토리 이름을 입력합니다.
  5. Description (설명) 필드에서 리포지토리의 목적을 설명합니다.
  6. 변경할 때마다 이전 버전의 리포지토리를 유지하려면 Retained number of versions 라는 필드에 숫자를 입력합니다. 유지된 버전 수는 0에서 무제한까지 지정할 수 있습니다. 모든 버전을 저장하려면 이 값을 null로 설정합니다.

    참고

    사용자 지정 리포지토리를 변경하는 데 문제가 있는 경우 보존한 다른 리포지토리 버전으로 되돌릴 수 있습니다.

  7. Pipeline 필드에서 리포지토리의 파이프라인을 선택합니다. 이 옵션은 컬렉션을 리포지토리에 게시할 수 있는 사용자를 정의합니다.

    스테이징
    누구나 자동화 콘텐츠를 리포지토리에 게시할 수 있습니다.
    승인됨
    이 리포지토리에 추가된 컬렉션은 스테이징 리포지토리를 통해 승인 프로세스를 거쳐야 합니다. 자동 승인이 활성화되면 스테이징 리포지토리에 업로드된 모든 컬렉션이 승인된 모든 리포지토리로 자동으로 승격됩니다.
    없음
    리포지토리에 대한 권한이 있는 모든 사용자는 리포지토리에 직접 게시할 수 있으며 리포지토리는 승인 파이프라인의 일부가 아닙니다.
  8. 선택 사항: 검색 결과에서 리포지토리를 숨기려면 검색에서 숨기기 를 선택합니다.
  9. 선택 사항: 리포지토리를 비공개로 만들려면 개인용으로 만들기 를 선택합니다. 리포지토리를 볼 수 있는 권한이 없는 모든 사용자가 리포지토리를 숨깁니다.
  10. 원격 리포지토리의 콘텐츠를 이 리포지토리에 동기화하려면 Remote 필드에서 사용자 지정 리포지토리에 포함할 컬렉션이 포함된 원격을 선택합니다. 자세한 내용은 리포지토리 동기화를 참조하십시오.
  11. 리포지토리 생성을 클릭합니다.

2.3.5. 사용자 정의 자동화 허브 리포지토리에 대한 액세스 제공

기본적으로 개인 리포지토리 및 자동화 콘텐츠 컬렉션은 시스템의 모든 사용자에게 숨겨집니다. 공용 리포지토리는 모든 사용자가 볼 수 있지만 수정할 수는 없습니다. 사용자 지정 리포지토리에 대한 액세스 권한을 제공하려면 다음 절차를 사용하십시오.

프로세스

  1. 프라이빗 자동화 허브에 로그인합니다.
  2. 탐색 패널에서 자동화 콘텐츠리포지토리 를 선택합니다.
  3. 목록에서 리포지토리를 클릭하고 Team Access 탭을 선택합니다.
  4. 역할 추가를 클릭합니다.
  5. 역할을 부여할 팀을 선택한 다음 다음을 클릭합니다.
  6. 선택한 팀에 적용할 역할을 선택한 다음 Next 를 클릭합니다.
  7. 선택을 검토하고 마침 을 클릭합니다.
  8. 닫기 를 클릭하여 프로세스를 완료합니다.

2.3.6. 자동화 허브 리포지토리에 컬렉션 추가

리포지토리를 생성한 후 자동화 콘텐츠 컬렉션을 추가할 수 있습니다.

프로세스

  1. 탐색 패널에서 자동화 콘텐츠리포지토리 를 선택합니다.
  2. 목록에서 리포지토리를 클릭합니다.
  3. 컬렉션 버전 탭을 선택합니다.
  4. 컬렉션 추가 를 클릭하고 리포지토리에 추가할 컬렉션을 선택합니다.
  5. Select 를 클릭합니다.

2.3.7. 다른 자동화 허브 리포지토리 버전으로 되돌리기

리포지토리에서 자동화 콘텐츠 컬렉션이 추가되거나 제거되면 새 버전이 생성됩니다. 리포지토리에 변경해도 문제가 발생하면 이전 버전으로 되돌릴 수 있습니다. 되돌리기는 안전한 작업이며 시스템에서 컬렉션을 삭제하지 않고 리포지토리와 연결된 콘텐츠를 변경합니다. 저장된 버전 수는 리포지토리가 생성 될 때 Retained 버전 설정 수 에 정의되어 있습니다.

프로세스

  1. Ansible Automation Platform에 로그인합니다.
  2. 탐색 패널에서 자동화 콘텐츠리포지토리 를 선택합니다.
  3. 목록에서 리포지토리를 클릭한 다음 버전 탭을 선택합니다.
  4. 되돌리려는 버전을 찾은 다음 More Actions 아이콘 을 클릭하고 이 버전으로 Revert를 선택합니다.
  5. 선택 사항을 확인하는 상자를 선택한 다음 Revert to repository version 을 클릭합니다.

2.4. 자동화 허브에서 원격 구성 관리

자동화 허브를 실행하는 모든 서버에 원격 구성을 설정할 수 있습니다. 원격 구성을 사용하면 외부 컬렉션 소스에서 사용자 지정 리포지토리에 콘텐츠를 동기화할 수 있습니다.

2.4.1. 자동화 허브에서 원격 구성 생성

Red Hat Ansible Automation Platform을 사용하여 외부 컬렉션 소스에 대한 원격 구성을 생성할 수 있습니다. 그런 다음 해당 컬렉션의 콘텐츠를 사용자 지정 리포지토리에 동기화할 수 있습니다.

프로세스

  1. Ansible Automation Platform에 로그인합니다.
  2. 탐색 패널에서 Automation ContentRemotes 를 선택합니다.
  3. 원격 생성을 클릭합니다.
  4. 원격 구성 의 이름을 입력합니다.
  5. 특정 리포지토리의 경로를 포함하여 원격 서버의 URL 을 입력합니다.

    참고

    원격 서버 URL 및 리포지토리 경로를 찾으려면 Automation ContentRepositories 로 이동하여 More Actions 아이콘을 선택하고 CLI 구성 복사를 선택합니다.

  6. 서명된 컬렉션만 동기화하려면 Signed collections only 라는 상자를 선택합니다.
  7. 종속 항목을 동기화하려면 Sync all dependencies.라는 상자를 선택합니다. 종속성 동기화를 해제하려면 이 상자를 선택하지 않은 상태로 둡니다.
  8. 외부 컬렉션에 액세스하는 데 필요한 토큰 또는 사용자 이름 및 암호를 입력하여 원격 서버에 대한 인증 정보를 구성합니다.

    참고

    탐색 패널에서 토큰을 생성하려면 자동화 콘텐츠API 토큰을 선택하고 토큰 를 클릭하고 로드된 토큰을 복사합니다.

  9. console.redhat.com에서 컬렉션에 액세스하려면 SSO URL 을 입력하여 ID 공급자(IdP)에 로그인합니다.
  10. 요구 사항 파일을 선택하거나 생성하여 사용자 지정 리포지토리와 동기화할 컬렉션 및 버전 범위를 식별합니다. 예를 들어 kubernetes 및 AWS 컬렉션 버전 5.0.0 이상만 다운로드하려면 요구 사항 파일은 다음과 같습니다.

    Collections:
     	  - name: community.kubernetes
    	  - name: community.aws
     		version:”>=5.0.0”
    Copy to Clipboard Toggle word wrap
  11. 선택 사항: 원격을 추가로 구성하려면 고급 옵션 표시에서 사용할 수 있는 옵션을 사용하십시오.

    1. 조직의 회사 프록시가 있는 경우 프록시 URL , Proxy UsernameProxy Password 를 입력합니다.
    2. TLS 검증 확인란을 사용하여 전송 계층 보안을 활성화하거나 비활성화합니다.
    3. 인증에 디지털 인증서가 필요한 경우 클라이언트 키 및 클라이언트 인증서 를 입력합니다.
    4. 서버에 자체 서명된 SSL 인증서를 사용하는 경우 CA 인증서 필드에 인증에 사용되는 PEM 인코딩 클라이언트 인증서를 입력합니다.
    5. 이 원격에서 컬렉션을 다운로드할 수 있는 속도를 가속화하려면 Download concurrency 필드에서 tandem에서 다운로드할 수 있는 컬렉션 수를 지정합니다.
    6. 이 원격에서 초당 쿼리 수를 제한하려면 속도 제한을 지정합니다.

      참고

      일부 서버에는 특정 속도 제한이 있을 수 있으며, 이를 초과하면 동기화가 실패합니다.

2.4.2. 원격 구성에 대한 액세스 제공

원격 구성을 생성한 후 누구나 사용할 수 있으려면 액세스 권한을 제공해야 합니다.

프로세스

  1. Ansible Automation Platform에 로그인합니다.
  2. 탐색 패널에서 Automation ContentRemotes 를 선택합니다.
  3. 목록에서 리포지토리를 클릭한 다음 Team Access 탭을 선택합니다.
  4. 역할 추가를 클릭합니다.
  5. 역할을 부여할 팀을 선택한 다음 다음을 클릭합니다.
  6. 선택한 팀에 적용할 역할을 선택한 다음 Next 를 클릭합니다.
  7. 선택을 검토하고 마침 을 클릭합니다.
  8. 닫기 를 클릭하여 프로세스를 완료합니다.

2.5. 자동화 허브에서 리포지토리 동기화

하나의 자동화 허브에서 다른 자동화 허브로 리포지토리를 동기화하여 사용자에게 관련 자동화 콘텐츠 컬렉션을 배포할 수 있습니다. 최신 컬렉션 업데이트가 있는지 확인하려면 사용자 지정 리포지토리를 원격과 정기적으로 동기화합니다.

2.5.1. 자동화 허브에서 리포지토리 동기화

프로세스

  1. Ansible Automation Platform에 로그인합니다.
  2. 탐색 패널에서 자동화 콘텐츠리포지토리 를 선택합니다.
  3. 목록에서 리포지토리를 찾고 More Actions 아이콘을 클릭한 다음 Sync repository 를 선택합니다.

    구성된 원격의 모든 컬렉션은 사용자 지정 리포지토리에 다운로드됩니다. 컬렉션 동기화 상태를 확인하려면 탐색 패널에서 Automation ContentTask Management 를 선택합니다.

    참고

    원격 내의 특정 컬렉션으로 리포지토리 동기화를 제한하려면 requirements.yml 파일을 사용하여 가져올 특정 컬렉션을 식별할 수 있습니다. 자세한 내용은 원격 만들기 를 참조하십시오.

2.6. 자동화 허브에서 컬렉션 내보내기 및 가져오기

Ansible 자동화 허브는 리포지토리 내에 자동화 콘텐츠 컬렉션을 저장합니다. 이러한 컬렉션은 자동화 콘텐츠 작성자가 버전입니다. 동일한 컬렉션의 여러 버전이 동일하거나 다른 리포지토리에 동시에 존재할 수 있습니다.

컬렉션은 가져오고 내보낼 수 있는 .tar 파일로 저장됩니다. 이 스토리지 형식을 사용하면 새 리포지토리로 가져오는 컬렉션이 원래 생성 및 내보낸 것과 동일합니다.

2.6.1. 자동화 허브에서 자동화 콘텐츠 컬렉션 내보내기

컬렉션이 완료되면 조직 전체의 다른 사용자에게 배포할 수 있는 위치로 가져올 수 있습니다.

프로세스

  1. Ansible Automation Platform에 로그인합니다.
  2. 탐색 패널에서 자동화 콘텐츠 컬렉션을선택합니다. 컬렉션 페이지에는 모든 리포지토리의 모든 컬렉션이 표시됩니다. 특정 컬렉션을 검색할 수 있습니다.
  3. 내보낼 컬렉션을 클릭합니다. 컬렉션 세부 정보 페이지가 열립니다.
  4. Install 탭에서 tarball 다운로드를 선택합니다. .tar 파일은 기본 브라우저 다운로드 폴더에 다운로드됩니다. 이제 선택한 위치로 가져올 수 있습니다.

2.6.2. 자동화 허브에서 자동화 콘텐츠 컬렉션 가져오기

자동화 콘텐츠 작성자는 사용자 지정 리포지토리에 사용할 컬렉션을 가져올 수 있습니다. 사용자 지정 리포지토리에서 컬렉션을 사용하려면 먼저 자동화 허브 관리자가 승인할 수 있도록 컬렉션을 네임스페이스로 가져와야 합니다.

프로세스

  1. Ansible Automation Platform에 로그인합니다.
  2. 탐색 패널에서 자동화 콘텐츠네임스페이스를 선택합니다. 네임스페이스 페이지에는 사용 가능한 모든 네임스페이스가 표시됩니다.
  3. 컬렉션을 추가할 네임스페이스를 선택합니다.
  4. 컬렉션 탭을 선택합니다.
  5. Upload Collection 을 클릭합니다.
  6. 컬렉션 파일을 입력하거나 찾습니다.
  7. 리포지토리 파이프라인을 선택하여 컬렉션을 추가합니다. 선택 사항은 파이프라인이 없는 스테이징 리포지토리 및 리포지토리 입니다.
  8. Upload collection 을 클릭합니다.

    가져오기 화면에 테스트 요약이 표시되고 컬렉션 업로드 성공 또는 실패 여부를 알립니다. 가져오기를 찾으려면 네임스페이스에서 More Actions 아이콘을 클릭하고 Imports 를 선택합니다.

    참고

    컬렉션이 승인되지 않으면 게시된 리포지토리에 표시되지 않습니다.

3장. 프라이빗 자동화 허브에서 컨테이너 관리

프라이빗 자동화 허브 원격 레지스트리 및 리포지토리 구성을 위한 관리자 워크플로 및 프로세스에 대해 알아봅니다.

3.1. 프라이빗 자동화 허브 원격 레지스트리 관리

자동화 허브 원격 레지스트리를 사용하여 Ansible Automation Platform 인프라에서 컨테이너 이미지 리포지토리를 관리합니다. 자동화 허브를 사용하여 다음 작업을 수행할 수 있습니다.

  • 개별 컨테이너 리포지토리에 액세스할 수 있는 사용자 제어
  • 이미지의 태그 변경
  • 활동 및 이미지 계층 보기
  • 각 컨테이너 리포지토리와 관련된 추가 정보 제공

3.1.1. 컨테이너 레지스트리

자동화 허브 원격 레지스트리는 실행 환경을 저장하고 관리하는 데 사용됩니다. 실행 환경을 빌드하거나 소싱하면 해당 실행 환경을 프라이빗 자동화 허브의 레지스트리 부분에 푸시하여 컨테이너 리포지토리를 생성할 수 있습니다.

Ansible Automation Platform에서 실행 환경에 액세스하고 관리할 수 있는 사용자를 확인하려면 프라이빗 자동화 허브에서 컨테이너 리포지토리에 대한 사용자 액세스를 구성해야 합니다.

3.2.1. 원격 레지스트리 팀 권한

사용자가 프라이빗 자동화 허브에서 관리되는 실행 환경과 상호 작용하는 방법을 제어할 수 있습니다. 다음 권한 목록을 사용하여 원격 레지스트리에 대한 올바른 권한으로 팀을 생성합니다.

Expand
표 3.1. 프라이빗 자동화 허브에서 컨테이너를 관리하는 데 사용되는 팀 권한 목록
권한 이름설명

새 컨테이너 만들기

사용자가 새 컨테이너를 만들 수 있음

컨테이너 네임스페이스 권한 변경

사용자는 컨테이너 리포지토리에 대한 권한을 변경할 수 있습니다.

컨테이너 변경

사용자는 컨테이너에 대한 정보를 변경할 수 있습니다.

실행 환경 태그 변경

사용자는 실행 환경 태그를 수정할 수 있습니다

기존 컨테이너로 푸시

사용자는 실행 환경을 기존 컨테이너로 푸시할 수 있습니다.

3.2.2. 프라이빗 자동화 허브에서 새 팀 생성

사용자가 시스템의 지정된 기능에 액세스할 수 있는 프라이빗 자동화 허브의 팀에 권한을 생성하고 할당할 수 있습니다. 기본적으로 새 팀에는 할당된 권한이 없습니다. 팀을 처음 생성하거나 기존 팀을 편집하여 권한을 추가하거나 제거할 수 있습니다.

자세한 내용은 액세스 관리 및 인증 가이드의 팀을 참조하십시오.

3.3. 프라이빗 자동화 허브 컨테이너 레지스트리 채우기

기본적으로 프라이빗 자동화 허브에는 자동화 실행 환경이 포함되어 있지 않습니다. 컨테이너 레지스트리를 채우려면 실행 환경을 푸시해야 합니다.

프라이빗 자동화 허브 원격 레지스트리를 채우려면 특정 워크플로우를 따라야 합니다.

  • Red Hat Ecosystem Catalog에서 자동화 실행 환경 가져오기(registry.redhat.io)
  • 태그
  • 프라이빗 자동화 허브 원격 레지스트리로 푸시
중요

2025년 4월 1일부터 quay.io 는 3개의 추가 엔드포인트를 추가하고 있습니다. 따라서 고객은 다음 엔드포인트를 포함하도록 방화벽 시스템 목록 내의 허용/블록 목록을 조정해야 합니다.

  • cdn04.quay.io
  • cdn05.quay.io
  • cdn06.quay.io

컨테이너 이미지를 가져오는 문제를 방지하려면 고객은 다음 호스트 이름에 대한 아웃 바운드 TCP 연결(포트 80 및 443)을 허용해야 합니다.

  • cdn.quay.io
  • cdn01.quay.io
  • cdn02.quay.io
  • cdn03.quay.io
  • cdn04.quay.io
  • cdn05.quay.io
  • cdn06.quay.io

registry.redhat.io 또는 registry.access.redhat.com 에 대한 아웃 바운드 연결을 구체적으로 활성화하는 방화벽 구성을 변경해야 합니다.

방화벽 규칙을 구성할 때 IP 주소 대신 호스트 이름을 사용합니다.

이 변경 후 registry.redhat.io 또는 registry.access.redhat.com 에서 이미지를 계속 가져올 수 있습니다. quay.io 로그인이 필요하지 않거나 Red Hat 컨테이너 이미지를 계속 가져오려면 quay.io 레지스트리와 직접 상호 작용할 필요가 없습니다.

자세한 내용은 컨테이너 이미지 가져오기 2024/2025에 대한 방화벽 변경을 참조하십시오.

Table 6.4에 나열된 네트워크 포트 및 프로토콜이 있는지 확인합니다. 실행 환경(EE) 을 사용하여 컨테이너 이미지를 가져오는 문제를 방지할 수 있습니다.

3.3.1. 자동화 허브에서 사용할 실행 환경 가져오기

실행 환경을 프라이빗 자동화 허브로 푸시하려면 먼저 기존 레지스트리에서 해당 환경을 가져와서 사용할 태그를 지정해야 합니다. 다음 예제에서는 Red Hat Ecosystem Catalog(registry.redhat.io)에서 실행 환경을 가져오는 방법을 자세히 설명합니다.

사전 요구 사항

  • registry.redhat.io에서 자동화 실행 환경을 가져올 수 있는 권한이 있습니다.

프로세스

  1. registry.redhat.io 인증 정보를 사용하여 Podman에 로그인합니다.

    $ podman login registry.redhat.io
    Copy to Clipboard Toggle word wrap
  2. 사용자 이름과 암호를 입력합니다.
  3. 실행 환경을 가져옵니다.

    $ podman pull registry.redhat.io/<ee_name>:<tag>
    Copy to Clipboard Toggle word wrap

검증

최근 가져온 실행 환경이 목록에 포함되어 있는지 확인하려면 다음 단계를 따르십시오.

  1. 로컬 스토리지의 이미지를 나열합니다.

    $ podman images
    Copy to Clipboard Toggle word wrap
  2. 실행 환경 이름을 확인하고 태그가 올바른지 확인합니다.

3.3.2. 자동화 허브에서 사용할 실행 환경 태그

레지스트리에서 실행 환경을 가져온 후 프라이빗 자동화 허브 원격 레지스트리에 사용하도록 태그를 지정합니다.

사전 요구 사항

  • 외부 레지스트리에서 실행 환경을 가져왔습니다.
  • 자동화 허브 인스턴스의 FQDN 또는 IP 주소가 있습니다.

프로세스

  • 자동화 허브 컨테이너 리포지터리를 사용하여 로컬 실행 환경에 태그를 지정합니다.

    $ podman tag registry.redhat.io/<ee_name>:<tag> <automation_hub_hostname>/<ee_name>
    Copy to Clipboard Toggle word wrap

검증

  1. 로컬 스토리지의 이미지를 나열합니다.

    $ podman images
    Copy to Clipboard Toggle word wrap
  2. 최근에 자동화 허브 정보로 태그한 실행 환경이 목록에 포함되어 있는지 확인합니다.

3.3.3. 프라이빗 자동화 허브로 실행 환경 푸시

태그된 실행 환경을 프라이빗 자동화 허브로 내보내 새 컨테이너를 생성하고 원격 레지스트리를 채울 수 있습니다.

사전 요구 사항

  • 새 컨테이너를 생성할 수 있는 권한이 있습니다.
  • Ansible Automation Platform 인스턴스의 FQDN 또는 IP 주소가 있습니다.

프로세스

  1. Ansible Automation Platform 위치 및 인증 정보를 사용하여 Podman에 로그인합니다.

    $ podman login -u=<username> -p=<password> <aap_url>
    Copy to Clipboard Toggle word wrap
    주의

    로그인할 때 Podman에서 암호를 입력하라는 메시지를 표시하도록 합니다. 사용자 이름과 동시에 암호를 입력하면 쉘 기록에 암호가 노출될 수 있습니다.

  2. 자동화 허브 원격 레지스트리로 실행 환경을 푸시합니다.

    $ podman push <automation_hub_url>/<ee_name>
    Copy to Clipboard Toggle word wrap

문제 해결

푸시 작업에서는 업로드 중에 이미지 계층을 다시 압축하여 재현할 수 없으며 클라이언트에 따라 다릅니다. 이로 인해 이미지 계층 다이제스트 변경 및 실패한 푸시 작업으로 이어질 수 있으므로 오류: 이 이미지를 복사하려면 계층 표현이 필요하므로 (이미지가 서명되거나 대상이 다이제스트를 지정)할 수 없습니다.

검증

  1. Ansible Automation Platform에 로그인합니다.
  2. Automation ContentExecution Environments 로 이동합니다.
  3. 컨테이너 리포지토리 목록에서 컨테이너를 찾습니다.

3.4. 컨테이너 리포지토리 설정

컨테이너 리포지토리를 설정할 때 설명을 추가하고 README를 포함하고 리포지토리에 액세스할 수 있는 팀을 추가하고 자동화 실행 환경에 태그를 지정해야 합니다.

3.4.1. 원격 레지스트리를 설정하기 위한 사전 요구 사항

  • Ansible Automation Platform에 로그인되어 있습니다.
  • 리포지토리를 변경할 수 있는 권한이 있습니다.

3.4.2. 컨테이너 리포지토리에 README 추가

컨테이너 리포지토리에 README를 추가하여 컨테이너 작업 방법에 대한 지침을 사용자에게 제공합니다. Automation Hub 컨테이너 리포지토리는 Markdown을 지원하여 README를 생성합니다. 기본적으로 README는 비어 있습니다.

사전 요구 사항

  • 컨테이너를 변경할 수 있는 권한이 있습니다.

프로세스

  1. Ansible Automation Platform에 로그인합니다.
  2. 탐색 패널에서 자동화 콘텐츠실행 환경을 선택합니다.
  3. 실행 환경을 선택합니다.
  4. 세부 정보 탭에서 추가 를 클릭합니다.
  5. Raw Markdown 텍스트 필드에 Markdown에 README 텍스트를 입력합니다.
  6. 완료되면 저장을 클릭합니다.

README를 추가한 후 편집을 클릭하고 4단계와 5단계를 반복하여 언제든지 편집할 수 있습니다.

3.4.3. 자동화 실행 환경에 대한 액세스 제공

이미지로 작업해야 하는 사용자를 위해 자동화 실행 환경에 대한 액세스를 제공합니다. 팀을 추가하면 팀이 컨테이너 리포지토리에 보유할 수 있는 권한을 수정할 수 있습니다. 이 옵션을 사용하여 팀이 할당된 내용에 따라 권한을 확장하거나 제한할 수 있습니다.

사전 요구 사항

  • 컨테이너 네임스페이스 권한을 변경합니다.

프로세스

  1. Ansible Automation Platform에 로그인합니다.
  2. 탐색 패널에서 자동화 콘텐츠실행 환경을 선택합니다.
  3. 자동화 실행 환경을 선택합니다.
  4. 팀 액세스 탭에서 역할 추가 를 클릭합니다.
  5. 액세스 권한을 부여할 팀 또는 팀을 선택하고 다음을 클릭합니다.
  6. 이 실행 환경에 추가할 역할을 선택하고 다음을 클릭합니다.
  7. 완료 를 클릭합니다.

3.4.4. 컨테이너 이미지 태그

자동화 실행 환경에 태그를 지정하여 자동화 허브 컨테이너 리포지토리에 저장된 자동화 실행 환경에 이름을 추가합니다. 자동화 실행 환경에 태그가 추가되지 않으면 자동화 허브의 기본값은 latest 입니다.

사전 요구 사항

  • 자동화 실행 환경 태그 권한이 변경됩니다.

프로세스

  1. 탐색 패널에서 자동화 콘텐츠실행 환경을 선택합니다.
  2. 자동화 실행 환경을 선택합니다.
  3. 이미지 탭을 클릭합니다.
  4. More Actions 아이콘 Cryostat 클릭하고 태그 관리를 클릭합니다.
  5. 텍스트 필드에 새 태그를 추가하고 추가 를 클릭합니다.
  6. 선택 사항: 해당 이미지의 태그에서 x 를 클릭하여 현재 태그를 제거합니다.

검증

  • 활동 탭을 클릭하고 최신 변경 사항을 검토합니다.

3.4.5. 인증 정보 생성

암호 또는 토큰 보호 레지스트리에서 자동화 실행 환경 이미지를 가져오려면 인증 정보를 생성해야 합니다.

이전 버전의 Ansible Automation Platform에서는 실행 환경 이미지를 저장하기 위해 레지스트리를 배포해야 했습니다. Ansible Automation Platform 2.0 이상에서는 원격 레지스트리가 이미 실행 중인 것처럼 시스템이 작동합니다. 실행 환경 이미지를 저장하려면 선택한 원격 레지스트리의 자격 증명만 추가합니다.

프로세스

  1. Ansible Automation Platform에 로그인합니다.
  2. 탐색 패널에서 자동화 실행인프라 자격증명을 선택합니다.
  3. 인증 정보 생성 을 클릭하여 새 인증 정보를 생성합니다.
  4. 권한 부여 이름, 설명조직을 입력합니다.
  5. 인증 정보 유형 드롭다운에서 컨테이너 레지스트리 를 선택합니다.
  6. 인증 URL 을 입력합니다. 원격 레지스트리 주소입니다.
  7. 원격 레지스트리에 로그인하는 데 필요한 사용자 이름암호 또는 토큰 을 입력합니다.
  8. 선택 사항: SSL 확인을 활성화하려면 SSL 확인을 선택합니다.
  9. 인증 정보 생성을 클릭합니다.

조직, 사용자 또는 팀 중 하나 이상의 필드를 채우는 것은 필수이며 사용자 인터페이스를 통해 수행할 수 있습니다.

3.5. 컨테이너 리포지토리에서 이미지 가져오기

자동화 허브 원격 레지스트리에서 자동화 실행 환경을 가져와 로컬 머신에 복사합니다. Automation Hub는 컨테이너 리포지토리의 각 최신 자동화 실행 환경에 대해 podman pull 명령을 제공합니다. 이 명령을 터미널에 복사하여 붙여넣거나 podman pull 을 사용하여 자동화 실행 환경 태그를 기반으로 자동화 실행 환경을 복사할 수 있습니다.

3.5.1. 이미지 가져오기

자동화 허브 원격 레지스트리에서 자동화 실행 환경을 가져와 로컬 머신에 복사할 수 있습니다.

사전 요구 사항

  • 개인 컨테이너 리포지토리에서 보고 가져올 수 있는 권한이 있어야 합니다.

프로세스

  1. 암호 또는 토큰 보호 레지스트리에서 자동화 실행 환경을 가져오는 경우 자동화 실행 환경을 가져오기 전에 인증 정보를 생성합니다.
  2. 탐색 패널에서 자동화 콘텐츠실행 환경을 선택합니다.
  3. 자동화 실행 환경을 선택합니다.
  4. 이 이미지 가져오기 항목에서 클립보드에 복사를 클릭합니다.
  5. 터미널에서 명령을 붙여 넣습니다.

검증

  • podman 이미지를 실행하여 로컬 머신의 이미지를 확인합니다.

3.5.2. 컨테이너 리포지토리에서 이미지 동기화

자동화 허브 원격 레지스트리에서 자동화 실행 환경을 가져와서 이미지를 로컬 머신에 동기화할 수 있습니다. 원격 레지스트리에서 자동화 실행 환경을 동기화하려면 먼저 원격 레지스트리를 구성해야 합니다.

사전 요구 사항

개인 컨테이너 리포지토리에서 보고 가져올 수 있는 권한이 있어야 합니다.

프로세스

  1. 탐색 패널에서 자동화 콘텐츠실행 환경을 선택합니다.
  2. 레지스트리에 https://registry.redhat.io 를 추가합니다.
  3. 인증에 필요한 인증 정보를 추가합니다.

    참고

    일부 원격 레지스트리는 속도 제한으로 공격적입니다. Advanced Options 에서 유량 제한을 설정합니다.

  4. 탐색 패널에서 자동화 콘텐츠실행 환경을 선택합니다.
  5. 페이지 헤더에서 실행 환경 생성 을 클릭합니다.
  6. 가져올 레지스트리를 선택합니다. 이름 필드에는 로컬 레지스트리에 표시된 자동화 실행 환경의 이름이 표시됩니다.

    참고

    Upstream 이름 필드는 원격 서버의 이미지 이름입니다. 예를 들어 업스트림 이름이 "alpine"로 설정되고 Name 필드가 "local/alpine"인 경우 alpine 이미지가 원격에서 다운로드되고 "local/alpine"로 이름이 변경됩니다.

  7. 포함하거나 제외할 태그 목록을 설정합니다. 자동화 실행 환경을 많은 태그와 동기화하는 것은 시간이 많이 소요되며 많은 디스크 공간을 사용합니다.

3.6. 서명된 컨테이너 작업

자동화 실행 환경은 Ansible Automation Platform에서 작업을 실행하는 데 사용하는 컨테이너 이미지입니다. 이 콘텐츠를 프라이빗 자동화 허브로 다운로드하여 조직 내에 게시할 수 있습니다.

3.6.1. 컨테이너 서명을 위해 시스템 배포

컨테이너 서명이 준비되도록 시스템을 배포하려면 먼저 자동화 콘텐츠 수집 및 컨테이너 서명을 활성화했는지 확인합니다. 그런 다음 서명 스크립트를 생성하거나 실행 환경을 수동으로 추가 및 서명 할 수 있습니다.

참고

설치 프로그램은 설치 프로그램이 있는 동일한 서버에서 스크립트와 키를 찾습니다.

프로세스

  1. 터미널에서 서명 스크립트를 생성하고 설치 프로그램 매개 변수로 스크립트 경로를 전달합니다.

    :

    #!/usr/bin/env bash
    
    # pulp_container SigningService will pass the next 4 variables to the script.
    MANIFEST_PATH=$1
    FINGERPRINT="$PULP_SIGNING_KEY_FINGERPRINT"
    IMAGE_REFERENCE="$REFERENCE"
    SIGNATURE_PATH="$SIG_PATH"
    
    # Create container signature using skopeo
    skopeo standalone-sign \
      $MANIFEST_PATH \
      $IMAGE_REFERENCE \
      $FINGERPRINT \
      --output $SIGNATURE_PATH
    
    # Optionally pass the passphrase to the key if password protected.
    # --passphrase-file /path/to/key_password.txt
    
    # Check the exit status
    STATUS=$?
    if [ $STATUS -eq 0 ]; then
      echo {\"signature_path\": \"$SIGNATURE_PATH\"}
    else
      exit $STATUS
    fi
    Copy to Clipboard Toggle word wrap
  2. automationhub_* 로 시작하는 컨테이너 서명 옵션을 보려면 Ansible Automation Platform 설치 프로그램 인벤토리 파일을 검토하십시오.

    [all:vars]
    .
    .
    .
    
    automationhub_create_default_container_signing_service = True
    automationhub_container_signing_service_key = /absolute/path/to/key/to/sign
    automationhub_container_signing_service_script = /absolute/path/to/script/that/signs
    Copy to Clipboard Toggle word wrap
  3. 설치가 완료되면 Ansible Automation Platform에 로그인하고 Automation ContentSignature Keys 로 이동합니다.
  4. container-default 또는 컨테이너-anyname 이라는 키가 있는지 확인합니다.
참고

container-default 서비스는 Ansible Automation Platform 설치 프로그램에서 생성합니다.

3.6.2. 자동화 허브에 원격으로 컨테이너 추가

다음 두 가지 방법 중 하나로 자동화 허브에 원격으로 컨테이너를 추가할 수 있습니다.

  • 원격 생성
  • 자동화 실행 환경 사용

프로세스

  1. Ansible Automation Platform에 로그인합니다.
  2. 탐색 패널에서 Automation ContentRemote Registries 를 선택합니다.
  3. 원격 레지스트리 생성을 클릭합니다.

    • 이름 필드에 컨테이너가 있는 레지스트리의 이름을 입력합니다.
    • URL 필드에 컨테이너가 있는 레지스트리의 URL을 입력합니다.
    • 필요한 경우 Username 필드에 사용자 이름을 입력합니다.
    • 필요한 경우 암호 필드에 암호를 입력합니다.
    • 원격 레지스트리 생성을 클릭합니다.

3.6.3. 실행 환경 추가 및 서명

자동화 실행 환경은 시스템 수준의 종속성 및 컬렉션 기반 콘텐츠를 통합할 수 있는 컨테이너 이미지입니다. 각 실행 환경을 사용하면 작업을 실행할 수 있는 사용자 지정 이미지를 사용할 수 있으며, 각 실행 환경에는 작업을 실행할 때 필요한 항목만 포함됩니다.

프로세스

  1. 탐색 패널에서 자동화 콘텐츠실행 환경을 선택합니다.
  2. 실행 환경 생성 을 클릭하고 표시되는 필드에 관련 정보를 입력합니다.

    1. Name 필드에는 로컬 레지스트리의 실행 환경 이름이 표시됩니다.
    2. Upstream 이름 필드는 원격 서버의 이미지 이름입니다.
    3. 레지스트리 의 드롭다운 메뉴에서 레지스트리 이름을 선택합니다.
    4. 선택 사항: Add tag(s) to include 필드에 태그를 입력합니다. 필드가 비어 있으면 모든 태그가 전달됩니다. 전달할 리포지토리별 태그를 지정해야 합니다.
    5. 선택 사항: 제외할 태그 추가에 제외할 태그를 입력합니다.
  3. 실행 환경 생성을 클릭합니다. 표시되는 목록에 새 실행 환경이 표시되어야 합니다.
  4. 새 자동화 실행 환경을 동기화하고 서명합니다.

    1. More Actions 아이콘 Cryostat 클릭하고 실행 환경 동기화 를 선택합니다.
    2. More Actions 아이콘 Cryostat 클릭하고 Sign execution environment 를 선택합니다.
  5. 새 실행 환경을 클릭합니다. 세부 정보 페이지에서 서명된 레이블을 찾아 실행 환경에 서명되었는지 확인합니다.

3.6.4. 로컬 환경에서 컨테이너 이미지 푸시

다음 절차에 따라 로컬 시스템에서 자동화 실행 환경에 서명하고 서명된 실행 환경을 자동화 허브 레지스트리로 푸시합니다.

프로세스

  1. 터미널에서 Podman 또는 현재 사용 중인 컨테이너 클라이언트에 로그인합니다.

    > podman pull <container-name>
    Copy to Clipboard Toggle word wrap
  2. 실행 환경을 가져온 후 태그를 추가합니다(예: latest, rc, beta 또는 버전 번호(예: 1.0; 2.3 등):

    > podman tag <container-name> <server-address>/<container-name>:<tag name>
    Copy to Clipboard Toggle word wrap
  3. 변경 후 실행 환경에 로그인하고 자동화 허브 레지스트리로 다시 푸시합니다.

    > podman push <server-address>/<container-name>:<tag name> --tls-verify=false --sign-by <reference to the gpg key on your local>
    Copy to Clipboard Toggle word wrap

    실행 환경이 서명되지 않은 경우 현재 서명이 포함된 경우에만 푸시할 수 있습니다. 또는 다음 스크립트를 사용하여 서명하지 않고 실행 환경을 푸시할 수 있습니다.

    > podman push <server-address>/<container-name>:<tag name> --tls-verify=false
    Copy to Clipboard Toggle word wrap
  4. 실행 환경이 푸시되면 Automation ContentExecution Environments 로 이동합니다.
  5. 새 실행 환경을 표시하려면 새로 고침 아이콘을 클릭합니다.
  6. 내보낸 이미지를 보려면 이미지의 이름을 클릭합니다.

문제 해결

각 실행 환경의 세부 정보 페이지는 서명되었는지 여부를 나타냅니다. 세부 정보 페이지에 이미지가 Unsigned 임을 나타내는 경우 다음 단계를 사용하여 자동화 허브에서 실행 환경에 서명할 수 있습니다.

  1. 실행 환경 이름을 클릭하여 세부 정보 페이지로 이동합니다.
  2. More Actions 아이콘 Cryostat를 클릭합니다. 세 가지 옵션을 사용할 수 있습니다.

    • 실행 환경에 서명
    • 컨트롤러에서 사용
    • 실행 환경 삭제
  3. 드롭다운 메뉴에서 Sign execution environment 를 클릭합니다.

검증

서명 서비스는 실행 환경에 서명합니다. 실행 환경이 서명되면 상태가 "signed"로 변경됩니다.

3.6.5. 서명된 이미지가 있는 정책

podman 또는 기타 이미지 클라이언트에서 해당 서명에 특정 정책을 할당하여 이미지의 유효성을 보장하기 위해 정책을 사용할 수 있습니다.

3.6.6. podman을 사용하여 특정 서명으로 이미지에 서명되었는지 확인

실행 환경이 특정 서명에 의해 서명되도록 하려면 먼저 로컬 환경에 서명해야 합니다.

프로세스

  1. 탐색 패널에서 Automation ContentSignature Keys 를 선택합니다.
  2. 사용 중인 서명 옆에 있는 키 다운로드 아이콘을 클릭합니다. 키를 다운로드했음을 나타내기 위해 새 창이 열려 있어야 합니다.

3.6.7. 서명을 확인하도록 클라이언트 구성

원격 레지스트리에서 가져온 실행 환경이 올바르게 서명되었는지 확인하려면 먼저 정책 파일에서 적절한 공개 키를 사용하여 실행 환경을 구성해야 합니다.

사전 요구 사항

  • 클라이언트에는 서명을 확인하도록 sudo 권한이 구성되어 있어야 합니다.

프로세스

  1. 터미널을 열고 다음 명령을 사용합니다.

    >  sudo <name of editor> /etc/containers/policy.json
    Copy to Clipboard Toggle word wrap

    표시되는 파일은 다음과 유사합니다.

    {
      "default": [{"type": "reject"}],
      "transports": {
      	"docker": {
        	"quay.io": [{"type": "insecureAcceptAnything"}],
        	"docker.io": [{"type": "insecureAcceptAnything"}],
        	"<server-address>": [
          	{
              	    "type": "signedBy",
              	    "keyType": "GPGKeys",
              	    "keyPath": "/tmp/containersig.txt"
          	}]
      	}
      }
    }
    Copy to Clipboard Toggle word wrap

    이 파일은 quay.io 또는 docker.io 가 모두 확인을 수행하지 않음을 보여줍니다. 유형은 거부 의 기본 유형을 재정의하는 insecureAcceptAnything 이기 때문입니다. 그러나 매개변수 유형은 "signedBy" 로 설정되어 있으므로 < server-address >는 확인을 수행합니다.

    참고

    현재 지원되는 유일한 keyType 은 GPG 키입니다.

  2. &lt ;server-address > 항목에서 키 파일의 이름을 포함하도록 keyPath <1>를 수정합니다.

    {
        	"default": [{"type": "reject"}],
        	"transports": {
            	"docker": {
              	  "quay.io": [{"type": "insecureAcceptAnything"}],
              	  "docker.io": [{"type": "insecureAcceptAnything"}],
              	  "<server-address>": [{
                    	"type": "signedBy",
                    	"keyType": "GPGKeys",
                    	"keyPath": "/tmp/<key file name>",
                    	"signedIdentity": {
                      	  "type": "matchExact"
                        }
                	  }]
                }
        	}
    }
    Copy to Clipboard Toggle word wrap
  3. 파일을 저장하고 닫습니다.

검증

  • Podman을 사용하여 파일을 가져오거나 선택한 클라이언트를 가져옵니다.
> podman pull <server-address>/<container-name>:<tag name> --tls-verify=false
Copy to Clipboard Toggle word wrap

이 응답은 실행 환경이 오류 없이 서명되었는지 확인합니다. 실행 환경이 서명되지 않은 경우 명령이 실패합니다.

추가 리소스

3.7. 컨테이너 리포지토리 삭제

Ansible Automation Platform에서 원격 리포지토리를 삭제하여 디스크 공간을 관리합니다. 실행 환경 목록 보기의 Red Hat Ansible Automation Platform 인터페이스에서 리포지토리를 삭제할 수 있습니다.

사전 요구 사항

  • 리포지토리를 관리할 수 있는 권한이 있습니다.

프로세스

  1. Ansible Automation Platform에 로그인합니다.
  2. 탐색 패널에서 자동화 콘텐츠실행 환경을 선택합니다.
  3. 삭제하려는 컨테이너 리포지토리에서 More Actions (추가 작업) 아이콘을 클릭하고 Delete execution environment 를 클릭합니다.
  4. 확인 메시지가 표시되면 확인란을 클릭하고 실행 환경 삭제 를 클릭합니다.

검증

  • 자동화 실행 환경 목록 보기로 돌아갑니다. 자동화 실행 환경이 성공적으로 삭제되면 더 이상 목록에 표시되지 않습니다.

법적 공지

Copyright © 2025 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.
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat