Advertisement
Guest User

Untitled

a guest
Feb 27th, 2020
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.53 KB | None | 0 0
  1. #
  2. # Настройки HTTP сервера
  3. #
  4. Server = {
  5. #
  6. # Настройки Endpoint-a
  7. # задаются в формате Endpoints.<EndpointName> = { ... }
  8. # Основные параметры
  9. # Url - Прослушиваемый Url
  10. # Certificate - Конфигурация серверного сертификата. Только для https
  11. # Path - путь к файлу сертификата в формате PKCS#12. Если путь не задан то сертификат ищется в хранилище согласно настройкам
  12. # Password - пароль
  13. # Store - Хранилище сертификатов для поиска. Возможные значения (LocalMachine или CurrentUser)
  14. # Location - Расположение сертификатов для поиска. Возможные значения (TrustedPublisher, AddressBook, AuthRoot, CertificateAuthority, Disallowed, My, Root, TrustedPeople)
  15. # AllowInvalid - Разрешить сертификаты с невалидной подписью
  16. #
  17. Endpoints.MainHttp.Url = "http://localhost:3828"
  18. Endpoints.BackupHttp = {
  19. Url = "http://localhost:3829"
  20. # Certificate = {
  21. # Path = "testCert.pfx"
  22. # Password = "testPassword"
  23. # }
  24. },
  25. # Endpoints.SecuredHttp = {
  26. # Url = "https://localhost:3840"
  27. # Certificate = {
  28. # Store = "My"
  29. # Location = "CurrentUser"
  30. # Subject = "Subject"
  31. # Password = "testPassword"
  32. # AllowInvalid = false
  33. # }
  34. # }
  35. }
  36.  
  37. #
  38. # Настройки логирования
  39. #
  40. Logging = {
  41. LogLevel = {
  42. #
  43. # Минимальный "уровень" сообщений которые записываются в лог
  44. # Возможные значения Trace, Debug, Information, Warning, Error, Critical, None
  45. #
  46. Default = "Information"
  47. }
  48. }
  49.  
  50. #
  51. # Настройки безопасности. Время кеширования списка разрешенных операций в разрезе пользователя и продукта
  52. #
  53. #Security.AllowedOperationsCacheTimeout = "00:02:00"
  54.  
  55. #
  56. # Настройка подключения к базе данных
  57. #
  58. Database.ConnectionString = "User ID=datahub;Password=123;Initial Catalog=trade_vtb24;Data Source=sql.eftr.lan; App=EFTR.Gate.Keeper"
  59.  
  60. #
  61. # Настройка сборки и публикации метрик
  62. #
  63. Metrics = {
  64.  
  65. #
  66. # Сборка и публикация метрик включена
  67. #
  68. Enabled = true
  69.  
  70. #
  71. # URI для сбора метрик Prometheus
  72. # В случае если параметр не задан, сборка и публикация метрик производиться не будет
  73. #
  74. Addr = "http://localhost:3830"
  75.  
  76. #
  77. # Счетчик обработанных запросов включен
  78. #
  79. RequestCountEnabled = true
  80.  
  81. #
  82. # Сбор сводной информации о времени обработанных запросов включен
  83. #
  84. RequestSummaryEnabled = true
  85. }
  86.  
  87. #
  88. # Настройки аутентификации
  89. #
  90. Authentification = {
  91.  
  92. #
  93. # Строка подключения к БД
  94. #
  95. DB.ConnectionString = "Password=123;Persist Security Info=True;User ID=datahub;Initial Catalog=trade_vtb24;Data Source=sql.eftr.local;App=EFTR.Gate.Keeper; Max Pool Size=1000",
  96.  
  97. #
  98. # Заголовки запроса с дополнительными параметрами запроса
  99. #
  100. InputHeaders = {
  101. #
  102. # Наименование продукта
  103. #
  104. Product = "X-EFTR-Product-Id"
  105. }
  106.  
  107. #
  108. # Заголовки ответа, в которые помещаются результат
  109. #
  110. OutputHeaders = {
  111.  
  112. #
  113. # Заголовок куда помещается идентификатор пользователя
  114. #
  115. UserId = "X-EFTR-UserId"
  116.  
  117. #
  118. # Заголовок куда помещается идентификатор сессии
  119. #
  120. SessionId = "X-EFTR-SessionId"
  121. }
  122.  
  123. #
  124. # Правила для проверки запроса.
  125. # $Type - Тип правила для проверки. Допустимые значения EFTR, JWT, X509ClientCertificate, Trusted
  126. #
  127. Rules: [
  128. {
  129. #
  130. # Провайдер аутентификации для которого актуально данное правило
  131. #
  132. Provider = "EFTR2"
  133.  
  134. #
  135. # Тип правила для проверки. Допустимые значения EFTR, JWT, X509ClientCertificate, Trusted
  136. #
  137. "$Type": "EFTR",
  138.  
  139. #
  140. # Режим перeдачи токена (параметр является флагом, значения можно комбинировать)
  141. # Возможные значения
  142. # 1 - "QueryString" передача через url запроса
  143. # 2 - "Cookie" передача через куки "token"
  144. # 4 - "Header" передача в заголовке Authorization с типом Bearer
  145. #
  146. TransferMode = 1
  147.  
  148. #
  149. # Заголовок в котором передается токен. Опционально. Если не задан то токен берется из заголовка Authorization
  150. #
  151. TokenHeaderName = "Authorization"
  152.  
  153. #
  154. # Префикс перед токеном в значении заголовка указанного в параметре TokenHeaderName.
  155. # Если значение не задано используется значение по умолчанию 'Bearer ' (пробел в конце обязателен, тк идет сравнение типа StartWith)
  156. #
  157. TokenHeaderPrefix = "Bearer "
  158.  
  159. #
  160. # Ключ для валидации токена в формате HEX string
  161. #
  162. ValidationKey = "8ABAEC9AF66BDCBAE5E8CC84AB8E9E0FE0B168851E5A803CE768D7D3F750033B332C77C902F16B2FF4C1432D3BF7EEC9873D48773FE35E38942B28589DE351AD"
  163. },
  164. {
  165. #
  166. # Провайдер аутентификации для которого актуально данное правило
  167. #
  168. Provider = "VTB"
  169.  
  170. #
  171. # Тип правила для проверки. Допустимые значения EFTR, JWT, X509ClientCertificate, Trusted
  172. #
  173. "$Type": "JWT",
  174.  
  175. #
  176. # Режим перeдачи токена (параметр является флагом, значения можно комбинировать)
  177. # Возможные значения
  178. # 1 - "QueryString" передача через url запроса
  179. # 2 - "Cookie" передача через куки "token"
  180. # 4 - "Header" передача в заголовке Authorization с типом Bearer
  181. #
  182. TransferMode = 1
  183.  
  184. #
  185. # Открывать новую сессию, в случае если при проверке запроса не найдена соответствующая сессия
  186. # В случае если параметр установлен будет открыта новая сессия с параметрами, соответствующими параметрам запроса
  187. #
  188. NeedCreateNewSession = true
  189.  
  190. #
  191. # Заголовок в котором передается токен. Опционально. Если не задан то токен берется из заголовка Authorization
  192. #
  193. TokenHeaderName = "Authorization"
  194.  
  195. #
  196. # Префикс перед токеном в значении заголовка указанного в параметре TokenHeaderName.
  197. # Если значение не задано используется значение по умолчанию 'Bearer ' (пробел в конце обязателен, тк идет сравнение типа StartWith)
  198. #
  199.  
  200. TokenHeaderPrefix = "Bearer "
  201.  
  202. #
  203. # Поле токена, значение которого будет использоваться в качестве идентификатора пользователя
  204. #
  205. UserIdPayloadKey = ClientId
  206.  
  207. #
  208. # Валидировать время экспирации
  209. #
  210. ValidateExpirationTime = "true",
  211.  
  212. #
  213. # Валидировать Audiences
  214. #
  215. ValidateAudience = "true",
  216.  
  217. #
  218. # Валидировать эмитента, выпускающего токен
  219. #
  220. ValidateIssuer = "false",
  221.  
  222. #
  223. # Валидировать время жизни токена
  224. #
  225. ValidateLifetime = "false",
  226.  
  227. #
  228. # Валидировать подпись
  229. #
  230. ValidateIssuerSigningKey = "true",
  231.  
  232. #
  233. # Валидные Audiences. Необходимо заполнить если указан ValidateAudience
  234. #
  235. ValidAudiences = ["eftr-auth"],
  236.  
  237. #
  238. # Валидные эмитенты. Необходимо заполнить если указан ValidateIssuer
  239. #
  240. ValidIssuers = ["http=#b7edee63.ngrok.io/auth/realms/master"],
  241.  
  242. #
  243. # Проверять наличие подписи
  244. #
  245. RequireSign = true
  246.  
  247. #
  248. # Ключи для проверки подписи. Необходимо заполнить если указан ValidateIssuerSigningKey
  249. #
  250. IssuerSigningKeys = [
  251. {
  252. # Тип ключа. Список поддерживаемых типов=
  253. # HS256, HS384, HS512 - читается вложенный тег "Raw" (должен быть в формате base64) и используется в качестве секрета
  254. # RS256, RS384, RS512 - читается вложенный тег "Raw" и используется в качестве сертификата в PEM формате
  255. "Type" = "HS256",
  256.  
  257. #
  258. # Содержимое ключа, интерпретацию см в описании поля Type
  259. #
  260. "Raw" = "QG1FQ1E9TWMrKz1KO0UpfVhnX0ozXVRjamRwWz5bKV1l"
  261.  
  262. #
  263. # Уникальный идентификатор ключа. Используется для поиска ключа по значению kid поля jwt токена. Опционльно
  264. #
  265. KeyId = "fa7df822-ce3f-497b-b75e-1942a36c3548"
  266. }
  267. ]
  268. },
  269. {
  270. #
  271. # Провайдер аутентификации для которого актуально данное правило
  272. #
  273. Provider = "X509Certfificate"
  274.  
  275. #
  276. # Тип правила для проверки. Допустимые значения EFTR, JWT, X509ClientCertificate, Trusted
  277. #
  278. "$Type": "X509ClientCertificate",
  279.  
  280. # Режим валидации сертификата. Представляет из себя список режимов через разделитель ","
  281. # Полный список значений и их описание https://docs.microsoft.com/ru-ru/dotnet/api/system.security.cryptography.x509certificates.x509verificationflags?redirectedfrom=MSDN&view=netframework-4.5.2
  282. Mode = "IgnoreInvalidBasicConstraints"
  283. # Параметр сертификата, значение которого будет использовано в качестве идентификатора пользователя при выполнении аутентификации
  284. UserIdPropertyName = "SubjectName"
  285. # Проверять значение подписанта
  286. ValidateIssuer = true
  287.  
  288. #
  289. # Режим перeдачи токена (параметр является флагом, значения можно комбинировать)
  290. # Возможные значения
  291. # 1 - "QueryString" передача через url запроса
  292. # 2 - "Cookie" передача через куки "token"
  293. # 4 - "Header" передача в заголовке Authorization с типом Bearer
  294. #
  295. TransferMode = 15
  296.  
  297. #
  298. # Открывать новую сессию, в случае если при проверке запроса не найдена соответствующая сессия
  299. # В случае если параметр установлен будет открыта новая сессия с параметрами, соответствующими параметрам запроса
  300. #
  301. NeedCreateNewSession = true
  302.  
  303. #
  304. # Заголовок в котором передается токен. Опционально. Если не задан то токен берется из заголовка Authorization
  305. #
  306. TokenHeaderName = "Authorization"
  307.  
  308. #
  309. # Префикс перед токеном в значении заголовка указанного в параметре TokenHeaderName.
  310. # Если значение не задано используется значение по умолчанию 'Bearer ' (пробел в конце обязателен, тк идет сравнение типа StartWith)
  311. #
  312. TokenHeaderPrefix = "Bearer "
  313.  
  314. #
  315. # Хранилище для поиска сертификатов. Задаётся как строка с префиксом
  316. # Возможные значения префикса
  317. # store:// - Только для Windows. Поиск проивзодится по хранилищу сертификатов.
  318. # Если после префикса задано значение LOCAL_MACHINE то поиск будет производится в хранилище для текущей машины.
  319. # Иначе поиск производится в хранилище для текущего пользователя
  320. # file:/// - сертификат ищется в файле в формате PKCS#12. В случае если путь задается с ~ то считается что это относительный путь
  321. #
  322. Store = [
  323. "store://LOCAL_MACHINE"
  324. # "file:///~/App_Data/1.pfx"
  325. ]
  326.  
  327. # Список идентификаторов oid политик (policy) EKU, которые должен поддерживать сертификат. Опционально
  328. ApplicationPolicy = [
  329. "1.3.6.1.5.5.7.3.3"
  330. ]
  331.  
  332. # Список идентификаторов oid политик (policy) которые должен поддерживать сертификат. Опционально
  333. CertificatePolicy = [
  334.  
  335. ]
  336.  
  337. #
  338. # Валидировать подписанта
  339. #
  340. ValidateIssuer="true"
  341.  
  342. #
  343. # Список валидных подписантов для провайдера, в случае если установлен параметр ValidateIssuer
  344. #
  345. ValidIssuers = ["CN=serverName, OU=unit, O=company, L=City, S=33Reg, C=RU", "CN=testF, OU=UnitName, O=company, L=vld, S=state, C=AU"]
  346.  
  347. #
  348. # Режим проверки сертификата. Список значений и описание https://docs.microsoft.com/ru-ru/dotnet/api/system.security.cryptography.x509certificates.x509verificationflags?view=netframework-4.8
  349. #
  350. Mode="IgnoreInvalidBasicConstraints"
  351.  
  352. #
  353. # Поле сертификата, значение которого используется в качетсве идентификатора пользователя
  354. #
  355. UserIdPropertyName="SubjectName"
  356. },
  357.  
  358. {
  359. #
  360. # Провайдер аутентификации для которого актуально данное правило
  361. #
  362. Provider = "VTBTrustedAuth",
  363.  
  364. #
  365. # Тип правила для проверки. Допустимые значения EFTR, JWT, X509ClientCertificate, Trusted
  366. #
  367. "$Type": "Trusted",
  368.  
  369. #
  370. # Режим перeдачи токена (параметр является флагом, значения можно комбинировать)
  371. # Возможные значения
  372. # 1 - "QueryString" передача через url запроса
  373. # 2 - "Cookie" передача через куки "token"
  374. # 4 - "Header" передача в заголовке Authorization с типом Bearer
  375. #
  376. TransferMode = 1
  377.  
  378. #
  379. # Открывать новую сессию, в случае если при проверке запроса не найдена соответствующая сессия
  380. # В случае если параметр установлен будет открыта новая сессия с параметрами, соответствующими параметрам запроса
  381. #
  382. NeedCreateNewSession = true
  383.  
  384. #
  385. # Использование внешнего идентификатора сессии
  386. # В целях оптимизации количества проверок доверенная сторона может открывать свои сесии.
  387. # При включении данного параметра сохраняется связка внешней сессии доверенной стороны и сессии DataHub
  388. #
  389. UseExternalSessionId = true
  390.  
  391. # Наименование заголовка с идентификатором внешней сессии, если установлен параметр UseExternalSessionId
  392. ExternalSessionIdHeaderName = "X-Session-Id"
  393.  
  394. # Наименование заголовка в котором передается "секрет" с доверенной стороны. Это необходимо для защиты DataHub-а от вызовов, провизведенных в обход доверенной стороны
  395. SecretHeaderName = "X-EFTRAuth-Secret"
  396.  
  397. # Список валидных значений "секрета" для провайдера
  398. ValidSecrets = ["OGVmNGNjN2U4NjBiYmEwZWY4NmQxMTBj"]
  399. }
  400. ]
  401. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement