Подключение приложений
Подробные инструкции по подключению приложений к Blitz Identity Provider
- 1C
- Пачка
- Яндекс 360
- Arenadata Catalog
- Cisco ASA VPN
- Deckhouse Stronghold
- GitFlic
- Gitlab
- Grafana
- Infrascope
- Jira
- Nextcloud
- OpenVPN
- Outlook on the web (OWA)
- Remote Desktop Gateway
- SimpleOne
- WordPress
- Yandex Cloud
- Zabbix
- Подключение AD FS как клиент (Service Provider) для Blitz IDP
- Подключение к серверу по 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://1c.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 -
Допустимые разрешения:
profileopenid
- Нажмите Сохранить.
После прохождения всех шагов рекомендуем проверить корректность входа в 1C: https://1c.company.com
Пачка
Пачка (https://pachca.com) — это корпоративный мессенджер для работы и бизнеса.
Подключение Пачки к Blitz Identity Provider выполняется по протоколу OAuth 2.0 и состоит из настройки на стороне Blitz Identity Provider и передачи параметров в команду поддержки Пачки.
В инструкции для примера указано, что Пачка расположена на домене
https://auth.pachca.com, а Blitz IDP установлен на домене https://login.company.com. Уточните ваши адреса перед применением инструкции.Настройки на стороне Blitz Identity Provider
В консоли управления Blitz Identity Provider перейдите в раздел Приложения и выполните следующие действия:
- Создайте новое приложение, задав его базовые настройки:
- Идентификатор (entityID или client_id):
pachca - Название:
Pachca - Домен:
https://auth.pachca.com
-
Нажмите Сохранить.
-
Далее нажмите на приложение Пачки и перейдите в Протоколы и выберите
OAuth 2.0и нажмите Сконфигурировать. Вам будут доступны секретные параметры, которые необходимо сообщить команде поддержки Пачки:client_idиclient_secret -
Отредактируйте параметры приложения Префиксы ссылок возврата:
введите ссылку, которую вам сообщит команда поддержки Пачки
- Нажмите Сохранить.
- Необходимо отправить команде поддержки Пачки ссылку на адрес сервера или сразу OIDC well-known URL. Обычно он имеет вид
<домен_blitz_idp>/blitz/.well-known/openid-configuration
После прохождения всех шагов и завершения настроек со стороны команды поддержки Пачки рекомендуем проверить корректность входа в Пачку:
https://app.pachca.com/ (выбрать вариант "Войти через SSO")
Яндекс 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-атрибут.
- Укажите название атрибута и его источник в хранилище. В данном случае источники
emailgiven_namefamily_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/authArenadata 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 -
Допустимые разрешения:
emailopenidprofilesubpreferred_username
-
Стартовая страница приложения:
-
Метод аутентификации при обращении к сервису выдачи маркеров:
none -
Допустимые grant type:
implicit -
Допустимые response type:
codetokenid_token -
Время жизни маркера доступа:
3000 -
Режим выдачи маркеров доступа по умолчанию:
offline -
Формат маркера доступа:
jwt
- Нажмите Сохранить.
После прохождения всех шагов рекомендуем проверить корректность входа в Arenadata Catalog: https://adc.company.com
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/
Deckhouse Stronghold
Deckhouse Stronghold — корпоративное хранилище секретов, совместимое с HashiCorp Vault, для централизованного и безопасного управления ключами, паролями и доступами. Поддерживает динамические учётные данные, аудит и интеграцию с корпоративной аутентификацией (OIDC, LDAP), помогая автоматизировать безопасную работу приложений с конфиденциальными данными.
Blitz Identity Provider выступает OIDC‑провайдером, а Deckhouse Stronghold — OIDC‑клиентом (Relying Party).
В этой инструкции описано подключение Stronghold Standalone к Blitz Identity Provider по протоколу OIDC (OpenID Connect).
Подключение выполняется в два этапа:
- Этап 1. Настройка на стороне Blitz Identity Provider;
- Этап 2. Настройка на стороне Stronghold.
В инструкции для примера указано, что Stronghold доступен по адресу https://stronghold.company.com,
а Blitz Identity Provider доступен по адресу https://login.company.com.
Замените адреса на реальные перед применением инструкции.
Этап 1. Настройка на стороне Blitz Identity Provider
В консоли Blitz Identity Provider перейдите в раздел Приложения.
1. Создание пользователя для проверки
Создайте тестового пользователя через blitz-console (CLI или веб‑консоль).
2. Создание OIDC‑приложения для Stronghold
Создайте новое приложение:
- Название: stronghold
- Base URL:
https://stronghold.company.com - Протокол: OAuth 2.0 / OIDC
После создания получите:
client_idclient_secret
3. Настройка параметров OIDC клиента
Укажите:
- Redirect / Callback URL:
https://stronghold.company.com - Разрешённые scopes:
openid(обязательно);profile(опционально);email(опционально).
Сохраните
Этап 2. Настройка на стороне Stronghold
Теперь Stronghold настраивается как клиент OIDC.
1. Подготовка TLS и discovery URL
Необходимые значения:
- Public URL Stronghold:
https://stronghold.company.com - OIDC Discovery URL Blitz:
https://login.company.com/.well-known/openid-configuration
Убедитесь, что TLS сертификаты валидны для DNS‑имён.
2. Включение OIDC auth method в Stronghold
Добавьте OIDC метод аутентификации:
- Укажите Discovery URL Blitz
- Укажите
client_idиclient_secret, полученные ранее
3. Создание роли OIDC
Создайте роль (например, default-1):
- привязка к
client_id - redirect URL
https://stronghold.company.com - scopes
openidprofileemail
4. Настройка ACL‑policy
- Создайте новую policy с названием
policy-nameв Stronghold через CLI-интерфейс командой:
d8 stronghold policy write policy-name policy-file.hcl
Или через API:
curl \
--request POST \
--header "X-Vault-Token: ..." \
--data '{"policy":"path \"...\" {...} "}' \
https://stronghold.example.com/v1/sys/policy/policy-name
- Привяжите её к роли
default-1
5. Проверка входа
Выполните вход в Stronghold через Blitz Identity Provider. Проверьте:
- доступ к KV;
- чтение/запись секретов согласно
policy-name.
Возможные проблемы и их решение
Ошибка TLS при добавлении OIDC Discovery URL
Ошибка
tls: failed to verify certificate
Решение
- Перевыпустить сертификат с корректными SAN:
- subjectAltName с DNS и URI
- keyUsage
- extendedKeyUsage=serverAuth
- basicConstraints=CA:FALSE
- Исправить скрипт
/usr/share/identityblitz/scripts/configure.shв части генерации файла конфигурации. Итоговый файл конфигурации должен выглядеть следующим образом:
[req]
prompt=no
default_bits=4096
encrypt_key=no
default_md=sha256
distinguished_name=dn
x509_extensions=ext
[dn]
CN=your-domain.com
[ext]
subjectAltName = @alt_names
subjectKeyIdentifier = hash
keyUsage = digitalSignature, keyEncipherment
extendedKeyUsage = serverAuth
basicConstraints = CA:FALSE
[alt_names]
DNS.1 = your-domain.com
URI.1 = https://your-domain.com/blitz/saml
Результат успешной интеграции
- Stronghold авторизуется через Blitz как OIDC‑провайдер.
- Права доступа разграничиваются через ACL-policy.
Проверенная конфигурация
- Stronghold (standalone): v1.16.5 EE
- Blitz Identity Provider: 5.31.4
- ОС: Rocky Linux 9.7 x86_64
- ВМ: 1×node, 4 vCPU, 12 GB RAM, 60 GB disk
GitFlic
GitFlic (https://gitflic.ru) — это DevOps-платформа полного цикла для хранения исходного кода и совместной разработки ПО.
Подключение GitFlic к Blitz Identity Provider выполняется по протоколу OpenID Connect и состоит из двух этапов:
-
Этап 1. Настройки на стороне Blitz Identity Provider
-
Этап 2. Настройки на стороне GitFlic
В инструкции для примера указано, что GitFlic расположен на домене
https://gitflic.company.com, а Blitz IDP установлен на домене https://login.company.com. Уточните ваши адреса перед применением инструкции.Этап 1. Настройки на стороне Blitz Identity Provider
В консоли управления Blitz Identity Provider перейдите в раздел Приложения и выполните следующие действия:
- Создайте новое приложение, задав его базовые настройки:
- Идентификатор (entityID или client_id): client_id, который в будущем будет указан в настройках подключения в GitFlic
- Название: имя приложения, которое будет отображаться на стороне Blitz IDP.
- Домен:
https://gitflic.company.com
- Нажмите Создать
- Нажмите на созданное приложение GitFlic и перейдите на вкладку Протоколы
- Выберите OAuth 2.0 и нажмите Сконфигурировать
- Вам будет доступен client_secret, который нужно будет указать в настройках подключения в GitFlic в будущем
- Отредактируйте параметры приложения
- Предопределенная ссылка возврата - Установите значение URL GitFLic + /oidc/callback
- Префиксы ссылок возврата - Установите значение URL GitFlic
- В полях Допустимые разрешения и Разрешения по умолчанию установите scope: email, openid, profile
- В поле Метод аутентификации при обращении к сервису выдачи маркеров выберите client secret post
- Нажмите Сохранить
- Перейдите в раздел Источники данных и добавьте новый вычисляемый атрибут - preferred_username. В качестве правила вычисления добавьте ${sub}
- Нажмите Сохранить
Вы можете указать значение или комбинацию значений, которые будут использоваться в GitFlic в качестве
username пользователей. Рекомендуется указать sub, т.к. username пользователя GitFlic должен быть уникальным.- Перейдите в раздел Oauth 2.0 и добавьте preferred_username в настройку
scopesдля разрешения profile - Нажмите Сохранить
Этап 2. Настройки на стороне GitFlic
- Зайдите в веб-интерфейс GitFlic под пользователем, обладающим правами администратора внутри платформы.
- Откройте Административную панель и перейдите в раздел Настройки SSO
- На вкладке Настройки OIDC нажмите Создать
- Отредактируйте параметры подключения:
- Название: имя подключения, которое будет отображаться в интерфейсе GitFlic
- Client ID: Идентификатор (client_id), который вы указывали при создании приложения в Identity Blitz
- Client Secret: Значения из поля client_secret в приложении в Identity Blitz
- URL конфигурации: https://login.company.com/blitz/.well-known/openid-configuration - эндпоинт для получения JSON с настройками OIDC
- Опционально можно включить синхронизацию и возможность смены логина для пользователя в платформе GitFlic
- Тип аутентификации: Выбираем Standard Flow -> Client ID и Secret
- Нажмите Создать
- В интерфейсе GitFlic отобразится новое подключение в статусе Неактивно
- Нажимаем на зеленую кнопку с иконкой пуск и делаем его активным
После прохождения всех шагов рекомендуем проверить корректность входа в GitFlic:
https://gitflic.company.comGitlab
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 -
Допустимые разрешения:
profileopenid
- Нажмите Сохранить.
После прохождения всех шагов рекомендуем проверить корректность входа в 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
Infrascope
Infrascope (https://ngrsoftlab.ru/infrascope) – это комплексный продукт для управления привилегированным доступом класса Privileged Access Management (PAM).
Подключение Infrascope к Blitz Identity Provider выполняется по протоколу Radius и состоит из двух этапов:
-
Этап 1. Настройки на стороне Blitz Identity Provider
-
Этап 2. Настройки на стороне Infrascope
В инструкции для примера указано, что Infrascope расположен на домене https://infrascope.company.com, а Blitz IDP установлен на домене https://login.company.com. Уточните ваши адреса перед применением инструкции.
Этап 1. Настройки на стороне Blitz Identity Provider
В консоли управления Blitz Identity Provider перейдите в раздел Приложения и выполните следующие действия:
- Создайте новое приложение, задав его базовые настройки:
- Идентификатор (entityID или client_id): введите client_id
- Название: имя приложения Infrascope, которое будет отображаться на стороне Blitz IDP
- Домен:
https://infrascope.company.com
- Нажмите Сохранить.
В консоли управления Blitz Identity Provider перейдите в раздел Radius и выполните следующие действия:
-
Перейдите на вкладку Общие настройки и нажмите Сконфигурировать. Нажмите Сохранить и обновите страницу.
-
Далее перейдите на вкладку Сегменты сети и нажмите Добавить сегмент. Введите следующие параметры:
- Имя:
issegment - Подсеть:
10.130.6.0/24 - Общий ключ: введите собственный секрет. В данном случае используется
issecret - Приложение по умолчанию:
infrascope - В строке Соответствия NasId и приложений не сконфигурировано нажмите Добавить.
- NasId:
infrascope_nasid - Приложение:
infrascope
-
Нажмите Сохранить.
-
Перейдите на вкладку Процедуры обработки запросов и нажмите Создать новую процедуру запросов.
-
Укажите параметры:
- Статус: сместите ползунок, чтобы параметр стал включенным.
- Идентификатор процедуры:
isprocedure - Описание: введите собственное описание. Например:
Процедура второго фактора для Infrascope
-
Нажмите Сохранить и перейдите в настройки на данной вкладке.
-
В 17 строке измените
return RadiusResult.challenge(Challenges.password());наreturn RadiusResult.challenge(Challenges.totp());.
- Нажмите Сохранить.
Далее в консоли управления Blitz Identity Provider перейдите в раздел Приложения и выполните следующие действия:
- Нажмите кнопку Параметры
у предложения Infrascope и отредактируйте параметры приложения:
-
Протоколы: выберите
Radiusи нажмите Сконфигурировать. -
В параметрах укажите следующие данные:
- Установите флажок на Пароль проверяется приложением самостоятельно, если данная настройка актуальна;
- Время ожидания второго фактора: введите нужное число. Например,
60 - Процедура обработки: выберите из всплывающего списка название процедуры, которое ввели ранее.
- Нажмите Сохранить.
Этап 2. Настройки на стороне Infrascope
Выполните следующие действия:
-
Войдите в свой профиль Infrascope. Перейдите на вкладку System Config Man. Добавьте необходимую версию приложения и параметры.
-
Параметр
mfa.external.provider.radius.host_bltest3=radius://blsecret@10.130.100.82/bltest3_nasid?auth-protocol=pap,timeout=500,priority=100;должен быть сохранен в зашифрованном виде. Параметр создается по формулеradius://<secret>@<radius.host1>/<nas-id>?auth-protocol=pap,timeout=500,priority=100;radius://<secret>@<radius.host2>/<nas-id>?auth-protocol=pap,timeout=500,priority=100;, гдеsecretиnasidсозданы в настройках Radius (Вкладка Параметры сети) в Blitz IDP.
После прохождения всех шагов рекомендуем проверить корректность входа в Infrascope: https://infrascope.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 -
Допустимые разрешения:
profileopenid
- Нажмите Сохранить.
После прохождения всех шагов рекомендуем проверить корректность входа в 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 -
Допустимые разрешения:
openidprofile -
Метод аутентификации при обращении к сервису выдачи маркеров:
client secret post -
Допустимые response type:
codetoken
-
Префиксы ссылок возврата при выходе:
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
При использовании самоподписного SAML-сертификата необходимо добавить его в доверенные корневые на серверах Exchange.
Этап 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
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
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 -
Допустимые разрешения:
openidprofile -
Метод аутентификации при обращении к сервису выдачи маркеров:
client secret post -
Допустимые response type:
codetoken
- Нажмите Сохранить.
После прохождения всех шагов рекомендуем проверить корректность входа в 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/идентификатор_федерации.
Zabbix
Zabbix (https://www.zabbix.com/ru/) - система мониторинга ИТ-инфраструктуры.
Подключение Zabbix к Blitz Identity Provider выполняется по протоколу SAML и состоит из двух этапов:
- Этап 1. Настройки на стороне Zabbix;
- Этап 2. Настройки на стороне Blitz Identity Provider.
Этап 1. Настройки на стороне Zabbix
Выполните следующие действия:
1. Войдите в Zabbix под учетной записью администратора и перейдите в раздел User -> Authentication -> SAML settings
2. Заполните поля с обязательными параметрами. Подробнее, можно ознакомиться в документации:
- IdP entity ID: https://blitz.company.com/blitz/saml
- SSO service URL (URL для аутентификации): https://blitz.company.com/blitz/saml/profile/SAML2/Redirect/SSO
- SLO service URL (URL для логаута): https://blitz.company.com/blitz/saml/profile/SAML2/Redirect/SLO
- Username attribute: email - атрибут задается в IDP
- SP entity ID: zabbix
3. Создайте пользователя в разделе Users -> Users. В качестве имени пользователя, укажите почтовый адрес из атрибута - email. Пример: example@test.ru
4. Загрузите сертификат idp.crt в Zabbix.
Сертификат idp.crt формируется во время установки blitz и хранится в директории /usr/share/identityblitz/blitz-config/saml/credentials/idp.crt. Скопируйте сертификат на сервер с Zabbix /var/www/webapps/zabbix/ui/conf/certs/idp.crt и установите разрешение 644. Раскомментируйте строку $SSO['IDP_CERT'] = 'conf/certs/idp.crt'; в директории /var/www/webapps/zabbix/ui/conf/zabbix.conf.php
5. Опционально. Настройка подписи на выход из системы и подпись утверждений. Установите требуемые флажки в разделе User -> Authentication -> SAML settings:
5.1. Скопируйте сертификат и публичный ключ в /var/www/webapps/zabbix/ui/conf/certs/ Раскомментируйте строки в файле /var/www/webapps/zabbix/ui/conf/zabbix.conf.php и укажите путь до сертификата и ключа, пример:
$SSO['SP_KEY'] = 'conf/certs/idp.key';
$SSO['SP_CERT'] = 'conf/certs/idp.crt';
Этап 2. Настройки на стороне Blitz Identity Provider
1. Добавьте атрибут email в разделе SAML c кодировщиком SAML2String и кодировщиком SAML2StringNameID:
2. Создайте приложение, например zabbix. Выберите протокол SAML и задайте настройки:
2.1. Метаданные.
Создайте метаданные с помощью samltool
Добавьте метаданные в настройки приложения и отредактируйте при необходимости параметр validUntil:
2.2. SAML профиль.
- Подписывать утверждения: always
- Шифровать утверждения: never
- Шифровать идентификаторы(Namelds): never
Включить передачу SAML-утверждений о пользователе в специальном блоке Attribute Statement
В атрибутах пользователя задаем ранее добавленный SAML-атрибут, в нашем случае это email. В итоге должен получиться следующий результат:
3. Опционально. Настройка подписи на выход из системы и подпись утверждений. Сформируйте метаданные с сертификатом при помощи samltool
3.1. Добавьте метаданные в приложение и отредактируйте при необходимости параметр validUntil:
После выполнения всех настроек, будет доступен вход в zabbix, через систему единого входа (SAML)
Подключение AD FS как клиент (Service Provider) для Blitz IDP
AD FS (Active Directory Federation Services) - компонент Windows Server, обеспечивающий федеративное управление удостоверениями и доступом. Он позволяет использовать единый вход (SSO) для безопасного доступа к внешним веб-приложениям, облачным сервисам и ресурсам партнеров, используя учетные данные корпоративной Active Directory
Основная настройка интеграции заключается в обмене файлами метаданных с параметрами подключения между AD FS и Blitz IDP:
- URL метаданных Blitz IDP:
https://login.company.com/blitz/saml/profile/Metadata/SAML - URL метаданных AD FS:
https://adfs.company.com/FederationMetadata/2007-06/FederationMetadata.xml
Подключение AD FS к Blitz Identity Provider выполняется по протоколу SAML и состоит из двух этапов:
- Этап 1. Настройки на стороне AD FS
- Этап 2. Настройки на стороне Blitz Identity Provider
- Этап 3. Настройка атрибутов AD FS
Этап 1. Настройки на стороне AD FS
- В оснастке управления AD FS необходимо добавить внешний провайдер, данные для настройки импортируйте из файла метаданных Blitz IDP. Название на следующем шаге - произвольное, например - Blitz IDP.
- После создания провайдера в его настройках необходимо изменить алгоритм хэширования на SHA-1 .
Этап 2. Настройки на стороне Blitz IDP
-
В Консоли администратора cоздайте новое приложение с идентификатором
http://adfs.company.com/adfs/services/trustи значением доменаadfs.company.com. Проверить идентификатор можно в метаданных ADFS, значение параметраentityID. -
После создания приложения необходимо сконфигурировать протокол SAML:
- Метаданные: в метаданные загрузите метаданными AD FS
FederationMetadata.xml. - SAML профиль: выберите
SAML 2.0 Web SSO Profileи задайте параметры:- Подписывать утверждения:
always - Шифровать утверждения:
never - Шифровать идентификаторы (NameIds):
never
- Подписывать утверждения:
- Отметьте чек-бокс Включить передачу SAML-утверждений о пользователе в специальном блоке Attribute Statement. В Атрибуты пользователя указать атрибуты, которые необходимо передавать в AD FS.
Этап 3. Настройка передачи атрибутов Blitz IDP -> ADFS -> Приложение
Есть две схемы передачи атрибутов из Blitz IDP в Клиентское приложение через ADFS. Их можно использовать как совместно, так и по отдельности:
-
Вариант 1. AD FS работает просто как "передатчик" - присланный из Blitz IDP атрибут передает в клиентское приложение с таким же или измененным названием.
-
Вариант 2. Blitz передает определенный атрибут (с именем
http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountnameи значениемДОМЕН\пользователь), по которому ADFS может найти пользователя в AD и отправить в клиентское приложение атрибуты из AD этого пользователя. Этот вариант менее затратный, т.к. не потребует настройки передачи всех атрибутов из Blitz, настройки их приёма в ADFS и изменения настроек всех клиентских приложений ADFS на новые атрибуты.
Вариант 1. Передача атрибута в Приложение через AD FS
Шаг 1. Настройка со стороны Blitz IDP
-
В консоли администратора SAML -> Атрибуты -> Добавить новый SAML-атрибут:
- Название: произвольное,
- Источник: название атрибута пользователя, значение из которого будет отправлено Кодировщик.
-
В SAML помимо значения атрибута передается еще и его тип. Для вновь созданного SAML атрибута необходимо настроить как минимум один кодировщик, иначе атрибут передан не будет.
Для AD FS нужно выбирать кодировщик SAML2. Для SAML2 есть два кодировщика: String и StringNameID.
По спецификации SAML в ответе должен быть один атрибут NameID (не ноль и не два и более), иначе ответ будет считаться ошибочным и принят клиентом не будет.
Настройте хотя бы один кодировщик для типа NameID, тогда значение передаваемого в нем атрибута будет сопоставлено с внутренним атрибутом AD FS под названием Name http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name.
Правильным будет в NameID передавать атрибут sub из Blitz IDP, таким образом будет выполнено сопоставление уникальных идентификаторов в обеих системах. Количество атрибутов с кодировщиком String не ограничено.
- После выбора типа кодировщика нужно выбрать Название из Приложения 1 - по нему AD FS определяет к какому внутреннему атрибуту AD FS относится входящий атрибут из SAML-Response, который формирует Blitz IDP. Формат имени обычно
persistent, проверить можно в метаданных AD FS по пути/EntityDescriptor/SPSSODescriptor/- тут перечислены допустимые NameID.
Шаг 2. Настройка на стороне AD FS
- Помимо известного для AD FS названия атрибута нужно настроить его приём в AD FS для возможности дальнейшей обработки\передачи. В Claim Provider Trusts выберите настроенный ранее провайдер Blitz IDP, справа нажмите Редактировать правила обработки утверждений, добавьте новое правило из имеющихся шаблонов, а также введите дополнительную информацию, нужную для работы правила. Полное описание правил.
-
Для простого приёма атрибута в AD FS без его изменения выберите правило "Проход через входящие утверждение или его фильтрация":
Название: любое понятное,
ниже - выбранный ранее шаблон,
Тип входящего утверждения должен соответствовать "Имени в ADFS" из Приложения 1
- Для простой передачи атрибута в клиентское приложение нужно добавить правило "Проход через входящие утверждение или его фильтрация" в политику выдачи утверждений в настройках приложения:
Вариант 2. Настройка передачи данных из AD при аутентификации через внешний провайдер
- В Blitz IDP надо настроить передачу атрибута с названием в кодировщике
http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountnameи значениемNetBIOS-имя-домена\пользователь: CONTOSO\user. В AD атрибута с таким значением у пользователя нет, поэтому будем использовать вычисляемый атрибут в Blitz IDP. Создаём вычисляемый атрибут с правилом вычисленияCONTOSO\\${sub}:
- Настройте SAML-атрибут и Кодировщик для него:
- В приложении для подключения AD FS настройте передачу созданного атрибута:
- В AD FS для провайдера нужно создать кастомное правило обработки утверждений, которое меняет подпись для утверждения
http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountnameиз внешнего провайдера на "AD AUTHORITY" - без такой подписи AD поиск пользователя отклонит:
Правило:
c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname"]
=> issue(Type = c.Type, Issuer = "AD AUTHORITY", OriginalIssuer = c.OriginalIssuer, Value = c.Value);
Дополнительно
Атрибуты и названия claim внешнего провайдера для их автоматического маппинга в AD FS
| Имя в ADFS | Описание | Название атрибута для передачи |
|---|---|---|
| E-Mail Address | The e-mail address of the user | http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress |
| Given Name | The given name of the user | http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname |
| Name | The unique name of the user | http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name |
| UPN | The user principal name (UPN) of the user | http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn |
| Common Name | The common name of the user | http://schemas.xmlsoap.org/claims/CommonName |
| AD FS 1.x E-Mail Address | The e-mail address of the user when interoperating with AD FS 1.1 or AD FS 1.0 | http://schemas.xmlsoap.org/claims/EmailAddress |
| Group | A group that the user is a member of | http://schemas.xmlsoap.org/claims/Group |
| AD FS 1.x UPN | The UPN of the user when interoperating with AD FS 1.1 or AD FS 1.0 | http://schemas.xmlsoap.org/claims/UPN |
| Role | A role that the user has | http://schemas.microsoft.com/ws/2008/06/identity/claims/role |
| Surname | The surname of the user | http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname |
| PPID | The private identifier of the user | http://schemas.xmlsoap.org/ws/2005/05/identity/claims/privatepersonalidentifier |
| Name Identifier | The SAML name identifier of the user | http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier |
| Authentication Method | The method used to authenticate the user | http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod |
| Deny Only Group SID | The deny-only group SID of the user | http://schemas.xmlsoap.org/ws/2005/05/identity/claims/denyonlysid |
| Deny only primary SID | The deny-only primary SID of the user | http://schemas.microsoft.com/ws/2008/06/identity/claims/denyonlyprimarysid |
| Deny only primary group SID | The deny-only primary group SID of the user | http://schemas.microsoft.com/ws/2008/06/identity/claims/denyonlyprimarygroupsid |
| Group SID | The group SID of the user | http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid |
| Primary group SID | The primary group SID of the user | http://schemas.microsoft.com/ws/2008/06/identity/claims/primarygroupsid |
| Primary SID | The primary SID of the user | http://schemas.microsoft.com/ws/2008/06/identity/claims/primarysid |
| Windows account name | The domain account name of the user in the form of <domain>\\<user> | http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname |
Подключение к серверу по 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.
