Защита трафика API OpenStack с помощью SSL
Входящий и исходящий трафик внешней оконечной точки, прослушивающей запросы API OpenStack, можно защитить с помощью сертификата SSL. Но поскольку доменные имена не используются по умолчанию, сертификат должен будет содержать поле subjectAltName с IP-адресом вышеупомянутого сервера управления. Если такого поля нет, потребуется изменить внешнюю оконечную точку так, чтобы использовалось доменное имя, для которого у вас есть сертификат.
Ограничения
- Для панели администрирования и API OpenStack можно добавить и применить только один SSL-сертификат.
Чтобы защитить трафик API OpenStack с помощью SSL
Выполните следующие действия:
- На панели администрирования отправьте SSL-сертификат и закрытый ключ на экране Настройки > Сервер управления > Доступ по SSL.
-
На стороне клиента поместите файл сертификата ЦС в доверенную цепочку операционной системы.
# cp ca.pem /etc/pki/ca-trust/source/anchors/ # update-ca-trust extract
Как вариант, можно добавить параметр
--os-cacert ca.pemк каждому вызову клиента OpenStack. - Если в сертификате нет поля
subjectAltName, измените все внешние оконечные точки так, чтобы использовалось доменное имя, для которого у вас есть сертификат, как описано в разделе Установка доменного имени для API вычислений. Это доменное имя должно разрешаться в IP-адрес сервера управления (или его виртуальный IP-адрес, если включена высокая доступность). -
В скрипте OpenRC измените
OS_AUTH_URLна то же доменное имя и удалите все параметры, связанные с незащищенным доступом, например:export OS_PROJECT_DOMAIN_NAME=Default export OS_USER_DOMAIN_NAME=Default export OS_PROJECT_NAME=admin export OS_USERNAME=admin export OS_PASSWORD=<ADMIN_PASSWORD> export OS_AUTH_URL=https://<DOMAIN_NAME>:5000/v3 export OS_IDENTITY_API_VERSION=3
Теперь можно выполнять команды OpenStack без параметра --insecure.