Red Hat Training

A Red Hat training course is available for RHEL 8

8.2. GPG 이미지 서명 확인

다음 절차를 사용하여 컨테이너 이미지가 GPG 키로 올바르게 서명되었는지 확인할 수 있습니다.

사전 요구 사항

  • container-tools 모듈이 설치되어 있습니다.
  • 서명 읽기를 위한 웹 서버가 설정되어 있으며 해당 서버에 파일을 게시할 수 있습니다.

    • /etc/containers/registries.d/default.yaml 파일에서 시스템 전체 레지스트리 구성을 확인할 수 있습니다. lookaside 옵션은 서명 읽기를 위해 웹 서버를 참조합니다. 서명을 확인하기 위해 lookaside 옵션을 설정해야 합니다.

      # cat /etc/containers/registries.d/default.yaml
      docker:
          <registry>:
              lookaside: https://registry-lookaside.example.com
              lookaside-staging: file:///var/lib/containers/sigstore
      ...

절차

  1. < registry>의 신뢰 범위를 업데이트합니다.

    $ podman image trust set -f <path>/key.gpg <registry>/<namespace>
  2. 선택 사항: /etc/containers/policy.json 파일을 표시하여 신뢰 정책 구성을 확인합니다.

    $ cat /etc/containers/policy.json
    {
      ...
      "transports": {
        "docker": {
          "<registry>/<namespace>": [
            {
              "type": "signedBy",
              "keyType": "GPGKeys",
              "keyPath": "<path>/key.gpg"
            }
          ]
        }
      }
    }
    참고

    일반적으로 /etc/containers.policy.json 파일은 동일한 키가 사용되는 조직 수준에서 구성됩니다. 예를 들어 공개 레지스트리의 경우 < registry>/<namespace > 또는 단일 회사 전용 레지스트리 의 경우 <registry>만 해당합니다.

  3. 이미지를 가져옵니다.

    # podman pull <registry>/<namespace>/<image>
    ...
    Storing signatures
    e7d92cdc71feacf90708cb59182d0df1b911f8ae022d29e8e95d75ca6a99776a

    podman pull 명령은 구성된 대로 서명 존재를 강제 시행하며 추가 옵션은 필요하지 않습니다.

참고

/etc/containers/registries.d/default.yaml 파일에서 시스템 전체 레지스트리 구성을 편집할 수 있습니다. /etc/containers/registries.d 디렉터리의 YAML 파일에서 레지스트리 또는 리포지토리 구성 섹션을 편집할 수도 있습니다. 모든 YAML 파일은 읽기이며 파일 이름은 임의로 지정할 수 있습니다. 단일 범위(default-docker, 레지스트리 또는 네임스페이스)는 /etc/containers/registries.d 디렉터리 내의 하나의 파일에만 존재할 수 있습니다.

중요

/etc/containers/registries.d/default.yaml 파일의 시스템 전체 레지스트리 구성은 게시된 서명에 액세스할 수 있습니다. sigstoresigstore-staging 옵션이 더 이상 사용되지 않습니다. 이러한 옵션은 스토리지에 서명하고 sigstore 서명 형식에 연결되어 있지 않습니다. 대신 새 동일한 모양과 lookaside -staging 옵션을 사용하십시오.

추가 리소스

  • podman-image-trust 도움말 페이지
  • podman-pull 도움말 페이지