Проверить права на домены
Чтобы пройти процедуру проверки прав на домены:
- В консоли управления
выберите каталог, в который был добавлен сертификат. - В списке сервисов выберите Certificate Manager.
- Выберите в списке сертификат, для которого необходимо пройти процедуру проверки и нажмите на него.
- В открывшемся окне в блоке Проверка прав на домены будет указана информация для прохождения процедуры проверки прав.
- После успешного прохождения проверки прав на домен, статус проверки домена в блоке Проверка прав на домены изменится на
Valid
. - После того как статус проверки прав всех доменов изменится на
Valid
, сертификат будет выпущен и перейдет в статусIssued
.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --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-записи.