Как сгенерировать сертификат Vault для хоста без включения allow_subdomains=true?
Я пытаюсь сгенерировать сертификат Vault TLS с помощью HTTP API, но получаю сообщение об ошибке:
common name myhost.consul not allowed by this role.
У меня есть корневой ЦС, который подписал промежуточный ЦС, и это промежуточный ЦС, который я пытаюсь выдать сертификат.
Корневой CA генерируется с использованием этой конфигурации:
{
"common_name": "My Root CA",
"ttl": "8760h",
"format": "pem",
"key_bits": 4096,
"country": "GB",
"organization": "myorg"
}
Мой промежуточный CA был сгенерирован со следующим:
{
"common_name": "My Intermediate CA",
"ttl": "4380h",
"format": "pem",
"key_bits": 2048,
"country": "GB",
"organization": "myorg",
"permitted_dns_domains": [
"example.com",
"consul"
]
}
Роль по умолчанию, которую промежуточный ЦС использует для выдачи сертификатов:
{
"ttl": "2190h",
"max_ttl": "4380h",
"allowed_domains": [
"example.com",
"consul"
],
"o": "myorg",
"country": "GB"
}
Обратите внимание, что значения по умолчанию для ролей означают, что allow_subdomains=false
,
Я пытаюсь сгенерировать сертификат для этого хоста:
{
"common_name": "myhost.consul",
"alt_names": "myhost.example.com",
"ip_sans": "1.2.3.4",
"format": "pem"
}
(где IP-адрес 1.2.3.4
это IP для хоста.
myhost.consul
такое имя хоста, которое Консул использует для службы - почему Vault считает, что это поддомен? Если я включу allow_subdomains=true
затем я разрешаю получать сертификаты субдомена с подстановочными символами, что мне не нужно.
Как включить Vault для выдачи сертификата для моего хоста?