tocdepth

2

Быстрый старт

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

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

Зарегистрируйтесь в личном кабинете Cloud.ru.

Если вы уже зарегистрированы, войдите под своей учетной записью.

Подключите Key Manager. Для этого в меню Кнопка с изображением девяти точек личного кабинета выберите Управление → Key Manager и нажмите Подключить.

Создайте криптографический ключ

  1. В личном кабинете на странице Key Manager нажмите Создать ключ.

  2. Введите название ключа — cloudru-example-key.

  3. Введите описание — Ключ шифрования для быстрого старта.

  4. Выберите период ротации — Неделя. Каждую неделю будет создаваться новая версия ключа.

  5. Выберите алгоритм шифрования — AES 192.

  6. Нажмите Создать.

Зашифруйте текст с помощью ключа

  1. Приведите текст «Алиса посылает Бобу сообщение» к формату Base64:

    0JDQu9C40YHQsCDQv9C+0YHRi9C70LDQtdGCINCR0L7QsdGDINGB0L7QvtCx0YnQtdC90LjQtQ==
    
  2. Создайте Additional Authenticated Data (AAD) в произвольной форме и приведите к формату Base64. Для примера качестве ADD используйте текст «Hello»:

    SGVsbG8=
    
  3. Пройдите аутентификацию в API.

    1. Создайте персональный ключ доступа:

      1. В личном кабинете перейдите в раздел Управление профилем и нажмите Ключи доступа.

      2. Нажмите Создать ключ и введите краткое описание — Ключ для Key Manager.

      3. Выберите время жизни ключа — 30 дней и нажмите Создать.

        Будут сгенерированы Key ID (логин) и Key Secret (пароль).

        Сохраните Key Secret (пароль).

        После того как вы закроете окно, посмотреть его будет нельзя.

    2. Получите токен с помощью curl-запроса:

      curl -i --data-urlencode "grant_type=client_credentials" --data-urlencode "client_id=$KEY_ID" --data-urlencode "client_secret=$SECRET" "https://id.cloud.ru/auth/system/openid/token"
      

      Где:

      • $KEY_ID — Key ID (логин);

      • $SECRET — Key Secret (пароль).

    3. Используйте токен при каждом API-запросе к сервису:

      Authorization: Bearer $TOKEN
      
  4. Выполните HTTP-запрос:

    POST https://kms.api.sbercloud.ru/v1/encrypt
    

    В теле запроса укажите следующие параметры:

    {
       "keyId": "xxx-xxx",
       "keyVersionId": "1",
       "plaintext": "0JDQu9C40YHQsCDQv9C+0YHRi9C70LDQtdGCINCR0L7QsdGDINGB0L7QvtCx0YnQtdC90LjQtQ==",
       "additionalAuthenticatedData": "SGVsbG8="
    }
    

    Вместо xxx-xxx — укажите идентификатор созданного криптографического ключа.

    Чтобы посмотреть идентификатор, в списке ключей нажмите на название созданного ключа. Идентификатор отображается в URL-адресе после key.

    Например:

    https://console.cloud.ru/projects/xx/spa/key-manager/xx/key/xxx-xxx?customerId=xx
    

    Где xxx-xxx — идентификатор ключа.

Значение параметра ciphertext в ответе — ваши зашифрованные данные.

Расшифруйте текст

Выполните HTTP-запрос:

POST https://kms.api.sbercloud.ru/v1/decrypt

В теле запроса укажите следующие параметры:

{
   "keyId": "xxx-xxx",
   "keyVersionId": "1",
   "ciphertext": "<зашифрованный_текст>",
   "additionalAuthenticatedData": "SGVsbG8="
}

Вместо xxx-xxx укажите идентификатор созданного криптографического ключа. В ciphertext — ваши зашифрованные данные в формате Base64.

Значение параметра plaintext в ответе — расшифрованные данные в формате Base64. Чтобы получить оригинальные данные, выполните декодирование из формата Base64.

Что дальше

Вы можете продолжить работу с ключом, например:

Запустили Evolution free tier
для Dev & Test
Получить