8.6. Fulcio 및 Rekor를 사용하여 sigstore 서명으로 컨테이너 이미지 확인
Fulcio 및 Rekor 관련 정보를 policy.json
파일에 추가하여 이미지 서명을 확인할 수 있습니다. 컨테이너 이미지 서명을 확인하면 이미지가 신뢰할 수 있는 소스에서 제공되어 이미지가 변조되거나 변경되지 않았습니다.
사전 요구 사항
-
container-tools
모듈이 설치되어 있습니다.
절차
/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 파일을 읽고 파일 이름이 임의의 것입니다.
/etc/containers/policy.json
파일의fulcio
섹션과rekorPublicKeyPath
또는rekorPublicKeyData
필드를 추가합니다.{ ... "transports": { "docker": { "<registry>/<namespace>": [ { "type": "sigstoreSigned", "fulcio": { "caPath": "/path/to/local/CA/file", "oidcIssuer": "https://expected.OIDC.issuer/", "subjectEmail", "expected-signing-user@example.com", }, "rekorPublicKeyPath": "/path/to/local/public/key/file", } ] ... } } ... }
-
fulcio
섹션에서는 서명이 Fulcio-issued 인증서를 기반으로 한다는 것을 제공합니다. -
Fulcio 인스턴스의 CA 인증서가 포함된
caPath
및caData
필드 중 하나를 지정해야 합니다. -
oidcIssuer
및subjectEmail
은 필수 ID 공급자와 Fulcio 인증서를 얻는 사용자의 ID를 정확하게 지정해야 합니다. -
rekorPublicKeyPath
및rekorPublicKeyData
필드 중 하나를 지정해야 합니다.
-
이미지를 가져옵니다.
$ podman pull <registry>/<namespace>/<image>
podman pull
명령은 구성된 대로 서명 존재를 강제 시행하며 추가 옵션은 필요하지 않습니다.
추가 리소스
-
시스템의
policy.json
및container-registries.d
도움말 페이지