Подписать Docker-образ в Artifact Registry и настроить проверку подписи с помощью Connoisseur
С помощью инструкции подпишем Docker-образ в Artifact-Registry и настроим проверку подписи в Managed Kubernetes. Подпись и проверка Docker-образов необходимы для обеспечения подлинности и целостности образов.
Перед началом работы
Шаг 1. Подпишите образ
Создайте пару ключей с помощью Cosign:
cosign generate-key-pairЗадайте и введите пароль для закрытого ключа.
Чтобы подписать Docker-образ в Artifact Registry, выполните команду:
cosign sign --key cosign.key --tlog-upload = false <URI_реестра>/<название_Docker-образа>:<тег>Чтобы проверить корректность подписи Docker-образа, выполните команду:
cosign verify --key cosign.pub --insecure-ignore-tlog = true <URI_реестра>/<название_Docker-образа>:<тег>
Шаг 2. Добавьте публичный ключ в конфигурационный файл Connaisseur
Пройдите аутентификацию в API.
Выполните HTTP-запрос:
PATCH /v2/clusters/ { clusterId } /addons/connaisseurГде clusterId — идентификатор кластера.
В теле запроса передайте параметры:
{"clusterId" : <идентификатор_кластера>,"addonName" : сonnaisseur,"addonConfiguration" :validators:- name: cloud.rutype: cosigntrustRoots:- name: defaultkey: |-----BEGIN PUBLIC KEY-----Публичный ключ cosign.pub-----END PUBLIC KEY-----auth:secretName: cloud-registry-secretpolicy:- pattern: <URI_реестра>/*:*validator: cloud.ruwith:verifyInTransparencyLog: false}
Шаг 3. Создайте под с подписанным образом
В терминале или PowerShell выполните команду:
kubectl run pod --image = <URI_реестра>/<название_Docker-образа>:<тег>
Результат:
pod/pod created
Шаг 4. Удалите ресурсы
Если вы закончили работать с примером, удалите созданные ресурсы:
- Перед началом работы
- Шаг 1. Подпишите образ
- Шаг 2. Добавьте публичный ключ в конфигурационный файл Connaisseur
- Шаг 3. Создайте под с подписанным образом
- Шаг 4. Удалите ресурсы