2.8. Definindo a política de verificação de assinaturas de imagem
A Red Hat entrega assinaturas para as imagens no Red Hat Container Registry. Ao rodar como raiz, /etc/containers/policy.json, e os arquivos YAML no diretório /etc/containers/registries.d/ definem a política de verificação de assinaturas. A política de confiança em /etc/containers/policy.json descreve um escopo de registro (registro e/ou repositório) para a confiança.
Por padrão, a ferramenta de contêineres lê a política de $HOME/.config/containers/policy.json, caso exista, caso contrário, de /etc/containers/policy.json.
A confiança é definida usando três parâmetros:
- O nome registry ou registry/repository
- Uma ou mais chaves GPG públicas
- Um servidor de assinatura
A Red Hat serve assinaturas destas URIs:
https://access.redhat.com/webassets/docker/content/sigstore https://registry.redhat.io/containers/sigstore
https://access.redhat.com/webassets/docker/content/sigstore
https://registry.redhat.io/containers/sigstore
Procedimento
Exibir o arquivo
/etc/containers/policy.json:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Para atualizar um escopo de confiança existente para os registros registry.access.redhat.com e registry.redhat.io, entre:
podman image trust set -f /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release registry.access.redhat.com podman image trust set -f /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release registry.redhat.io
# podman image trust set -f /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release registry.access.redhat.com # podman image trust set -f /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release registry.redhat.ioCopy to Clipboard Copied! Toggle word wrap Toggle overflow Para verificar a configuração da política de confiança, exibir o arquivo
/etc/containers/policy.json:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Você pode ver que as seções
"registry.access.redhat.com"e"registry.redhat.io"são adicionadas.Criar o arquivo
/etc/containers/registries.d/registry.access.redhat.com.yamlpara identificar a loja de assinaturas de imagens de contêineres do registro registry.access.redhat.com:docker: registry.access.redhat.com: sigstore: https://access.redhat.com/webassets/docker/content/sigstoredocker: registry.access.redhat.com: sigstore: https://access.redhat.com/webassets/docker/content/sigstoreCopy to Clipboard Copied! Toggle word wrap Toggle overflow Crie o arquivo
etc/containers/registries.d/registry.redhat.io.yamlcom o seguinte conteúdo:docker: registry.redhat.io: sigstore: https://registry.redhat.io/containers/sigstoredocker: registry.redhat.io: sigstore: https://registry.redhat.io/containers/sigstoreCopy to Clipboard Copied! Toggle word wrap Toggle overflow Para exibir a configuração de confiança, entre:
podman image trust show default accept
# podman image trust show default accept registry.access.redhat.com signedBy security@redhat.com, security@redhat.com https://access.redhat.com/webassets/docker/content/sigstore registry.redhat.io signedBy security@redhat.com, security@redhat.com https://registry.redhat.io/containers/sigstore insecureAcceptAnythingCopy to Clipboard Copied! Toggle word wrap Toggle overflow Para rejeitar a política de confiança padrão, digite:
podman image trust set -t rejeita o padrão
# podman image trust set -t rejeita o padrãoCopy to Clipboard Copied! Toggle word wrap Toggle overflow Para verificar a configuração da política de confiança, exibir o site
/etc/containers/policy.json:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Você pode ver que a seção
"default"mudou de"insecureAcceptAnything"para"reject".Tente extrair a imagem mínima da Red Hat Universal Base Image 8 (
ubi8-minimal) do registro registry.access.redhat.com:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Você vê que o endereço de armazenamento de assinaturas
access.redhat.com/webassets/docker/content/sigstorecorresponde ao endereço que você especificou no site/etc/containers/registries.d/registry.access.redhat.com.yaml.Entrar no registro.redhat.io
podman login registry.redhat.io
# podman login registry.redhat.io Username: username Password: *********** Login Succeeded!Copy to Clipboard Copied! Toggle word wrap Toggle overflow Tente tirar a imagem
support-toolsdo registro.redhat.ioCopy to Clipboard Copied! Toggle word wrap Toggle overflow Você pode ver que o endereço de armazenamento de assinaturas
registry.redhat.io/containers/sigstorecorresponde ao endereço que você especificou no site/etc/containers/registries.d/registry.redhat.io.yaml.Para listar todas as imagens puxadas para seu sistema local, entre:
podman images
# podman images REPOSITORY TAG IMAGE ID CREATED SIZE registry.redhat.io/rhel8/support-tools latest 5ef2aab09451 13 days ago 254 MB registry.access.redhat.com/ubi8-minimal latest 86c870596572 13 days ago 146 MBCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Recursos adicionais
-
Para mais informações sobre o
podman image trust, digiteman podman-image-trust. - Para mais informações sobre a verificação de imagens de contêineres, veja o artigo Verificação de assinatura de imagem para o Red Hat Container Registry.