Добавить пользовательский сертификат
Добавление пользовательского сертификата рассмотрим на примере самоподписанного сертификата. Требования к пользовательскому сертификату приведены на странице Пользовательский сертификат.
Создание файла самоподписанного сертификата
Чтобы создать самоподписанный сертификат с использованием библиотеки OpenSSL, выполните команду:
openssl req -x509 -newkey rsa:4096 -nodes \
-keyout key.pem \
-out cert.pem \
-days 365 \
-subj '/CN=example.com'
openssl req -x509 -newkey rsa:4096 -nodes `
-keyout key.pem `
-out cert.pem `
-days 365 `
-subj '/CN=example.com'
Где:
-x509— результатом работы команды будет файл сертификата.-newkey— будет создан новый файл приватного ключа.rsa:4096— алгоритм и длина ключа.-nodes— не шифровать файл приватного ключа.-keyout— имя файла, в котором будет сохранен приватный ключ.-out— имя файла сертификата.-days— срок действия сертификата.-subj— значение Common Name владельца сертификата.
Запущенная с указанными параметрами команда req выпустит самоподписанный сертификат, для которого она также сгенерирует приватный ключ.
Добавление пользовательского самоподписанного сертификата
Чтобы добавить пользовательский сертификат в Certificate Manager:
- В консоли управления
выберите каталог, в который будет добавлен пользовательский сертификат. - В списке сервисов выберите Certificate Manager.
- Нажмите кнопку Добавить сертификат.
- В открывшемся меню выберите Пользовательский сертификат.
- В открывшемся окне в поле Имя введите имя пользовательского сертификата.
- (Опционально) В поле Описание введите описание пользовательского сертификата.
- В поле Сертификат нажмите кнопку Добавить сертификат.
- Выберите способ добавления
Файл. - Нажмите кнопку Прикрепить файл.
- В открывшемся окне выберите файл самоподписанного сертификата
cert.pem.
- В открывшемся окне выберите файл самоподписанного сертификата
- Нажмите кнопку Добавить.
- Выберите способ добавления
- В поле Приватный ключ нажмите кнопку Добавить приватный ключ.
- Выберите способ добавления
Файл. - Нажмите кнопку Прикрепить файл.
- В открывшемся окне выберите файл приватного ключа
key.pem.
- В открывшемся окне выберите файл приватного ключа
- Нажмите кнопку Добавить.
- Выберите способ добавления
- Нажмите кнопку Создать.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
-
Посмотрите описание команды:
yc certificate-manager certificate create --help -
Выполните команду:
yc certificate-manager certificate create \ --name mycert \ --chain mycert.pem \ --key mykey.pemГде:
--name— имя сертификата.--chain— путь к файлу цепочки сертификатов.--key— путь к файлу приватного ключа сертификата.
Результат:
id: fpqmg47avvim******** folder_id: b1g7gvsi89m3******** created_at: "2020-09-15T06:54:44.916325Z" ... issued_at: "2020-09-15T06:54:44.916325Z" not_after: "2021-09-15T06:48:26Z" not_before: "2020-09-15T06:48:26Z"
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
-
Опишите в конфигурационном файле параметры ресурсов, которые необходимо создать:
resource "yandex_cm_certificate" "user-certificate" { name = "<имя_сертификата>" self_managed { certificate = <<-EOT -----BEGIN CERTIFICATE----- <содержимое_сертификата> -----END CERTIFICATE----- EOT private_key = <<-EOT -----BEGIN PRIVATE KEY----- <содержимое_приватного_ключа_сертификата> -----END PRIVATE KEY----- EOT } }Где:
name— имя сертификата.certificate— содержимое файла с сертификатом.private_key— содержимое файла с приватным ключом.
Более подробную информацию о параметрах ресурса
yandex_cm_certificateв Terraform, см. в документации провайдера. -
Создайте ресурсы:
-
В терминале перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
-
После этого в указанный каталог будет добавлен сертификат. Проверить появление сертификата и его настройки можно в консоли управления
yc certificate-manager certificate get <имя_сертификата>
Чтобы добавить сертификат, воспользуйтесь методом REST API create для ресурса Certificate или вызовом gRPC API CertificateService/Create.
В списке сертификатов появится новый сертификат со статусом Issued.
Хранение приватного ключа сертификата в Yandex Lockbox
Чтобы не хранить приватный ключ пользовательского сертификата в открытом виде в конфигурационном файле Terraform, запишите его в Yandex Lockbox:
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
-
Создайте секрет и запишите в него приватный ключ.
-
Опишите в конфигурационном файле параметры ресурсов, которые необходимо создать:
resource "yandex_cm_certificate" "example-lockbox" { name = "<имя_секрета>" self_managed { certificate = <<-EOT -----BEGIN CERTIFICATE----- <содержимое_сертификата> -----END CERTIFICATE----- EOT private_key_lockbox_secret { id = "<идентификатор_секрета>" key = "<ключ_секрета>" } } }Где:
name— имя секрета Yandex Lockbox.certificate— содержимое файла с сертификатом.id— идентификатор секрета Yandex Lockbox, в котором находится приватный ключ.key— ключ секрета Yandex Lockbox, в котором находится приватный ключ.
Более подробную информацию о параметрах ресурса
yandex_cm_certificateсм. в документации провайдера. -
Создайте ресурсы:
-
В терминале перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
-
После этого в указанный каталог будет добавлен сертификат. Проверить появление сертификата и его настройки можно в консоли управления
yc certificate-manager certificate get <имя_сертификата>
В списке сертификатов появится новый сертификат со статусом Issued.