Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Key Management Service
  • Начало работы
    • Все инструкции
      • Ключевая пара электронной подписи
      • Права доступа к ключевой паре электронной подписи
      • Электронная подпись и проверка подписи
      • Электронная подпись файлов и артефактов с помощью Cosign
    • Посмотреть операции с ресурсами сервиса
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Вопросы и ответы
  • Обучающие курсы

В этой статье:

  • Перед началом работы
  • Подпишите локальный файл
  • Проверьте электронную подпись
  1. Пошаговые инструкции
  2. Электронная подпись
  3. Электронная подпись файлов и артефактов с помощью Cosign

Электронная подпись файлов и артефактов с помощью утилиты Cosign

Статья создана
Yandex Cloud
Обновлена 23 апреля 2025 г.
  • Перед началом работы
  • Подпишите локальный файл
  • Проверьте электронную подпись

В сервисе Key Management Service можно использовать ключевые пары электронной подписи, созданные с помощью утилиты Cosign. Специальная сборка утилиты Cosign позволяет сохранять созданную ключевую пару в сервисе KMS, подписывать файлы и артефакты закрытым ключом этой пары и проверять электронную подпись с помощью ее открытого ключа.

Перед началом работыПеред началом работы

  1. Установите специальную сборку Cosign для вашей операционной системы:

    • Linux amd64
    • MacOS Darwin amd64
    • MacOS Darwin arm64
    • Windows
  2. Получите IAM-токен и сохраните его в переменную среды $YC_IAM_TOKEN:

    Bash
    PowerShell
    export YC_IAM_TOKEN=$(yc iam create-token)
    
    $env:YC_IAM_TOKEN = $(yc iam create-token)
    

Подпишите локальный файлПодпишите локальный файл

  1. Создайте и сохраните в KMS ключевую пару электронной подписи:

    cosign generate-key-pair \
      --kms yckms:///folder/<идентификатор_каталога>/keyname/<имя_ключевой_пары>
    

    Где:

    • <идентификатор_каталога> — идентификатор каталога, в котором будет сохранена создаваемая ключевая пара.
    • <имя_ключевой_пары> — имя создаваемой ключевой пары подписи.

    Результат:

    client.go:183: Using IAM Token from 'YC_IAM_TOKEN' environment variable as credentials
    client.go:310: generated yckms KEY_ID: 'abj15qhhh98d********'
    Public key written to cosign.pub
    

    Утилита вернет идентификатор созданной ключевой пары подписи и сохранит открытый ключ подписи в локальный файл. Сохраните идентификатор ключевой пары, он понадобится вам на следующих шагах.

    Идентификатор ключевой пары подписи всегда можно получить в консоли управления или с помощью команды CLI.

  2. Подпишите локальный файл:

    cosign sign-blob \
      --key yckms:///<идентификатор_ключевой_пары> \
      --tlog-upload=false \
      <путь_к_файлу>
    

    Где:

    • <идентификатор_ключевой_пары> — идентификатор ключевой пары подписи, полученный на предыдущем шаге.
    • <путь_к_файлу> — путь к локальному файлу, который требуется подписать.

    Результат:

    Using payload from: <путь_к_файлу>
    client.go:183: Using IAM Token from 'YC_IAM_TOKEN' environment variable as credentials
    <значение_электронной_подписи>
    

    Сохраните полученное значение электронной подписи. Оно понадобится вам для проверки подписи на следующем шаге.

Проверьте электронную подписьПроверьте электронную подпись

Для проверки подписи выполните команду:

cosign verify-blob \
  --key yckms:///<идентификатор_ключевой_пары> \
  --insecure-ignore-tlog \
  --signature "<значение_электронной_подписи>" \
  <путь_к_файлу>

Где:

  • --key — идентификатор ключевой пары подписи, полученный ранее.
  • --signature — значение электронной подписи, полученное на предыдущем шаге.
  • <путь_к_файлу> — путь к локальному файлу, подпись которого требуется проверить.

Результат:

WARNING: Skipping tlog verification is an insecure practice that lacks of transparency and auditability verification for the blob.
client.go:183: Using IAM Token from 'YC_IAM_TOKEN' environment variable as credentials
Verified OK

См. такжеСм. также

  • Подпись и проверка Docker-образов Container Registry в Managed Service for Kubernetes.

Была ли статья полезна?

Предыдущая
Электронная подпись и проверка подписи
Следующая
Посмотреть операции с ресурсами сервиса
Проект Яндекса
© 2025 ООО «Яндекс.Облако»