Проверить права на домены
Чтобы пройти процедуру проверки прав на домены:
- В консоли управления
выберите каталог, в который был добавлен сертификат. - В списке сервисов выберите Certificate Manager.
- Выберите в списке сертификат, для которого необходимо пройти процедуру проверки и нажмите на него.
- В открывшемся окне в блоке Проверка прав на домены будет указана информация для прохождения процедуры проверки прав.
- После успешного прохождения проверки прав на домен, статус проверки домена в блоке Проверка прав на домены изменится на
Valid. - После того как статус проверки прав всех доменов изменится на
Valid, сертификат будет выпущен и перейдет в статусIssued.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
-
Посмотрите описание команды:
yc certificate-manager certificate get --help -
Выполните команду:
yc certificate-manager certificate get \ --id fpq6gvvm6piu******** \ --fullГде:
--id— идентификатор сертификата.--full— показать список активных процедур проверки прав на домены.
Результат:
id: fpq6gvvm6piu******** folder_id: b1g7gvsi89m3******** created_at: "2020-09-15T08:49:11.533771Z" name: mymanagedcert type: MANAGED domains: - example.com status: VALIDATING updated_at: "2020-09-15T08:49:11.533771Z" challenges: - domain: example.com type: HTTP created_at: "2020-09-15T08:49:11.533771Z" updated_at: "2020-09-15T08:51:44.991065Z" status: PENDING message: Create a file in your web server's base directory. http_challenge: url: http://example.com/.well-known/acme-challenge/3LiH-nrTC7GdMbRgVqttEvdTODeNeaD0TtX******** content: 3LiH-nrTC7GdMbRgVqttEvdTODeNeaD0TtXteWgtAH8.ZHCju15sJiKBwT8G5FTl7UtfmJWp1gKNYYP******** -
В блоке
http_challengeуказана информация для прохождения процедуры проверки прав. -
После успешного прохождения проверки прав на домен, статус проверки изменится на
Valid:yc certificate-manager certificate get \ --id fpq6gvvm6piu******** \ --fullРезультат:
... domains: - example.com status: VALID ... -
После того как статус проверки прав всех доменов изменится на
Valid, сертификат будет выпущен и перейдет в статусIssued:yc certificate-manager certificate get \ --id fpq6gvvm6piu******** \ --fullРезультат:
... domains: - example.com status: ISSUED ...
Terraform
Terraform распространяется под лицензией Business Source License
Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
С помощью Terraform можно создать DNS-запись, необходимую для прохождения проверки прав на домен. Для этого:
-
Опишите в конфигурационном файле Terraform параметры ресурсов, которые необходимо создать:
resource "yandex_cm_certificate" "le-certificate" { name = "<имя_сертификата>" domains = ["<домен>"] managed { challenge_type = "DNS_CNAME" } } resource "yandex_dns_recordset" "validation-record" { zone_id = "<идентификатор_зоны>" name = yandex_cm_certificate.le-certificate.challenges[0].dns_name type = yandex_cm_certificate.le-certificate.challenges[0].dns_type data = [yandex_cm_certificate.le-certificate.challenges[0].dns_value] ttl = <время_жизни_записи_секунд> } data "yandex_cm_certificate" "example" { depends_on = [yandex_dns_recordset.validation-record] certificate_id = yandex_cm_certificate.le-certificate.id wait_validation = true } # Используйте data.yandex_cm_certificate.example.id, чтобы получить действительный сертификат. output "cert-id" { description = "Certificate ID" value = data.yandex_cm_certificate.example.id }Где:
- Параметры ресурса
yandex_cm_certificate:domains— домен, для которого нужно создать сертификат.challenge_type— способ проверки владельца домена. Возможные значения:
- Параметры ресурса
yandex_dns_recordset:zone_id— идентификатор DNS-зоны, в которой будет находиться запись для проверки владельца.name— имя записи.type— тип DNS-записи.data— значение записи.ttl— время жизни записи (TTL, Time to live) в секундах до актуализации информации о значении записи.
- Параметры источника данных
yandex_dns_recordset:depends_on— указывает зависимость от другого ресурса Terraform.certificate_id— идентификатор сертификата.wait_validation— флаг ожидания валидация сертификата. Если значениеtrue, операция не будет завершена, пока сертификат находится в статусеVALIDATING. Значение по умолчаниюfalse.
Подробную информацию о параметрах ресурсов см. в документации провайдера Terraform.
- Параметры ресурса
-
Создайте ресурсы:
-
В терминале перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validateЕсли конфигурация является корректной, появится сообщение:
Success! The configuration is valid. -
Выполните команду:
terraform planВ терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply -
Подтвердите изменения: введите в терминале слово
yesи нажмите Enter.
-
После этого в указанном каталоге будут созданы сертификат и DNS-запись. Проверить появление сертификата и его настройки можно в консоли управления
yc certificate-manager certificate get <имя_сертификата> --full
Для получения информации, необходимой для прохождения процедуры проверки прав на домены, воспользуйтесь методом REST API get для ресурса Certificate или вызовом gRPC API CertificateService/Get с флагом view=FULL.
Примечание
Чтобы DNS-проверка прав на домен по записи CNAME прошла успешно, для поддомена _acme-challenge проверяемого доменного имени не должно быть других ресурсных записей, кроме CNAME. Например, для имени _acme-challenge.example.com. должна существовать только CNAME-запись и не должно быть TXT-записи.