Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
Yandex Key Management Service
  • Начало работы
  • Пошаговые инструкции
    • Все инструкции
    • Ключ
    • Версия ключа
    • Шифрование данных
  • Концепции
    • Обзор
    • Ключ
    • Версия ключа
    • Шифрование
    • Шифрование по схеме envelope encryption
    • Консистентность ключей
    • Аппаратный модуль безопасности (HSM)
    • Квоты и лимиты
  • Практические руководства
    • Все руководства
    • Шифрование данных
      • Какой способ шифрования выбрать?
      • Шифрование с помощью CLI и API Yandex Cloud
      • Шифрование с помощью SDK Yandex Cloud
      • Шифрование с помощью AWS Encryption SDK
      • Шифрование с помощью Google Tink
    • Шифрование секретов в Managed Service for Kubernetes
    • Управление ключами KMS с Hashicorp Terraform
    • Шифрование секретов в Hashicorp Terraform
    • Auto Unseal в Hashicorp Vault
  • Управление доступом
  • Правила тарификации
  • Справочник API
    • Аутентификация в API
    • gRPC (англ.)
      • Overview
      • SymmetricCryptoService
      • SymmetricKeyService
      • OperationService
    • REST (англ.)
      • Overview
      • SymmetricCrypto
        • Overview
        • decrypt
        • encrypt
        • generateDataKey
        • reEncrypt
      • SymmetricKey
        • Overview
        • cancelVersionDestruction
        • create
        • delete
        • get
        • list
        • listAccessBindings
        • listOperations
        • listVersions
        • rotate
        • scheduleVersionDestruction
        • setAccessBindings
        • setPrimaryVersion
        • update
        • updateAccessBindings
  • Вопросы и ответы
  1. Практические руководства
  2. Шифрование секретов в Managed Service for Kubernetes

Шифрование секретов в Yandex Managed Service for Kubernetes

Статья создана
Yandex Cloud
  • См. также

Используйте ключ KMS для шифрования секретов — конфиденциальной информации, такой как пароли, OAuth-токены и SSH-ключи, в Yandex Managed Service for Kubernetes. Для этого при создании кластера укажите ключ KMS, который будет использоваться при шифровании и расшифровке.

Ключ шифрования необходимо указать при создании кластера Kubernetes, его нельзя добавить при изменении кластера.

Консоль управления
CLI
Terraform
API

Укажите ключ при создании кластера Kubernetes:

  1. В консоли управления выберите каталог, в котором будет создан кластер Kubernetes.
  2. В списке сервисов выберите Managed Service for Kubernetes.
  3. Нажмите кнопку Создать кластер.
  4. В поле Ключ шифрования укажите необходимый ключ или создайте новый.
  5. Закончите заполнение параметров создания кластера.
  6. Нажмите кнопку Создать кластер.

Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

Указать ключ при создании кластера Kubernetes можно двумя способами.

  • Используя идентификатор ключа:

    yc managed-kubernetes cluster create \
       ...
       --kms-key-id <идентификатор ключа шифрования> \
       ...
    
  • Используя имя ключа:

    yc managed-kubernetes cluster create \
       ...
       --kms-key-name <имя ключа шифрования> \
       ...
    

Terraform позволяет быстро создать облачную инфраструктуру в Yandex Cloud и управлять ею с помощью файлов конфигураций. В файлах конфигураций хранится описание инфраструктуры на языке HCL (HashiCorp Configuration Language). Terraform и его провайдеры распространяются под лицензией Mozilla Public License.

Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform или в зеркале.

При изменении файлов конфигураций Terraform автоматически определяет, какая часть вашей конфигурации уже развернута, что следует добавить или удалить.

Если у вас еще нет Terraform, установите его и настройте провайдер.

Укажите ключ при создании кластера Kubernetes:

  1. Добавьте блок kms_provider в описание кластера:

    resource "yandex_kubernetes_cluster" "<имя кластера>" {
      ...
      kms_provider {
        key_id = "<идентификатор ключа шифрования>"
      }
    }
    
  2. Проверьте корректность конфигурационных файлов.

    1. В командной строке перейдите в каталог, в котором создан конфигурационный файл.

    2. Выполните проверку с помощью команды:

      terraform plan
      

    Если конфигурация описана верно, в терминале отобразится список создаваемых ресурсов и их параметров. Если в конфигурации есть ошибки, Terraform на них укажет. Это проверочный этап: ресурсы не будут созданы.

  3. Создайте кластер.

    1. Если в конфигурации нет ошибок, выполните команду:

      terraform apply
      
    2. Подтвердите создание ресурсов.

    После этого в указанном каталоге будут созданы все требуемые ресурсы, а в терминале отобразятся IP-адреса виртуальных машин. Проверить появление ресурсов и их настройки можно в консоли управления.

Укажите ключ шифрования при создании кластера Kubernetes. Для этого воспользуйтесь методом create для ресурса Cluster и передайте идентификатор ключа в параметре kmsProvider.keyId.

Взаимодействие Managed Service for Kubernetes с KMS происходит с помощью механизма KMS провайдеров. Managed Service for Kubernetes поддерживает KMS-плагин, который используется для шифрования и расшифровки ключей шифрования данных (DEK) в KMS. Шифрование секретов осуществляется стандартными средствами Kubernetes.

См. также

  • Начало работы с Managed Service for Kubernetes.
  • Шифрование по схеме envelope encryption.
  • Создание секретов в Kubernetes.

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

Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»