Подключение приложений
Подробные инструкции по подключению приложений к Blitz Identity Provider.
- 1C
- Яндекс 360
- Arenadata Catalog
- SimpleOne
- Cisco ASA VPN
- Gitlab
- Grafana
- Jira
- Nextcloud
- OpenVPN
- Outlook on the web (OWA)
- Remote Desktop Gateway
- WordPress
- Yandex Cloud
- Подключение к серверу по SSH с аутентификацией через Blitz IDP
1C
1С (https://1c.ru) — это группа программ для автоматизации бизнес-процессов.
Подключение 1С к Blitz Identity Provider выполняется по протоколу OpenID Connect и состоит из двух этапов:
-
Этап 1. Настройки на стороне 1С
-
Этап 2. Настройки на стороне Blitz Identity Provider
В инструкции для примера указано, что 1С расположен на домене https://1c.company.com
, а Blitz IDP установлен на домене https://login.company.com
. Уточните ваши адреса перед применением инструкции.
Этап 1. Настройки на стороне 1C
Выполните следующие действия:
- Откройте для редактирования конфигурационный файл 1С:
default.vrd
. Отредактируйте следующий блок:
-
name - укажите название Сервиса аутентификации. Например,
blitz
. -
title - укажите название Сервиса аутентификации, понятное пользователям. Название будет отображаться на кнопке страницы аутентификации. Например,
Blitz
. -
discovery - укажите URL для протокола конфигурации. Например,
https://login.company.com/blitz/.well-known/openid-configuration
. -
authorization_endpoint: укажите URL для авторизации. Например,
https://login.company.com/blitz/oauth/ae
. -
userinfo_endpoint: укажите URL сервиса получения данных пользователя. Например,
https://login.company.com/blitz/oauth/me
. -
token_endpoint: укажите URL для получения маркера доступа. Например,
https://login.company.com/blitz/oauth/te
. -
issuer: укажите URL поставщика аутентификации. Например,
https://login.company.com/blitz
. -
jwks_uri: укажите URL
https://login.company.com/blitz/.well-known/jwks
. -
authority: укажите URL авторизации
https://login.company.com/blitz/oauth
. -
client_id: укажите уникальное название для идентификации приложения. Например,
1C
. - client_secret: задайте секретный ключ для безопасной аутентификации приложения.
-
redirect_uri: укажите URL, на который пользователь будет перенаправлен после успешного входа в систему. Например,
http://login.company.com/Integr_planet_ERP/authform.html
. -
response_type: укажите тип ответа
token id_token
. -
scope: укажите необходимые разрешения для получения данных. Например, стандартный scope
profile
. -
filterProtocolClaims: укажите значение
false
. -
loadUserInfo: укажите значение
false
.
<?xml version="1.0" encoding="UTF-8"?>
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
base="/Integr_planet_ERP"
ib="Srvr=localhost;Ref=Integr_planet_ERP;">
<standardOdata enable="false"
reuseSessions="autouse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5"/>
<analytics enable="true"/>
<ws publishExtensionsByDefault="true"/>
<openidconnect>
<providers>
<![CDATA[[
{
"name": "blitz",
"title": "Blitz",
"discovery": "https://login.company.com/blitz/oauth/.well-known/openid-configuration",
"providerconfig": {
"authorization_endpoint": "https://login.company.com/blitz/oauth/ae",
"userinfo_endpoint": "https://login.company.com/blitz/oauth/me",
"token_endpoint": "https://login.company.com/blitz/oauth/te",
"issuer": "https://login.company.com/blitz",
"jwks_uri": "https://login.company.com/blitz/oauth/.well-known/jwks"
},
"authenticationClaimName": "sub",
"clientconfig": {
"authority": "https://login.company.com/blitz/oauth",
"client_id": "1C",
"client_secret":"eXa12m3PL45e",
"redirect_uri": "http://login.company.com/Integr_planet_ERP/authform.html",
"response_type": "token id_token",
"scope": "profile openid",
"filterProtocolClaims": false,
"loadUserInfo": false
}
}
]]]>
</providers>
<allowStandardAuthentication>true</allowStandardAuthentication>
</openidconnect>
</point>
- Сохраните файл.
Этап 2. Настройки на стороне Blitz Identity Provider
В консоли управления Blitz Identity Provider перейдите в раздел Приложения и выполните следующие действия:
- Создайте новое приложение, задав его базовые настройки:
- Идентификатор (entityID или client_id): аналогичный client_id, который был прописан в default.vrd.
- Название: имя приложения 1C, которое будет отображаться на стороне Blitz IDP.
-
Домен:
https://1c.company.com
-
Нажмите Сохранить.
-
Далее нажмите кнопку Параметры
у предложения 1C и отредактируйте параметры приложения:
-
Протоколы: выберите
OAuth 2.0
и нажмите Сконфигурировать
Далее в параметрах укажите данные, как в default.vrd
:
-
Секрет (client_secret): аналогичный client_secret, который был прописан в default.vrd
-
Префиксы ссылок возврата:
https://1c.company.com
-
Допустимые разрешения:
profile
openid
- Нажмите Сохранить.
После прохождения всех шагов рекомендуем проверить корректность входа в 1C: https://1c.company.com
Яндекс 360
Яндекс 360 (https://360.yandex.ru) — виртуальное рабочее пространство, которое включает в себя персональные сервисы.
Подключение Яндекс 360 к Blitz Identity Provider выполняется по протоколу SAML и состоит из двух этапов:
- Этап 1. Настройки на стороне Яндекс 360
- Этап 2. Настройки на стороне Blitz Identity Provider
В инструкции для примера указано, что Blitz IDP установлен на домене https://login.company.com
. Уточните ваш адрес перед применением инструкции.
Этап 1. Настройки на стороне Яндекс 360
- Откройте Яндекс 360 для Бизнеса: https://admin.yandex.ru/
- Перейдите в раздел Общие настройки и выберите Единый вход (SSO).
- Нажмите Настроить.
- Заполните поля с обязательными параметрами:
-
URL страницы входа:
https://login.company.com/blitz/saml/profile/SAML2/Redirect/SSO
-
Издатель поставщика удостоверений:
https://login.company.com/blitz/saml
-
Проверочный сертификат: укажите сертификат Blitz из метаданных. Для этого пройдите по ссылке
https://login.company.com/blitz/saml/profile/Metadata/SAML
, откройте XML документ с метаданными и найдите раздел<ds:X509Certificate>
. Например:
Скопируйте сертификат и Вставьте его в поле в PEM-формате:
-----BEGIN CERTIFICATE-----
<значение сертификата>
-----END CERTIFICATE-----
- Нажмите Сохранить.
Этап 2. Настройки на стороне Blitz Identity Provider
В консоли управления Blitz Identity Provider перейдите в раздел SAML и выполните следующие действия:
- Нажмите Добавить новый SAML-атрибут.
- Укажите название атрибута и его источник в хранилище. В данном случае источники
email
given_name
family_name
. Выберите их из выпадающего списка. - После каждого заполнения свойств атрибутов нажмите Добавить.
Свойства для каждого атрибута
Список атрибутов после добавления
- Далее добавьте кодировщик для каждого атрибута. Для этого выберите атрибут и нажмите Добавить кодировщик.
- Для каждого атрибута добавьте кодировщики
SAML1String
иSAML2String
. В зависимости от передаваемого атрибута пользователя кодировщику присваивается названиеUser.EmailAddress
,User.Firstname
илиUser.Surname
соответственно. - Задайте настройки кодировщика по аналогии с приведенным ниже примером:
- Нажмите Сохранить после каждого создания кодировщика.
- Далее в консоли управления Blitz Identity Provider перейдите в раздел Приложения.
- Создайте новое приложение, задав его базовые настройки:
-
Идентификатор (entityID или client_id):
https://yandex.ru/
-
Название: укажите название приложения, которое видно только внутри Blitz. Например,
Yandex360
. -
Домен:
https://passport.yandex.ru/
- Нажмите Сохранить.
- Далее нажмите кнопку Параметры
у предложения Яндекс360 и отредактируйте параметры приложения:
-
Протоколы: выберите
SAML
и нажмите Сконфигурировать -
Выберите SAML 2.0 Web SSO Profile и нажмите Сконфигурировать. Установите следующие настройки:
-
Подписывать утверждения:
always
-
Шифровать утверждения:
never
-
Шифровать идентификаторы (NameIds):
never
- Включить передачу SAML-утверждений о пользователе в специальном блоке AttributeStatement: установить флажок.
-
Подписывать утверждения:
- В разделе Атрибуты пользователя настройте передачу в Яндекс 360 атрибутов, созданных на первом этапе SAML-атрибутов.
- Нажмите Сохранить.
- Далее в разделе Метаданные нажмите Изменить. Скопируйте и вставьте следующий код:
<?xml version="1.0" encoding="utf-8"?>
<md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
entityID="https://yandex.ru/">
<md:SPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<md:AssertionConsumerService index="1" isDefault="true"
Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
Location="https://passport.yandex.ru/auth/sso/commit"/>
</md:SPSSODescriptor>
</md:EntityDescriptor>
- Нажмите Сохранить.
После прохождения всех шагов рекомендуем проверить корректность входа в Яндекс 360: https://passport.yandex.ru/auth
Arenadata Catalog
Arenadata Catalog (https://arenadc.io) — это веб-платформа для организации работы с данными в рамках Data Governance.
Подключение Arenadata Catalog к Blitz Identity Provider выполняется по протоколу OAuth 2.0 и состоит из двух этапов:
-
Этап 1. Настройки на стороне Arenadata Catalog
-
Этап 2. Настройки на стороне Blitz Identity Provider
В инструкции для примера указано, что Arenadata Catalog расположен на домене https://adc.company.com
, а Blitz IDP установлен на домене https://login.company.com
. Уточните ваши адреса перед применением инструкции.
Этап 1. Настройки на стороне Arenadata Catalog
Выполните следующие действия:
-
Откройте для редактирования конфигурационный файл Arenadata Catalog:
adc.env
(например, /etc/adc/adc.env). Отредактируйте блок [auth.generic_oauth] следующим образом:
- Сохраните файл.
- Перезапустите ArenaDataCatalog. Пример команд для перезапуска:
docker-compose -f docker-compose.yml --env-file adc.env down
docker-compose -f docker-compose-keycloak.yml --env-file adc.env up -d
Этап 2. Настройки на стороне Blitz Identity Provider
- В консоли управления Blitz Identity Provider перейдите в раздел OAuth 2.0 и выполните следующие действия:
-
Перейдите в раздел Настройки Scopes и нажмите Добавить scope.
-
Добавьте разрешение
preferred_username
, описание к нему и атрибут с приведенным ниже примером:
- Далее в консоли управления Blitz Identity Provider перейдите в раздел Приложения и выполните следующие действия:
-
Создайте новое приложение, задав его базовые настройки:
-
Идентификатор (entityID или client_id):
datacatalog
-
Название:
adc
-
Домен:
http://adc.company.com
-
Идентификатор (entityID или client_id):
-
Нажмите Сохранить.
-
Далее нажмите кнопку Параметры
у предложения adc и отредактируйте параметры приложения:
-
Стартовая страница приложения:
https://adc.company.com
. Нажмите Сохранить. -
Протоколы: выберите
OAuth 2.0
и нажмите Сконфигурировать. В параметрах укажите следующие данные: -
Предопределенная ссылка возврата (redirect_uri):
https://adc.company.com
-
Префиксы ссылок возврата:
https://adc.company.com
-
Допустимые разрешения:
email
openid
profile
sub
preferred_username
-
Стартовая страница приложения:
-
Метод аутентификации при обращении к сервису выдачи маркеров:
none
-
Допустимые grant type:
implicit
-
Допустимые response type:
code
token
id_token
-
Время жизни маркера доступа:
3000
-
Режим выдачи маркеров доступа по умолчанию:
offline
-
Формат маркера доступа:
jwt
- Нажмите Сохранить.
После прохождения всех шагов рекомендуем проверить корректность входа в Arenadata Catalog: https://adc.company.com
SimpleOne
SimpleOne (https://simpleone.ru/) - ESM-платформа для автоматизации бизнеса.
Подключение SimpleOne к Blitz Identity Provider выполняется по протоколу SAML и состоит из двух этапов:
- Этап 1. Настройки на стороне SimpleOne
- Этап 2. Настройки на стороне Blitz Identity Provider
В инструкции для примера указано, что SimpleOne расположен на домене https://company.simpleone.ru
, а Blitz IDP установлен на домене https://login.company.com
. Уточните ваши адреса перед применением инструкции.
Этап 1. Настройки на стороне SimpleOne
Выполните следующие действия:
- Войдите в SimpleOne под учетной записью администратора и Перейдите в раздел Настройка SAML2.
- Заполните поля с обязательными параметрами:
-
Имя: укажите любое название. Например,
simple-dev-saml
. -
Колонка пользователя: выберите
Электронная почта
. - Установите флажок рядом с
Активно
. -
Метаданные сервера SAML: укажите URL
https://login.company.com/blitz/saml/profile/Metadata/SAML
.
Этап 2. Настройки на стороне Blitz Identity Provider
В консоли управления Blitz Identity Provider перейдите в раздел SAML и выполните следующие действия:
- Нажмите Добавить новый SAML-атрибут.
- Укажите название атрибута и его источник в хранилище. В данном случае источник
mail
. Выберите его из выпадающего списка. - После заполнения свойств атрибута нажмите Добавить.
- Далее добавьте кодировщик для атрибута. Для этого выберите атрибут и нажмите Добавить кодировщик.
- Для атрибута добавьте кодировщики
SAML2StringNameID
иSAML2String
. Присвойте кодировщику названиеEmailAddress
. - Нажмите Сохранить после каждого создания кодировщика.
- Далее в консоли управления Blitz Identity Provider перейдите в раздел Приложения.
- Создайте новое приложение, задав его базовые настройки:
-
Идентификатор (entityID или client_id):
https://company.simpleone.ru
-
Название: укажите название приложения, которое видно только внутри Blitz. Например,
SimpleOne
. -
Домен:
https://company.simpleone.ru
- Нажмите Сохранить.
- Далее нажмите кнопку Параметры
у предложения SimpleOne и отредактируйте параметры приложения:
-
Протоколы: выберите
SAML
и нажмите Сконфигурировать -
Выберите SAML 2.0 Web SSO Profile и нажмите Сконфигурировать. Установите следующие настройки:
-
Подписывать утверждения:
never
-
Шифровать утверждения:
never
-
Шифровать идентификаторы (NameIds):
never
- Включить передачу SAML-утверждений о пользователе в специальном блоке AttributeStatement: установить флажок.
-
Подписывать утверждения:
- В разделе Атрибуты пользователя настройте передачу в SimpleOne атрибута
transientId
, а также созданного на первом этапе SAML-атрибута. - Нажмите Сохранить.
- Далее в разделе Метаданные нажмите Изменить. Скопируйте и вставьте следующий код:
<md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"
entityID="https://company.simpleone.ru">
<md:SPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"
Location="https://company.simpleone.ru/login"/>
<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</md:NameIDFormat>
<md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
Location="https://company.simpleone.ru/v1/saml/post" index="0" isDefault="true"/>
</md:SPSSODescriptor>
</md:EntityDescriptor>
- Нажмите Сохранить.
После прохождения всех шагов рекомендуем проверить корректность входа в SimpleOne: https://company.simpleone.ru
Cisco ASA VPN
Cisco ASA VPN (https://www.cisco.com/) - это частная виртуальная сеть с высоким уровнем защиты.
Подключение Cisco ASA VPN к Blitz Identity Provider выполняется по протоколу SAML и состоит из двух этапов:
- Этап 1. Настройки на стороне Cisco ASA VPN
- Этап 2. Настройки на стороне Blitz Identity Provider
В инструкции для примера указано, что Blitz IDP установлен на домене https://login.company.com
, а Cisco ASA
расположен на домене https://vpn-gw1.company.com
. Уточните ваши адреса перед применением инструкции.
Этап 1. Настройки на стороне Cisco ASA VPN
Только следующие версии Cisco ASA поддерживают SAML: 9.7.1.24, 9.8.2.28, 9.9.2.1 и выше в данных релизах, а также 9.10 и позднее.
- Для добавления сертификата перейдите на
https://login.company.com/blitz/saml/profile/Metadata/SAML
и Скопируйте сертификат. - В CLI Cisco ASA выполните следующие команды:
crypto ca trustpoint Blitz-IDP
no ca-check
enrollment terminal
no id-usage
exit
crypto ca authenticate Blitz-IDP
<paste in the IdP-certificate in Base64-format>
-----BEGIN CERTIFICATE-----
…………………………TEXT SHORTENED…………………………
-----END CERTIFICATE-----
quit
yes
- Для настройки SAML в CLI Cisco ASA выполните следующие команды:
saml idp https://login.company.com/blitz/saml
url sign-in https://login.company.com/blitz/saml/profile/SAML2/Redirect/SSO
url sign-out https://login.company.com/blitz/saml/profile/SAML2/Redirect/SLO
base-url https://vpn-gw1.company.com/
trustpoint idp Blitz-IDP
trustpoint sp <asa_saml_sp_certificate_name>
no signature
no force re-authentication
clock-skew 15 #Настройка ошибки по времени
tunnel-group-list enable
tunnel-group-preference group-url
cache
disable
- Для настройки AAA сервера только на авторизацию в CLI Cisco ASA выполните следующие команды:
aaa-server ISE(Authorization) protocol radius
authorize-only
aaa-server ISE(Authorization) (inside) host <fqdn-radius-server-1>
timeout 30
key *****
aaa-server ISE(Authorization) (inside) host <fqdn-radius-server-2>
key *****
- Для настройки туннельной группы в CLI Cisco ASA выполните следующие команды:
tunnel-group <Group-Name> type remote-access
tunnel-group <Group-Name> general-attributes
address-pool vpn-pool.pmh
authentication-server-group ISE(Authorization)
authorization-server-group ISE(Authorization)
accounting-server-group ISE(Authorization)
default-group-policy <Group-Policy>
dhcp-server <DHCP-SRV1>
dhcp-server <DHCP-SRV2>
tunnel-group <Group-Name> webvpn-attributes
authentication saml
group-url https://vpn-gw1.company.com/<Group-Name> enable
group-url https://<fqdn-group-balancing>/<Group-Name> enable
saml identity-provider <Blitz entityID>
При изменении настроек SAML в Cisco ASA требуется отключить и заново назначить конфигурацию для туннельной группы.
- В CLI Cisco ASA выполните следующие команды:
tunnel-group <Group-Name> webvpn-attributes
no saml identity-provider <Blitz entityID>
saml identity-provider <Blitz entityID>
Также возможно выполнить в интерфейсе администратора ASDM: Connection Profile > Basic > смените SAML Identity Provider на “None” > нажмите OK и Apply, вернитесь назад и повторно выберите SAML-server в выпадающем списке и нажмите OK и Apply снова.
Этап 2. Настройки на стороне Blitz Identity Provider
В консоли управления Blitz Identity Provider перейдите в раздел SAML и выполните следующие действия:
- Нажмите Добавить новый SAML-атрибут.
- Укажите название атрибута и его источник в хранилище. В данном случае источник
sub
. Выберите его из выпадающего списка. - После заполнения свойств атрибута нажмите Добавить.
- Далее добавьте кодировщик для атрибута. Для этого выберите атрибут и нажмите Добавить кодировщик.
- Для атрибута добавьте кодировщики
SAML1StringNameIdentifier
иSAML2StringNameID
. Каждому кодировщику присваивается названиеNameID
. - Задайте настройки кодировщика по аналогии с приведенным ниже примером:
- Нажмите Сохранить после каждого создания кодировщика.
- Далее необходимо получить метаданные Cisco ASA. Для этого перейдите по ссылке
https://<fqdn-node-x>/saml/sp/metadata/<Group-Name>
. - В консоли управления Blitz Identity Provider перейдите в раздел Приложения.
- Создайте новое приложение, задав его базовые настройки:
- Идентификатор (entityID или client_id): введите значение entityID из метаданных Cisco ASA.
-
Название: укажите название приложения, которое видно только внутри Blitz. Например,
Cisco ASA
. -
Домен:
https://vpn-gw1.company.com/
- Нажмите Сохранить.
- Далее нажмите кнопку Параметры
у предложения Cisco ASA и отредактируйте параметры приложения:
-
Протоколы: выберите
SAML
и нажмите Сконфигурировать -
Выберите SAML 2.0 Web SSO Profile и нажмите Сконфигурировать. Установите следующие настройки:
-
Подписывать утверждения:
always
-
Шифровать утверждения:
never
-
Шифровать идентификаторы (NameIds):
never
- Включить передачу SAML-утверждений о пользователе в специальном блоке AttributeStatement: установить флажок.
-
Подписывать утверждения:
- В разделе Атрибуты пользователя настройте передачу в Cisco ASA SAML-атрибута, созданного на первом этапе.
- Нажмите Сохранить.
- Далее в разделе Метаданные нажмите Изменить. Скопируйте и вставьте метаданные Cisco ASA из пункта 9.
- Нажмите Сохранить.
После прохождения всех шагов рекомендуем проверить корректность входа в Cisco ASA: https://vpn-gw1.company.com/
Gitlab
GitLab (https://gitlab.com) — это веб-приложение для хранения и управления репозиториями программного кода для Git.
Подключение GitLab к Blitz Identity Provider выполняется по протоколу OpenID Connect и состоит из двух этапов:
-
Этап 1. Настройки на стороне GitLab
-
Этап 2. Настройки на стороне Blitz Identity Provider
В инструкции для примера указано, что GitLab расположен на домене https://gitlab.company.com
, а Blitz IDP установлен на домене https://login.company.com
. Уточните ваши адреса перед применением инструкции.
Этап 1. Настройки на стороне GitLab
Выполните следующие действия:
- Откройте для редактирования конфигурационный файл Gitlab:
gitlab.rb
(например, /etc/gitlab/gitlab.rb). Отредактируйте блок gitlab_rails['omniauth_providers']:
-
label - укажите название Сервиса аутентификации, понятное пользователям. Название будет отображаться на кнопке страницы аутентификации. Например,
Blitz
. -
name - укажите название протокола
openid_connect
. -
scopes - укажите необходимые разрешения для получения данных. Например, стандартный scope
profile
. -
response_type - укажите тип ответа
code
. -
issuer - укажите URL поставщика аутентификации. Например,
https://login.company.com/blitz
. -
discovery - установите значение
true
для автоматического определения параметров клиента. -
client_auth_method - укажите метод аутентификации клиента у поставщика. Например,
basic
. -
uid_field - укажите значение
sub
. -
send_scope_to_token_endpoint - укажите значение
false
. -
identifier - укажите уникальное название для идентификации приложения. Например,
gitlab
. - secret - задайте секретный ключ для безопасной аутентификации приложения.
-
redirect_uri - укажите URL, на который пользователь будет перенаправлен после успешного входа в систему. Например,
https://login.company.com/gitlab/users/auth/openid_connect/callback
.
{
name: "openid_connect",
label: "Blitz",
args: {
name: "openid_connect",
scope: ["openid","profile"],
response_type: "code",
issuer: "https://login.company.com/blitz",
discovery: true,
client_auth_method: "basic",
uid_field: "sub",
send_scope_to_token_endpoint: "false",
client_options: {
identifier: "gitlab",
secret: "eXa12m3PL45e",
redirect_uri: "https://login.company.com/gitlab/users/auth/openid_connect/callback"
}
}
}
- Сохраните файл.
Этап 2. Настройки на стороне Blitz Identity Provider
В консоли управления Blitz Identity Provider перейдите в раздел Приложения и выполните следующие действия:
- Создайте новое приложение, задав его базовые настройки:
- Идентификатор (entityID или client_id): аналогичный client_id, который был прописан в gitlab.rb.
- Название: имя приложения GitLab, которое будет отображаться на стороне Blitz IDP.
-
Домен:
https://gitlab.company.com
-
Нажмите Сохранить.
-
Далее нажмите кнопку Параметры
у предложения GitLab и отредактируйте параметры приложения:
-
Протоколы: выберите
OAuth 2.0
и нажмите Сконфигурировать
Далее в параметрах укажите данные, как в gitlab.rb
:
-
Секрет (client_secret): аналогичный client_secret, который был прописан в gitlab.rb
-
Префиксы ссылок возврата:
https://gitlab.company.com
-
Допустимые разрешения:
profile
openid
- Нажмите Сохранить.
После прохождения всех шагов рекомендуем проверить корректность входа в GitLab: https://gitlab.company.com
Grafana
Grafana (https://grafana.com) — это платформа мониторинга, визуализации и анализа данных, ориентированная на данные систем ИТ-мониторинга.
Подключение Grafana к Blitz Identity Provider выполняется по протоколу OAuth 2.0 и состоит из двух этапов:
-
Этап 1. Настройки на стороне Grafana
-
Этап 2. Настройки на стороне Blitz Identity Provider
В инструкции для примера указано, что Grafana расположена на домене https://grafana.company.com
, а Blitz IDP установлен на домене https://login.company.com
. Уточните ваши адреса перед применением инструкции.
Этап 1. Настройки на стороне Grafana
Выполните следующие действия:
-
Откройте для редактирования конфигурационный файл Grafana:
grafana.ini
(например, /etc/grafana/grafana.ini). Отредактируйте блок [auth.generic_oauth]:
-
name - укажите название Сервиса аутентификации, понятное пользователям. Название будет отображаться на кнопке страницы аутентификации. Например,
Blitz IDP
. -
enabled - установите значение
true
, чтобы включить вход через Blitz IDP. -
allow_sign_up - установите значение
true
, чтобы учетная запись в Grafana создавалась автоматически через вход в Blitz IDP. -
client_id - укажите уникальное название для идентификации приложения. Например,
Grafana
. -
client_secret - задайте секретный ключ для безопасной аутентификации приложения.
-
scopes - укажите необходимые разрешения для получения данных. Например, стандартный scope
profile
. -
email_attribute_name - установите значение
email:primary
, если адрес электронной почты находится в атрибуте email в Blitz IDP. -
auth_url - укажите URL для авторизации. Например,
https://login.company.com/blitz/oauth/ae
-
token_url - укажите URL для получения маркера доступа. Например,
https://login.company.com/blitz/oauth/te
-
api_url - укажите URL сервиса получения данных пользователя. Например,
https://login.company.com/blitz/oauth/me
-
signout_redirect_url - укажите URL для перенаправления после выхода из системы. Например,
https://login.company.com/blitz/oauth/logout
-
tls_skip_verify_insecure - установите значение true для отмены проверки валидности сертификата TLS. Рекомендуем установить значение
false
для безопасности.
[auth.generic_oauth]
name = Blitz IDP
enabled = true
allow_sign_up = true
client_id = Grafana
client_secret = eXa12m3PL45e
scopes = profile
email_attribute_name = email:primary
email_attribute_path =
login_attribute_path =
name_attribute_path =
role_attribute_path =
id_token_attribute_name =
auth_url = https://login.company.com/blitz/oauth/ae
token_url = https://login.company.com/blitz/oauth/te
api_url = https://login.company.com/blitz/oauth/me
signout_redirect_url = https://login.company.com/blitz/oauth/logout
allowed_domains =
team_ids =
allowed_organizations =
tls_skip_verify_insecure = false
tls_client_cert =
tls_client_key =
tls_client_ca =
-
Сохраните файл и Перезапустите Grafana:
systemctl restart grafana-server
Этап 2. Настройки на стороне Blitz Identity Provider
В консоли управления Blitz Identity Provider перейдите в раздел Приложения и выполните следующие действия:
- Создайте новое приложение, задав его базовые настройки:
- Идентификатор (entityID или client_id): аналогичный client_id, который был прописан в grafana.ini
- Название: имя приложения Grafana, которое будет отображаться на стороне Blitz IDP
- Домен: https://grafana.company.com
-
Нажмите Сохранить.
-
Далее нажмите кнопку Параметры
у приложения Grafana и отредактируйте следующие параметры:
-
Протоколы: выберите
OAuth 2.0
и нажмите Сконфигурировать
Далее в параметрах укажите данные, как в grafana.ini:
-
Секрет (client_secret): аналогичный client_secret, который был прописан в grafana.ini
-
Префиксы ссылок возврата:
https://grafana.company.com
-
Допустимые разрешения:
profile
- Нажмите Сохранить.
После прохождения всех шагов рекомендуем проверить корректность входа в Grafana: https://grafana.company.com
Jira
Jira (https://www.atlassian.com/ru/software/jira) — это веб-платформа управления проектами для планирования и отслеживания работы команд.
Подключение Jira к Blitz Identity Provider выполняется по протоколу OpenID Connect и состоит из двух этапов:
-
Этап 1. Настройки на стороне Jira
-
Этап 2. Настройки на стороне Blitz Identity Provider
В инструкции для примера указано, что Jira расположена на домене https://jira.company.com
, а Blitz IDP установлен на домене https://login.company.com
. Уточните ваши адреса перед применением инструкции.
Этап 1. Настройки на стороне Jira
В Jira отсутствует встроенная поддержка одного подключения. Для этого нужно использовать плагин. Ниже в инструкции описано подключение на примере плагина Kantega SSO Enterprise.
Выполните следующие действия:
- Установите плагин Kantega SSO Enterprise. Для этого в настройках Jira перейдите в Manage Apps и установите плагин.
- В Kantega SSO Enterprise перейдите в раздел Identity Providers. Нажмите Add new identity provider и выберите Other.
- В открывшемся окне выберите OpenID Connect и нажмите Next.
- Выберите настройки по вашим потребностям. Например,
Create accounts on-the-fly
. Нажмите Next.
-
На следующем шаге формируется URL вашей Jira, который необходимо скопировать и добавить в Blitz IDP во втором этапе. Нажмите Next.
-
Далее введите Discovery URL. Например,
https://login.company.com/blitz/.well-known/openid-configuration
. Нажмите Next.
- Заполните следующие поля и нажмите Next:
-
Identity provider name: укажите название Сервиса аутентификации, которое будет отображаться в настройках Jira. Например,
Blitz
. -
Scopes: укажите необходимые разрешения для получения данных. Например, обязательный scope
openid
и стандартный scopeprofile
.
- На следующем шаге заполните поля и нажмите Next:
-
Client ID:
jira.company.com
- Client Secret: задайте секретный ключ для безопасной аутентификации приложения.
- На следующем шаге проверьте введенные данные и нажмите Finish.
Этап 2. Настройки на стороне Blitz Identity Provider
В консоли управления Blitz Identity Provider перейдите в раздел Приложения и выполните следующие действия:
- Создайте новое приложение, задав его базовые настройки:
- Идентификатор (entityID или client_id): укажите аналогичный client_id
- Название: имя приложения Jira, которое будет отображаться на стороне Blitz IDP
-
Домен:
https://jira.company.com
-
Нажмите Сохранить.
-
Далее нажмите кнопку Параметры
у предложения Jira и отредактируйте параметры приложения:
-
Протоколы: выберите
OAuth 2.0
и нажмите Сконфигурировать
Далее в параметрах укажите данные, как в учетных данных Jira:
-
Секрет (client_secret): укажите аналогичный client_secret
-
Префиксы ссылок возврата:
https://jira.company.com
-
Допустимые разрешения:
profile
openid
- Нажмите Сохранить.
После прохождения всех шагов рекомендуем проверить корректность входа в Jira: https://jira.company.com
Nextcloud
Nextcloud (https://nextcloud.com) — это веб-платформа для организации облачного хранилища.
Подключение Nextcloud к Blitz Identity Provider выполняется по протоколу OpenID Connect и состоит из двух этапов:
-
Этап 1. Настройки на стороне Blitz Identity Provider
-
Этап 2. Настройки на стороне Nextcloud
В инструкции для примера указано, что Nextcloud расположен на домене https://nextcloud.company.com
, а Blitz IDP установлен на домене https://login.company.com
. Уточните ваши адреса перед применением инструкции.
Этап 1. Настройки на стороне Blitz Identity Provider
В консоли управления Blitz Identity Provider перейдите в раздел Приложения и выполните следующие действия:
- Создайте новое приложение, задав его базовые настройки:
-
Идентификатор (entityID или client_id):
nextcloud
- Название: имя приложения Nextcloud, которое будет отображаться на стороне Blitz IDP
-
Домен:
https://nextcloud.company.com
-
Нажмите Сохранить.
-
Далее нажмите кнопку Параметры
у предложения Nextcloud и отредактируйте параметры приложения:
-
Протоколы: выберите
OAuth 2.0
и нажмите Сконфигурировать
Далее в параметрах укажите данные, как в Social Login и другие обязательные параметры:
-
Секрет (client_secret):
nextcloud
-
Префиксы ссылок возврата:
https://nextcloud.company.com
-
Допустимые разрешения:
openid
profile
-
Метод аутентификации при обращении к сервису выдачи маркеров:
client secret post
-
Допустимые response type:
code
token
-
Префиксы ссылок возврата при выходе:
https://nextcloud.company.com
- Нажмите Сохранить.
Этап 2. Настройки на стороне Nextcloud
Выполните следующие действия:
-
Для интеграции Nextcloud с Blitz Identity Provider необходимо установить приложение Social Login. Для этого Войдите в Nextcloud под учетной записью администратора. В разделе Приложения нажмите Загрузить рядом с приложением Social Login. Дополнительную информацию можно найти по адресу https://apps.nextcloud.com/apps/sociallogin.
-
Далее перейдите в Параметры сервера и выберите Social login.
-
Далее нажмите кнопку
у предложения Custom OpenID Connect и задайте параметры:
-
Внутреннее имя - укажите внутреннее название Сервиса аутентификации, которое будет отображаться в настройках Nextcloud. Например,
BlitzIDP
. -
Название - укажите название Сервиса аутентификации, понятное пользователям. Название будет отображаться на кнопке страницы аутентификации и в настройках Nextcloud. Например,
BlitzIDP
. -
Authorize url - укажите URL для авторизации. Например,
https://login.company.com/blitz/oauth/ae
-
Token url - укажите URL для получения маркера доступа. Например,
https://login.company.com/blitz/oauth/te
-
User info URL (optional) - укажите URL сервиса получения данных пользователя. Например,
https://login.company.com/blitz/oauth/me
-
Client id - укажите уникальное название для идентификации приложения. Например,
nextcloud
. - Client Secret - задайте секретный ключ для безопасной аутентификации приложения.
-
Scope - укажите необходимые разрешения для получения данных. Например, обязательный scope
openid
и стандартный scopeprofile
. При указании нескольких разрешений разделите их пробелом.
После прохождения всех шагов рекомендуем проверить корректность входа в Nextcloud: https://nextcloud.company.com
OpenVPN
OpenVPN (https://openvpn.net) - технология виртуальной частной сети (VPN).
Подключение OpenVPN к Blitz Identity Provider выполняется по протоколу RADIUS и состоит из двух этапов:
-
Этап 1. Настройки на стороне Blitz Identity Provider
-
Этап 2. Настройки на стороне OpenVPN
Этап 1. Настройки на стороне Blitz Identity Provider
В консоли управления Blitz Identity Provider перейдите в раздел RADIUS и выполните следующие действия:
- Нажмите на Сегменты сети и создайте новый сегмент. Задайте следующие параметры:
- Имя: укажите имя сети. Например,
openvpn
. - Подсеть: укажите
192.168.122.96/32
. - Общий ключ: задайте секретный ключ для безопасной аутентификации приложения.
- Нажмите Сохранить.
- Перейдите на вкладку Процедуры обработки запросов и задайте параметры:
- Статус: переместите переключатель в режим on.
- Идентификатор процедуры: укажите идентификатор процедуры. Например,
OpenVPN2FA
.
- Вставьте код процедуры:
package com.identityblitz.idp.radius.flow;
import org.slf4j.LoggerFactory;
import org.slf4j.Logger;
import com.identityblitz.idp.radius.flow.RadiusResult.*;
public class OpenVPN2FA implements RadiusFlow {
private final Logger logger =
LoggerFactory.getLogger("com.identityblitz.idp.flow.radius");
public String loginN12(final String login) {
return login;
}
public RadiusResult next (final RadiusContext context) {
if (context.factor() == 1) {
return RadiusResult.challenge(Challenges.password());
} else if (context.factor() == 2) {
final java.util.Map<String, String> answers = new
java.util.HashMap<String, String>();
answers.put("1", "sms");
answers.put("2", "totp");
return RadiusResult.dialog("challengeChoose", answers);
} else {
return RadiusResult.authenticated(context.subject());
}
}
public RadiusResult dialog(final RadiusContext context,
final String message,
final java.util.Map<String,
String> answers,
final String answer) {
if (message.equals("challengeChoose")) {
final String challenge = answers.get(answer);
if(challenge != null) {
return
RadiusResult.challenge(Challenges.byDialogName(challenge));
} else {
return RadiusResult.dialog(message, answers);
}
} else {
return RadiusResult.rejected("unsupportedMessage");
}
}
}
-
Нажмите Сохранить и Активировать.
-
В консоли управления Blitz Identity Provider перейдите в раздел Приложения и Создайте новое приложение, задав его базовые настройки:
- Идентификатор (entityID или client_id): введите имя приложения. Например,
openvpn
. - Название: укажите имя приложения OpenVPN. Например,
openvpn access server
. - Домен:
http://localhost
.
-
Нажмите Сохранить.
-
Далее нажмите кнопку Параметры
у предложения openvpn и отредактируйте параметры приложения:
- Протоколы: выберите
RADIUS
и нажмите Сконфигурировать - Процедура обработки: выберите
OpenVPN2FA
-
Нажмите Сохранить.
-
Далее перейдите в раздел RADIUS на вкладку Сегменты сети. Укажите Приложение по умолчанию:
openvpn access server
.
-
Откройте для редактирования конфигурационный файл
/etc/blitz-config/custom_messages/messages
и добавьте в него строкуradius.display.dialog.challenge.name.sms=SMS
. -
Перезапустите приложение blitz-idp командой
systemctl restart blitz-idp
.
Этап 2. Настройки на стороне OpenVPN
- В веб-консоли OpenVPN в разделе Authentication перейдите в Settings и укажите RADIUS в качестве подсистемы аутентификации по умолчанию.
- В разделе Authentication перейдите в RADIUS и укажите параметры подключения к Blitz, как указано ниже.
- В консоли сервера выполните команду для создания файла с настройками подключения:
/usr/local/openvpn_as/scripts/sacli --prefer-tls-crypt-v2 GetGeneric >/tmp/client.ovpn
.
Настройка подключения клиента
- Перенесите файл настроек на клиента с помощью команды
nmcli connection import type openvpn file ~/tmp/client.ovpn
- Далее импортируйте файл с помощью команды
mcli connection modify client vpn.user-name test
- Подключитесь к тестовой учетной записи с настроенным TOTP с помощью команды
nmcli connection up client
.
Outlook on the web (OWA)
Outlook on the web (https://microsoft.com/microsoft-365/outlook) — это веб-почта для доступа к серверу совместной работы.
Подключение Outlook к Blitz Identity Provider выполняется по протоколу WS-Federation (частный случай протокола SAML от Microsoft). На стороне Exchange и OWA настройки будут выполняться для метода аутентификации ADFS, т.к. в данном случае Blitz Identity Provider выступает заменой ADFS. Cостоит из трех этапов:
- Этап 1. Настройки Exchange organization для использования аутентификации ADFS
- Этап 2. Настройки аутентификации ADFS в Outlook on the web и в виртуальных каталогах EAC
- Этап 3. Настройки на стороне Blitz Identity Provider
В инструкции для примера указано, что Outlook расположен на домене https://mail.company.com/owa
, а Blitz IDP установлен на домене https://login.company.com
. Уточните ваши адреса перед применением инструкции.
Этап 1. Настройки Exchange organization для использования аутентификации ADFS
Нельзя использовать wildcard-сертификаты в SAML, сертификат должен быть на домене Blitz Identity Provider.
- Необходимо получить отпечаток сертификата Blitz IDP. Для этого нужно взять его из метаданных Blitz - пройдите по ссылке
https://login.company.com/blitz/saml/profile/Metadata/SAML
, откройте XML документ с метаданными и найдите раздел<ds:X509Certificate>
. Например:
Добавьте строки:
-----BEGIN CERTIFICATE-----
<значение сертификата>
-----END CERTIFICATE-----
Сохраните сертификат в файл с расширением .crt. Найдите в данных сертификата отпечаток SHA-1.
- Далее введите команду:
Set-OrganizationConfig -AdfsIssuer <BlitzURL> -AdfsAudienceUris "<OotwURL>","<EACURL>" -AdfsSignCertificateThumbprint "<Thumbprint>"
Где указать следующие значения:
-
BlitzURL:
https://login.company.com/blitz/saml/profile/WSF-PRP/WSIGNIN/GET
-
OotwURL (Outlook on the web URL):
https://mail.company.com/owa/
-
EACURL:
https://mail.company.com/ecp/
- Thumbprint (отпечаток сертификата): укажите значение, полученное в п.1
Этап 2. Настройки аутентификации AD FS в Outlook on the web и в виртуальных каталогах EAC
Для Outlook on the web и виртуальных каталогов EAC необходимо настроить аутентификацию AD FS как единственный доступный метод, отключив все остальные методы.
- Чтобы использовать командную консоль Exchange для настройки EAC или Outlook on the web в виртуальном каталоге так, чтобы они принимали только аутентификацию ADFS, введите следующую команду (для примера указан сервер с именем Mailbox01):
Set-EcpVirtualDirectory -Identity <VirtualDirectoryIdentity> -AdfsAuthentication $true -BasicAuthentication $false -DigestAuthentication $false -FormsAuthentication $false -OAuthAuthentication $false -WindowsAuthentication $false
Где используются следующие значения параметра VirtualDirectoryIdentity
:
-
"Mailbox01\ecp https://mail.company.com/ecp/"
- настройка виртуальный каталог EAC на веб-сайте по умолчанию на сервере с именем Mailbox01; -
"Mailbox01\owa https://mail.company.com/owa/"
- настройка Outlook в виртуальном каталоге Web на веб-сайте по умолчанию на сервере с именем Mailbox01.
- Чтобы настроить все виртуальные каталоги EAC и Outlook on the web на каждом сервере Exchange в вашей организации, выполните следующие команды:
Get-EcpVirtualDirectory | Set-EcpVirtualDirectory -AdfsAuthentication $true -BasicAuthentication $false -DigestAuthentication $false -FormsAuthentication $false -OAuthAuthentication $false -WindowsAuthentication $false
Get-OwaVirtualDirectory | Set-OwaVirtualDirectory -AdfsAuthentication $true -BasicAuthentication $false -DigestAuthentication $false -FormsAuthentication $false -OAuthAuthentication $false -WindowsAuthentication $false
Этап 3. Настройки на стороне Blitz Identity Provider
В консоли управления Blitz Identity Provider перейдите в раздел SAML и выполните следующие действия:
- Нажмите Добавить новый SAML-атрибут.
- Укажите название первого атрибута -
upn
и выберите из выпадающего списка его источник - атрибут, который соответствует атрибутуuserPrincipalName
в хранилище. После нажмите Добавить. - Укажите название второго атрибута -
windowsaccountname
и выберите из выпадающего списка его источник - атрибут, который соответствует атрибутуsAMAccountName
в хранилище. После нажмите Добавить. - Далее добавьте кодировщик для каждого атрибута. Для этого выберите атрибут и нажмите Добавить кодировщик.
- Для атрибута
upn
добавьте первый кодировщикSAML1String
и укажите Пространство именhttp://schemas.xmlsoap.org/ws/2005/05/identity/claims
. Далее добавьте второй кодировщик -SAML1StringNameIdentifier
и укажите Пространство именurn:oasis:name:tc:SAML:1.1:nameid-formar:unspecified
. Нажмите Сохранить после каждого создания кодировщика.
- Для атрибута
windowsaccountname
добавьте кодировщикSAML1String
и укажите Пространство именhttp://schemas.xmlsoap.org/ws/2005/05/identity/claims
. Нажмите Сохранить.
- Далее в консоли управления Blitz Identity Provider перейдите в раздел Приложения.
- Создайте новое приложение, задав его базовые настройки:
-
Идентификатор (entityID или client_id):
https://mail.company.com/owa/
-
Название: укажите название приложения, которое видно только внутри Blitz. Например,
OWA
. -
Домен:
https://mail.company.com/owa/
- Нажмите Сохранить.
- Далее нажмите кнопку Параметры
у предложения OWA и отредактируйте параметры приложения:
-
Стартовая страница приложения:
https://mail.company.com/owa
-
Протоколы: выберите
SAML
и нажмите Сконфигурировать -
Выберите WS-Federation Passive Requestor Profile и нажмите Сконфигурировать. Установите следующие настройки:
-
Подписывать утверждения:
conditional
-
Время жизни утверждений:
PT30M
- Включить передачу SAML-утверждений о пользователе в специальном блоке AttributeStatement: установить флажок.
-
Подписывать утверждения:
- В разделе Атрибуты пользователя настройте передачу в Outlook атрибутов, созданных на первом этапе SAML-атрибутов и атрибута
transientId
. Пометьте передачу атрибутовupn
иwindowsaccountname
галочкой.
- Нажмите Сохранить.
- Далее в разделе Метаданные нажмите Изменить. Скопируйте и вставьте следующий код:
<?xml version="1.0" encoding="UTF-8"?>
<md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
entityID="https://mail.company.com/owa/">
<md:SPSSODescriptor protocolSupportEnumeration="urn:mace:shibboleth:wsf-prp:1.0:protocol">
<md:AssertionConsumerService Binding="urn:mace:shibboleth:1.0:bindings:HTTP-POST-wsignin"
Location="https://mail.company.com/owa/"
index="1"/>
<md:AssertionConsumerService Binding="urn:mace:shibboleth:1.0:bindings:HTTP-POST-wsignin"
Location="https://mail.company.com/ecp/"
index="2"/>
</md:SPSSODescriptor>
</md:EntityDescriptor>
- Нажмите Сохранить.
После прохождения всех шагов рекомендуем проверить корректность входа в Outlook on the web: https://mail.company.com/owa
Remote Desktop Gateway
Remote Desktop Gateway (RDGW) - обеспечивает безопасный доступ к сервисам RDS из Интернета.
Настройка Remote Desktop Gateway выполняется по протоколу RADIUS и происходит в три этапа:
- Этап 1. Установка и настройка фермы Remote Desktop Services
- Этап 2. Установка роли RD Gateway
- Этап 3. Настройка аутентификации через RADIUS сервер
Этап 1. Установка и настройка фермы Remote Desktop Services
Определения:
Remote Desktop Session Host (RDSH) - узлы сеансов RDS, на которых работают приложения пользователей и которым будет осуществляться подключение пользователей;
Remote Desktop Connection Broker (RDCB) - посредник RDS подключений. Используется для управления фермой RDS, распределения нагрузки, обеспечивает переподключение пользователей к своим сеансам, хранит коллекции RDS и опубликованные приложения RemoteApps;
RD Web Access (RDWA) - веб интерфейс для доступа к рабочим столам, программам RemoteApp;
Remote Desktop Licensing (RD Licensing) - служба лицензирования, управляет RDS лицензиями (CAL) пользователей.
Перед созданием RDS фермы выполните предварительные требования:
-
Установите одинаковую версию Windows Server на все сервера. Далее настройте их и добавьте в один домен AD.
-
Откройте консоль Active Directory Users and Computers (ADUC) (Run -> dsa.msc) и переместите все хосты с ролью RDSH в одну OU в AD.
-
Создайте в домене группу для рабочих серверов с ролью RDSH (например,
idb-rdsh
) и добавьте в нее все сервера RDSH.
Далее выполните следующие действия:
- Откройте Server Manager и добавьте все планируемые RDS сервера в консоль. Для этого нажмите правой кнопкой мыши на All Server в списке слева, далее на Add servers.
-
Нажмите ОК.
-
В меню Server Manager выберите Add Roles and Features -> Remote Desktop Services installation -> Standard deployment -> Session-based deployment.
-
Далее укажите, как необходимо распределить роли RDS по серверам. В мастере построения фермы RDS выберите сервера для соответствующих ролей. Например,
-
RD Connection Broker - bip-udc02
-
RD Web Access - bip-udc02
-
RD Session hosts - bip-udc02, bid-dwin02
- Установите флажок напротив Restart destination server automatically if required и нажмите кнопку Deploy. Дождитесь установки ролей RDS на всех серверах.
Этап 2. Установка роли RD Gateway
Для добавления роли Remote Desktop Gateway выполните следующие действия:
-
В меню Server Manager выберите Add Roles and Features -> Role-based or feature-based installation -> выберите сервер bip-udc02 и нажмите Next -> в списке раскройте Remote Desktop Services и выберите Remote Desktop Gateway, нажмите Add Features и Next -> Next -> Install. Дождитесь установки роли.
-
Далее создайте группы доступа в Active Directory с помощью консоли ADUC:
-
rdgwExtUsers - группа пользователей, которым разрешено аутентифицироваться на RDGW.
-
rdgwExternalAdmins - группа для доступа к терминальным серверам через RDGW (данную группу добавьте в группу rdgwExtUsers).
-
rds-farm - должна включать в себя все хосты RDSH и RD Conneciton Broker, к которым необходимо разрешить подключаться через шлюз удаленных рабочих столов.
Настройка политик доступа RD Gateway
- Для управления политиками и правилами доступа на RDGW используется консоль RD Gateway Manager (Run -> tsgateway.msc). Настройка политик и правил доступа может осуществляться локально на сервере RDGW, либо на центральном сервере NPS (Network Policy Server).
- В случае настройки политик на центральном сервере NPS выполните следующие действия:
-
Разверните Policies -> правой кнопкой нажмите на Connection Authorization Policies и выберите Configure Central RD CAP.
-
На вкладке RD CAP Store выберите Central server running NPS.
-
В поле ниже введите IP-адрес или имя центрального сервера NPS и нажмите Add.
- В случае настройки политик локально выполните следующие действия:
-
Разверните Policies -> правой кнопкой нажмите на Connection Authorization Policies и выберите Configure Central RD CAP
-
На вкладке RD CAP Store выберите Local server running NPS
- Далее настройте два типа политик:
- Создайте политику RD CAP:
- Разверните Policies -> правой кнопкой нажмите на Connection Authorization Policies и выберите Create New Policy -> Wizard
-
Укажите имя политики rdgwExtUsers
-
Выберите тип аутентификации по паролю и укажите группу пользователей rdgwExtUsers
-
В окне Enable or Disable Device Redirection укажите, какие устройства разрешено прокидывать в RDP сессию (буфер обмена, принтера, локальные диски и т.д.)
-
Далее настройте таймауты для RDP сеансов
-
Подтвердите создание политики
- Создание политики RD RAP:
-
Разверните Policies -> правой кнопкой нажмите на Resource Authorization Policies и выбрать Create New Policy -> Wizard
-
Укажите имя политики rdgwExternalAdmins
-
Укажите группу пользователей rdgwExternalAdmins
-
На вкладке Network Resources укажите группу rds-farm
-
Укажите разрешенные для подключения порты. По умолчанию используется только стандартный RDP порт 3389. Возможно открыть дополнительные порты.
-
Подтвердите создание политики.
Настройка SSL сертификата для Remote Desktop Gateway
Для подключения из интернета в поле Subject Name (CN) или Subject Alternative Name (SAN) сертификата должно обязательно содержаться DNS имя сервера RDGW, которое будет использоваться для подключения внешними клиентами (доступное из интернета).
- Откройте свойства сервера RDGW в консоли RD Gateway и перейдите на вкладку SSL Certificate.
- При использовании самоподписанного сертификата выберите пункт Create a self-signed certificate -> Create and Import Certificate.
- Укажите имя сертификата (DNS будет использоваться клиентами для подключения к RDGW) и каталог, в который нужно сохранить сертификат (сертификат нужно распространить на клиентов).
В Windows Server 2019 для подключения к RD Gateway используются следующие порты:
-
HTTP Port (default) - 443/TCP
-
UDP Port (default) - 3391/UDP (использование транспортного протокола UDP не обязательно, но его поддержка позволяет значительно улучшить производительность туннеля и качество картинки в RDP сессии)
Необходимо пробросить эти порты на RDGW хост на сетевом оборудовании.
- Откройте консоль RDGW Manager и убедитесь, что в ней нет ошибок и все пункты зеленые.
Настройка RDP клиента для подключения шлюзу RD Gateway
Если используетcя самоподписанный сертификат на RDGW, поместите его в доверенные корневые сертификаты (Trusted Root Certification Authorities) на клиенте.
-
Запустите RDP клиент (Run -> mstsc.exe)
-
На вкладке General укажите имя хоста или компьютера, к которому нужно подключиться по RDP
- Затем перейдите на вкладку Advanced и щелкните на кнопку Settings в разделе Connect from anywhere
- Выберите опцию Use these RD Gateway server settings, укажите внешнее DNS имя, по которому доступен RDGW сервер (это же имя должно быть указано в сертификате).Если используется нестандартный порт для RDGW, его нужно указать после имени сервера через двоеточие. Например:
bip-udc02.bip.loc:4443
.
-
Чтобы при подключении клиент не запрашивал пароль два раза, включите опцию Use my RD Gateway credentials for the remote computer
-
Нажмите кнопку Connect и введите пароль для подключения к RDGW серверу в окне RD Gateway Server Credentials
-
Запустите консоль RD Gateway Manager, перейдите в раздел Monitoring и убедитесь, что в списке отображается подключение клиента.
Этап 3. Настройка аутентификации через RADIUS сервер
Настройка таймаутов RADIUS на RD Gateway NPS
-
В меню Server Manager выберите Tools -> Network Policy Server.
-
В консоли NPS (Local) разверните RADIUS Clients and Servers -> правой кнопкой нажмите на Remote RADIUS Server Groups -> New.
-
Введите желаемое имя новой группы серверов (например,
blitz group
) и нажмите Add
- В открывшемся окне на вкладке Address в поле Server введите IP-адрес Radius-сервера
- На закладке Authentication/Accounting введите Shared secret в соответствующее поле и продублируйте в поле Confirm shared secret. Убедитесь, что все 3 галки на вкладке проставлены
- На вкладке Load Balancing выставите следующие значения:
- Нажмите OK -> OK.
Подготовка NPS к приему аутентификации от сервера MFA
-
В консоли NPS (Local) разверните RADIUS Clients and Servers и нажмите правой кнопкой на RADIUS Clients -> New
-
На закладке Settings установите флажок Enable this RADIUS
-
В поле Friendly name введите любое имя (например,
Blitz
или IP-адрес сервера MFA) -
В поле Address введите IP-адрес или DNS сервера MFA
-
Введите Shared Secret в поля в нижней части окна (тот же Shared Secret, что был указан при настройке таймаутов RADIUS)
Настройка политик запросов на подключение
-
В консоли NPS (Local) разверните Policies и нажмите на Connection Request Policies
-
В правом окне нажмите правой кнопкой на политике TS GATEWAY AUTHORIZATION POLICY и нажмите Duplicate Policy
-
Кликните дважды по политике Copy of TS GATEWAY AUTHORIZATION POLICY
-
На вкладке Overview в поле Policy name введите имя новой политики (например,
blitz-policy
) -
Установите флажок Policy enabled
-
В пункте Type of network access server выберите Remote Desktop Gateway
-
На вкладке Conditions нажмите Add
-
В открывшемся окне выберите пункт Client Friendly Name и нажмите Add
-
В открывшемся окне введите Friendly Name, который указывали ранее при создании записи RADIUS Clients в предыдущих пунктах и нажмите OK
-
На вкладке Settings нажмите на Authentication и проставьте пункт Authenticate requests on this server
-
На той же закладке выберите пункт Attribute, далее выберите тип атрибута User-Name и нажмите Add
-
В открывшемся окне введите ^BIP\\ в поле Find. Оставьте поле Replace with пустым и нажмите OK -> OK
-
Нажмите правой кнопкой по новой политике. Далее нажмите Move Up. Новая политика должна стоять выше, чем старая политика TS GATEWAY AUTHORIZATION POLICY
WordPress
WordPress (https://wordpress.com) - это система управления содержимым сайта.
Подключение WordPress к Blitz Identity Provider выполняется по протоколу OpenID Connect и состоит из двух этапов:
-
Этап 1. Настройки на стороне WordPress
-
Этап 2. Настройки на стороне Blitz Identity Provider
В инструкции для примера указано, что WordPress расположен на домене https://wp.company.com
, а Blitz IDP установлен на домене https://login.company.com
. Уточните ваши адреса перед применением инструкции.
Этап 1. Настройки на стороне WordPress
Выполните следующие действия:
- Для интеграции WordPress с Blitz Identity Provider войдите в WordPress под учетной записью администратора. Установите плагин OpenID Connect Generic и перейдите в его настройки.
- Далее заполните следующие поля:
-
Login Type - выберите Auto
Login - SSO
. -
Client ID - укажите уникальное название для идентификации приложения. Например,
Blitz
. - Client Secret Key - задайте секретный ключ для безопасной аутентификации приложения.
-
OpenID Scope - укажите необходимые разрешения для получения данных. Например, обязательный scope
openid
и стандартный scopeprofile
. При указании нескольких разрешений разделите их пробелом. -
Login Endpoint URL - укажите URL для авторизации. Например,
https://login.company.com/blitz/oauth/ae
. -
Userinfo Endpoint URL - укажите URL сервиса получения данных пользователя. Например,
https://login.company.com/blitz/oauth/me
. -
Token Validation Endpoint URL - укажите URL для получения маркера доступа. Например,
https://login.company.com/blitz/oauth/te
. -
End Session Endpoint URL - укажите URL для выхода из приложения. Например,
https://login.company.com/blitz/login/logout
-
Identity Key - укажите в фигурных скобках ключ идентификации. Например,
{sub}
. -
Nickname Key - укажите в фигурных скобках ключ имени пользователя. Например,
{sub}
. -
Email Formatting - укажите в фигурных скобках формат электронной почты. Например,
{email}
. -
Display Name Formatting - укажите в фигурных скобках формат отображения имени. Например,
{family_name} {given_name}
.
- Нажмите Сохранить изменения.
Этап 2. Настройки на стороне Blitz Identity Provider
В консоли управления Blitz Identity Provider перейдите в раздел Приложения и выполните следующие действия:
- Создайте новое приложение, задав его базовые настройки:
- Идентификатор (entityID или client_id): аналогичный client_id, который был прописан в OpenID Connect Generic
- Название: имя приложения WordPress, которое будет отображаться на стороне Blitz IDP
-
Домен:
https://wp.company.com
-
Нажмите Сохранить.
-
Далее нажмите кнопку Параметры
у предложения WordPress и отредактируйте параметры приложения:
-
Протоколы: выберите
OAuth 2.0
и нажмите Сконфигурировать
Далее в параметрах укажите данные, как в OpenID Connect Generic и другие обязательные параметры:
-
Секрет (client_secret): аналогичный client_secret, который был указан в настройках OpenID Connect Generic
-
Префиксы ссылок возврата:
https://wp.company.com
-
Допустимые разрешения:
openid
profile
-
Метод аутентификации при обращении к сервису выдачи маркеров:
client secret post
-
Допустимые response type:
code
token
- Нажмите Сохранить.
После прохождения всех шагов рекомендуем проверить корректность входа в WordPress: https://wp.company.com
Yandex Cloud
Yandex Cloud (https://yandex.cloud) — это веб-платформа организации облачных вычислительных мощностей.
Подключение Yandex Cloud к Blitz Identity Provider выполняется по протоколу SAML и состоит из двух этапов:
-
Этап 1. Настройки на стороне Yandex Cloud
-
Этап 2. Настройки на стороне Blitz Identity Provider
В инструкции для примера указано, что Blitz IDP установлен на домене https://login.company.com
. Уточните ваши адреса перед применением инструкции.
Этап 1. Настройки на стороне Yandex Cloud
- Создайте федерацию удостоверений. Для этого Перейдите в сервис https://org.yandex.cloud/ и выберите на панели Федерации. Нажмите Создать федерацию:
-
Название: Задайте уникальное имя федерации. Например,
blitz
. -
IdP Issuer:
https://login.company.com/blitz/saml
-
Ссылка на страницу для входа в IdP:
https://login.company.com/blitz/saml/profile/SAML2/Redirect/SSO
-
Нажмите Создать федерацию.
-
Далее передайте сертификат Blitz IDP в федерацию. Для этого перейдите по ссылке
https://login.company.com/blitz/saml/profile/Metadata/SAML
, откройте XML документ с метаданными и найдите раздел<ds:X509Certificate>
. Например:
-
Скопируйте сертификат.
-
Для добавления сертификата в Yandex Cloud нажмите на имя созданной федерации и Добавить сертификат:
-
Название: введите название сертификата. Например,
blitz
. -
Способ:
Текст
. - Вставьте сертификат в PEM-формате:
-----BEGIN CERTIFICATE-----
<значение сертификата>
-----END CERTIFICATE-----
- Нажмите кнопку Добавить.
Этап 2. Настройки на стороне Blitz Identity Provider
В консоли управления Blitz Identity Provider перейдите в раздел SAML и выполните следующие действия:
- Нажмите Добавить новый SAML-атрибут.
- Укажите название атрибута и его источник в хранилище. В данном случае источник
email
. Выберите его из выпадающего списка. - После заполнения свойств атрибута нажмите Добавить.
- Далее добавьте кодировщик для атрибута. Для этого выберите атрибут и нажмите Добавить кодировщик.
- Для атрибута добавьте кодировщики
SAML2String
иSAML2StringNameID
. Присвойте каждому кодировщику названиеurn:blitz:email
. - Задайте настройки кодировщика по аналогии с приведенным ниже примером:
- Нажмите Сохранить после каждого создания кодировщика.
- Далее в консоли управления Blitz Identity Provider перейдите в раздел Приложения.
- Создайте новое приложение, задав его базовые настройки:
-
Идентификатор (entityID или client_id): ACS URL из Yandex Cloud в формате
https://console.cloud.yandex.ru/federations/идентификатор_федерации
-
Название: укажите название приложения, которое видно только внутри Blitz. Например,
YandexCloud
. -
Домен:
https://console.cloud.yandex.ru/
- Нажмите Сохранить.
- Далее нажмите кнопку Параметры
у предложения YandexCloud и отредактируйте параметры приложения:
-
Протоколы: выберите
SAML
и нажмите Сконфигурировать -
Выберите SAML 2.0 Web SSO Profile и нажмите Сконфигурировать. Установите следующие настройки:
-
Подписывать утверждения:
always
-
Шифровать утверждения:
never
-
Шифровать идентификаторы (NameIds):
never
- Включить передачу SAML-утверждений о пользователе в специальном блоке AttributeStatement: установить флажок.
-
Подписывать утверждения:
- В разделе Атрибуты пользователя настройте передачу в Yandex Cloud атрибута
transientId
, а также созданного на первом этапе SAML-атрибута.
- Нажмите Сохранить.
- Далее в разделе Метаданные нажмите Изменить. Скопируйте и вставьте следующий код, заменив ссылку в
entityID
иLocation
, которая находится в Yandex Cloud в поле ACS URL.
<?xml version="1.0" encoding="utf-8"?>
<md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
entityID="https://console.cloud.yandex.ru/federations/идентификатор_федерации">
<md:SPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<md:AssertionConsumerService index="1" isDefault="true"
Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
Location="https://console.cloud.yandex.ru/federations/идентификатор_федерации"/>
</md:SPSSODescriptor>
</md:EntityDescriptor>
- Нажмите Сохранить.
После прохождения всех шагов рекомендуем проверить корректность входа в Yandex Cloud: https://console.yandex.cloud/federations/идентификатор_федерации
.
Подключение к серверу по SSH с аутентификацией через Blitz IDP
Подключение к серверу по SSH с аутентификацией через Blitz IDP выполняется в несколько этапов:
- Этап 1. Настройки RADIUS-сервера в Blitz Identity Provider
- Этап 2. Установка модуля
pam_radius
- Этап 3. Настройки SSH-клиента
- Этап 4. Настройки подключения к RADIUS-серверу
Для подключения к серверу по SSH с аутентификацией через Blitz IDP выполните следующие действия:
- Выполните настройки RADIUS-сервера в Blitz IDP согласно документации.
- Установите модуль
pam_radius
на машине, на которой настраивается ssh-доступ. Общая инструкция по установке и настройке: PAM RADIUS Installation and Configuration Guide. - Выполните настройки SSH-клиента:
- в файле
/etc/ssh/sshd_config
установите:
UsePAM yes
ChallengeResponseAuthentication yes
- в файле
/etc/pam.d/sshd
замените строкуauth substack password-auth
на блок:
auth required pam_sepermit.so
auth sufficient pam_radius_auth.so
#auth substack password-auth
auth include password-auth
- Определите файл, в котором будет выполнятся настройка подключения к RADIUS-серверу:
При установке из исходных файлов создайте и используйте файл /etc/raddb/server
. При установке из пакета ОС используйте файл /etc/pam_radius.conf
.
- В выбранном файле добавьте строку формата:
server[:port] shared_secret timeout (s)
Где:
-
server[:port]
— адрес и порт, на котором настроен RADIUS-сервер в Blitz IDP; -
shared_secret
— общий ключ, настроенный для сегмента сети SSH-клиента; -
timeout
— время ожидания ответа от RADIUS-сервера Blitz IDP, в секундах.
Например:
172.25.0.81 F6406C95-2597-46DC-8576-4066F6E8B311 60
После прохождения всех шагов рекомендуем проверить корректность подключения к серверу по SSH с аутентификацией через Blitz IDP.