Yandex Cloud
Поиск
Связаться с экспертомПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
    • Cloud Interconnect
    • Cloud Backup
    • Compute Cloud
    • Object Storage
    • Managed Service for Kubernetes®
    • Managed Service for PostgreSQL
    • Managed Service for ClickHouse®
    • Monium
    • Cloud CDN
    • Network Load Balancer
    • Virtual Private Cloud
    • Cloud DNS
    • Application Load Balancer
    • Yandex Cloud Router
    • Managed Service for MySQL®
    • Managed Service for Valkey™
    • Managed Service for Apache Spark™
    • Managed Service for OpenSearch
    • Managed Service for Apache Kafka®
    • Data Transfer
    • Yandex MPP Analytics Engine for PostgreSQL
    • Managed Service for YDB
    • SpeechKit
    • Yandex Identity Hub
    • Key Management Service
    • Certificate Manager
    • Yandex Lockbox
    • Audit Trails
    • Container Registry
    • Managed Service for Prometheus®
    • Message Queue
    • Identity and Access Management
    • Yandex Cloud Console
    • Resource Manager
    • Yandex Cloud Billing
    • Cloud Apps
    • Yandex AI Studio
    • Yandex BareMetal
    • Smart Web Security
    • Security Deck
    • Yandex Cloud Video
    • Stackland
    • Yandex StoreDoc
    • Yandex Managed Service for Apache Airflow®
    • Data Processing
    • Yandex MetaData Hub
    • Yandex WebSQL
    • DataLens
    • Yandex Search API
    • SpeechSense
    • DataSphere
    • Vision OCR
    • Translate
    • Cloud Registry
    • SmartCaptcha
    • Cloud Desktop
    • SourceCraft Code Assistant
    • Managed Service for GitLab
    • Cloud Functions
    • API Gateway
    • Yandex Cloud Postbox
    • Serverless Integrations
    • IoT Core
    • Serverless Containers
    • Cloud Notification Service
    • Yandex Query
  • Статус работы сервисов
  • Marketplace
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Акции и free tier
  • Кейсы
  • Документация
  • Блог
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»
Практические руководства
    • Все руководства
    • Разграничение прав доступа для групп пользователей
    • Приглашение нового пользователя и назначение ролей
    • Создание L7-балансировщика с профилем безопасности Smart Web Security через Ingress-контроллер Application Load Balancer
    • Создание распределенной инфраструктуры с защищенным доступом
    • Централизованная публикация в интернете и защита приложений от DDoS
    • Базовая настройка SWS
    • Экстренная защита сервисов в Application Load Balancer от DDoS на уровне L7
    • Передача логов с виртуальной машины в Cloud Logging
    • Запись логов балансировщика в PostgreSQL
    • Безопасное хранение паролей для GitLab CI в виде секретов Yandex Lockbox
    • Сервисный аккаунт с профилем OS Login для управления ВМ с помощью Ansible
    • Передача логов с Container Optimized Image в Cloud Logging
    • Добавление HTML-страницы для работы SmartCaptcha
    • Настройка алертов и дашбордов в Monitoring
    • Загрузка аудитных логов в SIEM Splunk
    • Загрузка аудитных логов в SIEM ArcSight
      • Какой способ шифрования выбрать?
      • Шифрование с помощью CLI и API Yandex Cloud
      • Шифрование с помощью SDK Yandex Cloud
      • Шифрование с помощью AWS Encryption SDK
      • Шифрование с помощью Google Tink
    • Шифрование для бакета Object Storage на стороне сервера
    • Шифрование секретов в HashiCorp Terraform
    • Управление ключами KMS с HashiCorp Terraform
    • Auto Unseal в HashiCorp Vault
    • Передача логов кластера Yandex MPP Analytics for PostgreSQL в Yandex Cloud Logging
    • Получение сведений для запроса на включение ресурса в белый список Минцифры
    • Загрузка объектов в бакет Object Storage с помощью эфемерного ключа доступа

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

  • Добавление зависимости
  • Шифрование и расшифрование
  1. Безопасность
  2. Шифрование данных
  3. Шифрование с помощью Google Tink

Шифрование данных с помощью Google Tink

Статья создана
Yandex Cloud
Обновлена 16 июня 2026 г.
Открыть в Markdown
  • Добавление зависимости
  • Шифрование и расшифрование

Tink — это библиотека шифрования от Google, альтернатива AWS Encryption. Библиотека помогает сосредоточиться на задаче шифрования и расшифрования данных, не отвлекаясь на выбор правильного алгоритма и параметров шифрования.

Поддерживаются Java и Go версии клиентов для Tink, позволяющие шифровать и расшифровывать данные на ключах Yandex Key Management Service. Данные шифруются по схеме envelope encryption (объем открытого текста не ограничен).

Добавление зависимостиДобавление зависимости

Перед началом работы необходимо добавить зависимости.

Java
Go

Добавьте зависимости с помощью Apache Maven:

<dependency>
    <groupId>com.yandex.cloud</groupId>
    <artifactId>kms-provider-tink</artifactId>
    <version>2.6</version>
</dependency>

Выполните команду:

go get github.com/yandex-cloud/kms-clients-go/yckmstink

Шифрование и расшифрованиеШифрование и расшифрование

В коде используются следующие переменные:

  • endpoint – api.yandexcloud.kz:443.
  • credentialProvider или credentials – определяет способ аутентификации, подробнее читайте в разделе Аутентификация в SDK Yandex Cloud.
  • keyId – идентификатор ключа KMS.
  • plaintext – открытый текст.
  • ciphertext – шифртекст.
  • aad – AAD-контекст.
Java
Go

Создайте Aead-объект и используйте методы encrypt и decrypt для шифрования и расшифрования данных:

AeadConfig.register();
KmsClients.add(new YcKmsClient(credentialProvider).withEndpoint(endpoint));

String keyUri = "yc-kms://" + keyId;
Aead kmsAead = KmsClients.get(keyUri).getAead(keyUri);
Aead aead = new KmsEnvelopeAead(AeadKeyTemplates.AES256_GCM, kmsAead);

...

byte[] ciphertext = aead.encrypt(plaintext, aad);

...

byte[] plaintext = aead.decrypt(ciphertext, aad);

Создайте aead-объект и используйте методы encrypt и decrypt для шифрования и расшифрования данных:

sdk, err := ycsdk.Build(context, ycsdk.Config{
  Endpoint:    endpoint,
  Credentials: credentials,
})
if err != nil {...}

kmsAead := yckmstink.NewYCAEAD(keyId, sdk)
aead := aead.NewKMSEnvelopeAEAD(*aead.AES256GCMKeyTemplate(), kmsAead)

...

ciphertext, err := aead.Encrypt(plaintext, aad)
if err != nil {...}

...

plaintext, err := aead.Decrypt(ciphertext, aad)
if err != nil {...}

Полезные ссылкиПолезные ссылки

  • Google Tink.
  • Java-клиент для Tink.
  • Примеры использования Java-клиента для Tink.
  • Go-клиент для Tink.
  • Примеры использования Go-клиента для Tink.

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

Предыдущая
Шифрование с помощью AWS Encryption SDK
Следующая
Шифрование для бакета Object Storage на стороне сервера
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»