Red Hat Training

A Red Hat training course is available for RHEL 8

8.5. Fulcio 및 Rekor를 사용하여 sigstore 서명으로 컨테이너 이미지에 서명

Fulcio 및 Rekor 서버를 사용하면 개인 키를 수동으로 관리하는 대신 OIDC(OpenID Connect) 서버 인증을 기반으로 단기 인증서를 사용하여 서명을 생성할 수 있습니다.

사전 요구 사항

  • container-tools 모듈이 설치되어 있습니다.
  • Fulcio(https:// <your-fulcio-server> ) 및 Rekor (https:// <your-rekor-server> ) 서버가 실행 및 구성되어 있습니다.
  • Podman v4.4 이상이 설치되어 있어야 합니다.

절차

  1. /etc/containers/registries.conf.d/default.yaml 파일에 다음 내용을 추가합니다.

    docker:
        <registry>:
            use-sigstore-attachments: true
    • use-sigstore-attachments 옵션을 설정하면 Podman 및 Skopeo가 이미지와 함께 컨테이너 sigstore 서명을 읽고 쓰고 서명된 이미지와 동일한 리포지토리에 저장할 수 있습니다.

      참고

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

  2. file.yml 파일을 생성합니다.

    fulcio:
      fulcioURL: "https://<your-fulcio-server>"
      oidcMode: "interactive"
      oidcIssuerURL: "https://<your-OIDC-provider>"
      oidcClientID: "sigstore"
    rekorURL: "https://<your-rekor-server>"
    • file.yml 은 sigstore 서명을 생성하는 데 필요한 옵션을 저장하는 데 사용되는 sigstore 서명 매개 변수 YAML 파일입니다.
  3. 이미지에 서명하고 레지스트리에 푸시합니다.

    $ podman push --sign-by-sigstore=file.yml <registry>/<namespace>/<image>
    • 또는 유사한 --sign-by-sigstore 옵션과 함께 skopeo copy 명령을 사용하여 컨테이너 레지스트리에서 이동하는 동안 기존 이미지에 서명할 수 있습니다.
주의

공용 서버에 대한 제출에는 공개 키 및 인증서에 대한 데이터, 서명에 대한 메타데이터가 포함되어 있습니다.

추가 리소스

  • containers-sigstore-signing-params.yaml 매뉴얼 페이지
  • podman-push man 페이지
  • container-registries.d 매뉴얼 페이지