Как вам поможет Service Discovery и управление секретами инфраструктуры в 1С и не только

Публикация № 1429211 21.04.21

Администрирование ИТ-инфраструктуры - Информационная безопасность

DevOps-инженер компаний «Первый Бит» и «Серебряная пуля» Руслан Жданов рассказал, как работает service discovery, зачем нужно хранение секретов, и как реализовать эти технологии в инфраструктуре 1С. Доклад прозвучал в рамках онлайн-митапа Infostart Meetup Novosibirsk.

Давайте разберемся, зачем в 1С может потребоваться Service Discovery, для чего вообще нужна эта кухня?

Service Discovery обычно упоминается в контексте микросервисной архитектуры, но в 1С применялась очень редко. Я не помню ни одного более-менее крутого кейса об использовании Service Discovery в рамках 1С. Были интересные идеи, но их мало. Я решил восполнить этот пробел, тем более, что сейчас я именно этим и занимаюсь в рамках развертывания инфраструктуры.

 

Что такое Service Discovery

 

Для чего вообще Service Discovery используется в большом ИТ? Представьте себе известный сайт, например, AliExpress. Как все знают, он работает на своих серверах, у них большие дата-центры, они используют Kubernetes, микросервисную архитектуру и так далее. Каждая функция, каждая операция на этом большом монстре – площадке AliExpress – разбита на маленькие кусочки.

Когда наступает Черная пятница, большое количество людей бежит на AliExpress покупать себе что-то хорошее. Из-за увеличения количества сеансов некоторые микрофункции сервиса начинают сильно нагружаться, но благодаря Kubernetes и возможностям горизонтального масштабирования самих инстансов этих функций, способных поглощать нагрузку, становится много. Но проблема не в том, что их стало много, проблема в том, что серверу нужно знать о том, что они появились – должно быть какое-то централизованное место, которое скажет: «Ребята, у меня появился новый сервис, он вон там, к нему нужно обратиться и взять какие-то данные».

Это и есть Service Discovery – такое централизованное место, которое, как гуру, подсказывает, где расположен нужный сервис, как к нему обратиться. Неважно, какой это сервис: главное, что он есть, и что он доступен в текущий момент.

 

Зачем в 1С может понадобиться Service Discovery и хранение секретов

 

 

Сегодня мы по большей части будем говорить про программы от HashiCorp – Consul и Vault. Consul – это Service Discovery, а Vault – сервис для хранения секретов.

Каким образом это можно привести к 1С? Я расскажу несколько кейсов.

Давайте себе представим такую ситуацию: у нас есть некая инфраструктура, которая состоит из нескольких информационных 1С-баз, сайта (например, интернет-магазина) и ряда внешних сервисов типа датчиков производства, снимающих метрики оборудования. У этой инфраструктуры много пользователей, команда разработчиков, возможно, даже подрядчиков.

Такая система порождает большое количество вторичных настроек: параметры подключения к информационным базам, настройки общих каталогов, адреса веб-сервисов, секреты...

В подавляющем большинстве настройки взаимодействия хранятся внутри информационной системы, и это приводит к следующему:

  • Переезд одного сервиса в другое место требует изменения этих настроек в других местах.

  • Вторичным моментом этого станет необходимость дублирования настроек и секретов. В частности, нам приходится хранить в 1С пароли пользователей, точки подключения и пути подключения к внешним информационным базам в справочниках, что явно очень небезопасно. Представьте, что мы берем какую-то информационную базу, делаем ее бэкап и отдаем этот бэкап подрядчику: внешнему или внутреннему, неважно. Получается, что через эту базу мы даем подрядчику возможность получить неправомерный доступ к нашим продуктивным информационным системам. Дело в том, что когда мы базу разворачиваем, у нас в БСП есть механизм, который при разворачивании копии базы показывает, что база перемещена, и предлагает отключить регламентное задание. Механизм крутой, но он не гарантирует, что информационная база при включении регламентного задания – либо других ручных действий пользователя – не получит доступ к продуктивным интегрированным системам через тот же самый план обмена, потому что там есть каталог, который мы выгружаем, и база, с которой мы соединяемся. Многие встречали ситуации, когда копия базы ухитрялась делать обмен с продуктивной базой, потому что в том или ином виде подрядчику передаются пароли и секреты подключения к продуктивным информационным базам. Причем, очень часто пароли захардкожены прямо в код. И когда мы отдали эту конфигурацию, наш подрядчик видит, что есть ресурс, к которому можно подключиться, и логин-пароль для этого. Теперь компрометация этого логина-пароля, чтобы они уплыли дальше, уже дело времени. Он уплывет – 100%.

  • Третий момент – сложность построения тестовых площадок. Допустим, мы отдали клиентам тестовую базу и теперь нам нужно развернуть для нее тестовую инфраструктуру. Нам нужно узнать строки подключения, логины и пароли к интегрированным системам. Естественно, все эти секреты будут отправлены в Skype или в Telegram, т.е. пароли «поплывут». А нам потом нужно будет вручную зайти и поправить эти данные авторизации. Это время и явное снижение безопасности.

Это основные моменты, почему нам нужен Service Discovery и сервис хранения секретов для 1С. Они хранят данные о сервисах, а база 1С – это такой же сервис, ничем не отличающийся от приложений и микросервисов, только большой. Ведь сервис – некое приложение, осуществляющее действия для пользователя. 1С-ка осуществляет действия для пользователя, значит, по факту, это тоже сервис.

 

Возможности Service Discovery – Consul

 

 

Service discovery – некий справочник о метаинформации, «желтые страницы» сервисов. Я вспоминаю свои студенческие годы, и в институте на кафедре ИТ-нам давали книжечки, которые назывались «Желтые страницы интернета». Там были описаны веб-адреса сайтов, которые в то время вообще существовали в сети.

По факту, Service Discovery – это точно такой же ресурс «Желтых страниц». Он тоже говорит нам о том, какие сервисы есть в сети.

Как я и говорил, все это относится к реализации слабых связанностей между компонентами и системами. Мы малыми шагами идем к микросервисному паттерну разработки Service Oriented Architecture (SOA), описывающему архитектуру приложений в виде атомарных компонентов со слабой связанностью, которые общаются между собой по стандартным протоколам (например, через REST).

Логическим продолжением или подмножеством SOA является микросервисная архитектура. Она базируется на увеличении количества сервисов вместо увеличения функциональности конкретного сервиса и глубокой интеграции с continuous-процессами.

Что я этим хочу сказать? При жесткой настройке связей сервисов (из примера, который я рассказывал ранее) мы получаем единый моноблок. Чтобы этого избежать, нам нужно его декомпозировать на отдельные, более мелкие элементы и дать им общаться между собой более свободно.

Понятно, что прикладные решения 1С микросервисами назвать нельзя. Но если посмотреть на инфраструктуру в целом глобально, можно сказать, что конфигурация 1С – сервис, который осуществляет определенные действия для пользователя.

Нам необходимо использовать единую информационную систему, которая должна:

  • знать о том, что этот абстрактный сервис запустился, причем она должна узнать это сама;

  • иметь функциональность проверки работоспособности сервиса: существует он сейчас или не существует;

  • поддерживать хранение дополнительной метаинформации о сервисе в формате key-value;

  • иметь возможность отдавать несекретные данные всем заинтересованным информационным системам в любой момент времени (естественно, при наличии у сервиса прав на это).

Переходим к Consul – это OpenSource приложение, которое позволяет развернуть инфраструктуру Service Discovery в вашем окружении. Причем Consul – это безотказная, масштабированная, кластеризованная система, которая разворачивается в виде группы серверов, и каждый из этих серверов несет полноценный срез данных по существующим сервисам в инфраструктуре.

Service Discovery можно рассматривать как некий реестр метаинформаций распределенной архитектуры, в котором хранятся данные по компонентам. Это позволяет реализовать взаимодействие компонентов с минимальным ручным вмешательством.

  • Service Discovery позволяет обнаруживать сервисы и заносить их в базу, называемую каталогом. Все это делается автоматически либо самим приложением, либо скриптами, которые его формируют. Вам не нужно запускать какой-то сервис, а потом самостоятельно его регистрировать. При развертывании приложение регистрируется в каталоге автоматически. Так же и 1С.

  • Любое приложение, использующее Consul, обращается к нему через localhost. Самому приложению не нужно знать, где находится Service Discovery, оно стучится туда локально. Consul берет на себя взаимодействие внутри кластеров для обмена так называемых сплетен.

  • Для интеграции с Consul и поиска данных предлагается использовать API, реализованное через интерфейсы HTTP или DNS. Последний вариант дает возможность работать с Consul приложениям, которые вообще ничего о нем не знают и поддерживают всего два вида DNS-запросов: поиск узлов (node lookup) и поиск сервисов (service lookup)..

 

Хранение секретов – Vault

 

Следующий нужный нам элемент – Vault, сервис хранения секретов.

 

 

Допустим, у нас есть какие-то сервисы, зарегистрированные в Consul. Но как узнать, какие логины и пароли нужны, чтобы к ним достучаться? Для этих целей и нужен Vault.

«Под капотом» для хранения секретов Vault использует тот же самый Consul – данные в зашифрованном виде хранятся в реестре метаинформации key-value в Consul.

Vault – инструмент, который позволяет хранить секреты в формате JSON (это его основное разрешение).

Отличительные черты Vault:

  • Сервис хранения секретов должен обладать гибкой системой распределения доступа, что Vault и дает. Он дает не только регламентированный доступ, но и четко идентифицирует: кому этот секрет доступен, что он может с ним сделать, и в течение какого времени он сможет с ним поработать. У него есть политика доступа Access Control List (ACL), которая позволяет четко управлять не только самим секретом, но и группой секретов, их видимостью, доступностью, просмотром и чтением.

  • Правила могут храниться в Git и подключаться при развертывании и обновлении самого Vault. Помимо этого есть аудит доступа: каждый акт доступа записывается самим Vault и хранится – мы знаем, кто и в какой момент запросил этот пароль. Теперь все интегрированные системы идут в Consul, спрашивают, где находится сервис. Затем запрос идет в Vault, где фиксируется, что такой-то компонент запросил секрет к такому-то сервису.

  • Так же, как и Consul, Vault работает локально – все запросы идут в локальный Vault, а дальнейший обмен между Vault, Consul и другим источником хранения секрета уже не касается работы самого приложения. Плюс этой схемы – снижение периметра атаки. Чем меньше размазанность хранения паролей по системе – тем лучше.

  • У Vault очень хорошее, гибкое REST API. С помощью токена вы можете запрашивать пароль для конкретного сервиса, причем пароль может быть временным. И даже необязательно это будет логин и пароль: секретные данные в Vault хранятся в виде json.

  • Следующий момент – локальный запрос пароля, когда ваш компьютер при запуске программы авторизуется в Vault и получает токен внутри переменных среды. Например, вам нужно запускать 1С-ку, которая запускается не с обычного ярлыка, а со скрипта, который перед запуском подключится в Vault и скажет: я такой-то компьютер, дай мне логин и пароль для текущего пользователя, который у тебя хранится. Это некий аналог доменной авторизации, который тоже в некоторых случаях может использоваться. Я не говорю, что этот вариант лучше, но хранение секретов в едином месте, которое дает регламентированный доступ – это круто.

Итак, Vault – хранилище секретов, которые хранятся в виде key-value либо в виде json-файлов (как будет удобнее).

Причем можно создавать собственное хранилище секретов, которое в принципе недоступно даже root-пользователям. Например, у вас есть личные секреты, доступ к которым вы не хотите давать даже администраторам. Вы можете использовать в Vault свой собственный раздел для хранения секретов, к которому даже root-пользователи доступ не получат.

 

Реализация в инфраструктуре

 

Теперь расскажу, каким образом это работает все это у нас в инфраструктуре.

 

 

Consul и Vault – единая точка интеграции сервисов.

Все конфигурации, которые у нас развертываются, при развертывании автоматически регистрируются в Consul и выдают оттуда определенный перечень информации.

Интернет-магазин и личный кабинет, которые у нас работают, тоже интегрируются вместе с Consul, но через оркестраторы микросервисов.Интернет-магазин и личный кабинет у нас разворачиваются в виде docker-приложений, и при развертывании регистрируются в Consul автоматически и прописывают: где и какие порты используют.

Мы используем Consul как DNS-сервер и осуществляем доступ за счет вот этого.

Также у нас при регистрации в Consul автоматически создается раздел хранения секретов в Vault. Когда мы стучимся в Consul, мы говорим: а где хранятся секреты в Vault? И он четко указывает этот путь. Это напоминает путь хранения на жестком диске в ОС Linux, где нет дисков – допустим, kv/clients/mycompany и т.д..

Помимо этого есть еще различные сервисы. Например:

  • Traefik – сервис, который управляет инфраструктурой: своего рода обратный реверс-прокси. Он напоминает Nginx, только более крутой. Он может использовать в качестве провайдера не только Docker, но и сам Consul. Именно благодаря ему сервисы при развертывании в Docker автоматически регистрируются в Consul и становятся публичными для общественности, получают DNS-имена.

  • Jenkins – он интегрируется с Consul и получает параметры подключения к информационным базам для тестовых средств.

  • GitLab – тоже использует Consul для получения параметров подключения.

  • И какие-то другие приложения, которые выступают, как внешние источники данных.

Все это завязывается на Consul. А Consul – отказоустойчивая система.

 

Интеграция 1С и Consul

 

Как интегрировать 1С и Consul? Нами было разработано расширение, которое не зависит от информационной базы и встраивается в любую конфигурацию. Задача расширения – при запуске проверить уникальность информационной базы и наличие ее регистрации в Consul.

 

 

В качестве ключей для регистрации мы используем:

  • имя сервера 1С и имя базы – если это серверная база;

  • или путь к информационной базе и имя текущего хоста – если это файловая база.

Когда база запускается – она идет в Consul и уточняет, зарегистрирована ли она в нем. Consul отвечает: «Я не знаю, кто ты». Тогда база начинает регистрироваться, но при этом уточняет: «А нода, машина, на которой я запустилась, зарегистрирована?» – «Нет» – отвечает Consul – «Тогда давай зарегистрируем ноду». После регистрации ноды база регистрируется сама и заносит для этого сервиса определенные значения key-value.

Для применения полученных значений в базе, а также для формирования новых пар key-value мы сейчас реализуем в расширении поддержку пользовательских скриптов. База же не только должна зарегистрироваться в Consul и Vault, но и узнать оттуда, какие сервисы сейчас существуют в окружении базы, и какие она может использовать.

На слайде видно, что база может быть основная, а может быть и не основная – тестовая. Основная – это продуктивная ИБ. Поэтому текущее развертывание должно зайти туда и спросить, какие значения она может использовать: ключи, параметры авторизации и пути к секретам в Vault, где они хранятся для этих сервисов.

Мы реализуем не только поддержку Consul, но и возможность быстрой смены обработчиков взаимодействия Service Discovery. Это позволяет нам манипулировать: кто хочет работать с Consul, а кто-то – с другими инструментами. Например, кто-нибудь напишет Service Discovery на OneScript – наверное, такое себе приключение, но, может, кто-то и захочет.

 

 

Consul выглядит вот так. На экране вы видите ноды, которые сейчас доступны.

Нода – это некий компьютер, на котором крутятся сервисы. В качестве операционной системы у этого компьютера может быть Windows, Linux – не важно. В качестве сервисов – необязательно 1С, это могут быть docker-приложения, веб-сервисы, MS SQL, PostgreSQL. Что хотите называть сервисом, то и будет. Нода должна осуществлять доступ к этому сервису, его развертывание и управление этим сервисом.

Как нода может появиться? Я говорил, что Consul может работать локально, а может – через REST API.

  • Когда Consul работает локально, мы его объединяем в кластер. Настройка кластера осуществляется при запуске Consul через конфигурационный файл либо через параметры запуска. И когда мы запускаем Consul локально, нода появляется. Допустим, здесь на слайде sport1, sport2, sport5 – это ноды, которые подключены в Consul локально.

  • Но есть ситуации, когда мы запускаем инстанс на тестовой базе разработчика удаленно и не хотим разворачивать Consul у него локально. Тогда мы можем создавать ноды через запросы, используя REST API. Ноды на слайде Office и AttlassianTest.Sport как раз запущены через REST API.

 

 

А вот так выглядит пример самого сервиса. ФинБазаОСКК – это наша конфигурация, которая запустилась и зарегистрировалась в Consul.

При этом у каждого сервиса есть инстансы развертывания, это уже третий показатель. Внизу – основная база, а сверху – тестовая среда.

На ноде развернут сервис, а сервисы одинаковые: мы взяли бэкап ФинБазыОСКК и раскатили его в другом месте – Васе или Пете. Сервисы те же самые, а инстансы разные.

Мы этот бэкап подключаем, как отдельный инстанс, их может быть очень много. Они могут жить и могут удаляться.

Единственную сложность вызывает удаление этих сервисов. Но это тема для отдельного разговора.

 

 

Зарегистрированный сервис заносит туда определенный набор значений, key-value.

Для файловой базы набор значений будет вот таким:

  • ONEC_DABE_NAME – имя базы;

  • ONEC_SERVER_NAME – эта база зарегистрирована на сервере Sport1;

  • VAULT_SECRITS_CI – путь хранения секретов, как я уже говорил, он указывается в формате unix-пути, разделенный слэшем;

  • и дальше указывается какой-то набор дополнительной информации, которую вы хотите туда занести, которая специфично относится к текущей конфигурации, текущему сервису, и, которая, в дальнейшем понадобится для интеграции другим приложениям.

Для 1С набор этих параметров будет одним, для Jenkins – другим.

Все эти значения key-value, они могут дополняться – мы в любой момент можем их изменить или дополнить чем-то на одном сервисе или сразу на группе сервисов.

Итак, сервис создался. У нас есть к нему доступ, все замечательно. А еще у нас есть ресурс, который может к нему подключиться. Где этому ресурсу взять параметр авторизации?

Для этого у нас есть параметр – путь хранения секретов, вы видите его на слайде. При этом сами секреты у нас хранятся в Vault.

 

 

Vault – это тоже веб-приложение, у него есть интерфейс. Здесь в данном случае мы видим четыре раздела хранения

  • cubbyhole – ваш персональный раздел, где хранятся секреты, недоступные никому, кроме вас.

  • DevOps – набор секретов, размещенных для использования сборочных линий.

  • infrastructure – пароли к различным инфраструктурным сервисам.

  • kv (key-value) – секреты доступа и параметры авторизации для приложений-клиентов (например, для информационных баз).

 

 

Сейчас я в качестве примера расскажу один из кейсов реализации. Это реализация сборочной линии для 1С-приложений и интеграция его с Consul.

У нас есть несколько информационных баз, в которых осуществляется две операции:

  • gitsync – операция синхронизации хранилища и Git через GitSync;

  • testAndBuild – тестирование конфигурации, например, синтаксическая проверка, проверка SonarQube, TDD, BDD-тестирование, сборка поставки и так далее.

Каждая из этих операций требует себе набор определенных параметров – путь к базе, секреты пользователей, путь хранения каких-то конфигурационных файлов, секреты доступа к Git и так далее.

Раньше мы их хранили в Jenkins и нам приходилось их дублировать в нескольких местах – в Jenkins хранить, пользователю отдавать и т.д.

В итоге мы пришли к тому, что хранить их нужно в одном месте – в Vault. На слайде показано два раздела, в которых у нас хранятся секреты.

 

 

А здесь показано, как выглядит хранение секретов для каждого раздела.

Например, здесь для testAndBuild хранятся не только секреты, но и параметры, которые по факту могли быть и не секретными.

Но на тот момент, когда мы начали развивать инфраструктуру, было проще начать с того, что все данные хранить только в Vault. А позже мы начали разделять: то, что секретное – хранится в Vault, а то, что является публичным – в Consul.

Сделаю ремарку: здесь хранятся не только секреты, но и пути к файлам.

 

 

Такие же настройки у нас заданы для GitSync – они выглядят вот таким образом.

Здесь видно переключатель JSON, что значения секретов можно задавать не в виде пар key-value, а сразу в виде JSON.

 

 

В Jenkins разработана сборочная линия, которая интегрируется с Consul/Vault и спрашивает: где параметры авторизации сервисов и баз, которые у нас зарегистрированы, для тех двух задач, которые у нас запускаются – GitSync и testAndBuild.

 

 

В итоге получается, что база тестируется, мы видим, что прогоны тестов прошли, но в сборочной линии не хранятся параметры, секреты сборки… Все настройки хранятся в Git.

Теперь при запуске новой сборочной линии нам нужно задать параметры авторизации для нее вручную в Vault.

Вот таким образом системы, которые, казалось бы, невозможно связать между собой, связываются, и между ними мир, дружба, жвачка. Невозможное возможно.

 

Вопросы

 

Где это реализовано?

Это реализовано у нас в инфраструктуре, внутри компании “Серебряная Пуля”. Мы используем это для наших клиентов, пока нет решения о том, что это будет OpenSource-решением.

Можно ли реализовать связку PostgreSQL+Consul?

Можно реализовать любую связку – ЧтоТо+Consul – появилось, зарегистрировалось и работает.

Есть база Прод1 и база Прод2. Они связаны планами обмена, HTTP-сервисами и т.д. Мы делаем копию обоих баз – получилась база Копия1 и база Копия2. Что нужно сделать, чтобы Consul решил проблему перенастройки связей между Копией1 и Копией2?

Здесь мы хотим как раз подключать микросервисы с помощью таких инструментов, как OpenFaaS либо OpenWhisk. То есть, мы пишем какие-то маленькие приложения на том же OneScript, запаковываем их в Docker, реализуем REST API. И когда новой базе потребуется постучаться в какой-то микросервис, она спросит у Consul – куда обратиться. Она постучится в этот микросервис, а он уже либо возвращает, к кому нужно подключиться, либо формирует новое окружение – создает тестовую сборочную линию, новые тестовые базы и т.д. Сейчас мы переходим на микросервисную архитектуру в OpenFaaS и у нас это частично уже начинает реализовываться, но не полностью.

 

*************

Данная статья написана по итогам доклада (видео), прочитанного на INFOSTART MEETUP Новосибирск. Больше статей можно прочитать здесь.

Приглашаем всех принять участие в INFOSTART EVENT 2021 (6-8 мая, СПб).

Специальные предложения

Оставьте свое сообщение

См. также

Подбираем сервер для 1C:ERP Промо

Сервера v8 ERP2 Бесплатно (free)

На Infostart Meetup Ekaterinburg ведущий разработчик 1С в компании ФТО Виталий Онянов рассказал, как подобрать сервер для 1С:ERP и на какие показатели ориентироваться, чтобы оборудование для высоконагруженной системы оправдало вложения.

26.03.2021    15392    Tavalik    73    

Как была "побеждена" проблема считывания ID карт доступа в 1С для управления СКУД "Parsec"

Периферийные устройства v8 1cv8.cf Бесплатно (free)

Описание подхода решения проблемы взаимодействия со штатным оборудованием системы СКУД "Parsec".

25.11.2021    252    eugenevk    8    

Профили управления доступом к объектам в любой конфигурации на БСП

БСП (Библиотека стандартных подсистем) Роли и права v8 1cv8.cf Бесплатно (free)

В данной статье рассмотрим механизмы стандартного управления профилями доступа к объектам в любой типовой конфигурации, в основе которой лежит БСП.

17.11.2021    1853    quazare    3    

Понимание схемы JSON (JSON Schema), часть 1

Интеграция с сервисами Бесплатно (free)

Перевод книги https://json-schema.org/understanding-json-schema/

08.11.2021    2620    malikov_pro    2    

Обмен данными. Консистентность vs Многопоточность Промо

Интеграция с сервисами v8 1cv8.cf Бесплатно (free)

Рассмотрим теоретические основы обмена данными. Какие бывают обмены, какие гарантии при этом даются, зачем идти на компромиссы и что при этом может пойти не так. Есть ли идеальная схема?

03.09.2019    15444    m-rv    2    

Тонкости и подводные камни работы типового модуля интеграции Битрикс24 и 1С

WEB Интеграция с сервисами v8 1cv8.cf Россия Бесплатно (free)

Цель статьи - указать на подводные камни и нюансы, о которых “не пишут на заборах” и которые встретились мне за время внедрения типового модуля интеграции 1С и Битрикс24. Будет интересна для людей, кто подумывает о том, чтобы настроить интеграцию, и хотят понять, с чем столкнутся. А также для тех, кто уже работает с подобным обменом, столкнулся с какими-то из описанных ситуаций и хочет понять, что пошло не так и “как жить дальше”. Постараюсь все описать “человеческим” языком с минимальной долей терминов, так как статья, надеюсь, будет полезна не только программистам.

07.11.2021    1252    freegman74    10    

Особенности (ограничения) производительного RLS

Роли и права v8 v8::Права 1cv8.cf Бесплатно (free)

В своей деятельности при работе с производительным RLS мы сталкиваемся с рядом особенностей (ограничений) данного RLS. В своей статье Ретунский Александр, ведущий программист компании АО «Корпоративные ИТ-проекты» (официальный партнер ИнфоСофт), поделится информацией, полученной опытным путем на ряде задач по производительному RLS.

05.11.2021    815    Alexsandr_Retunskiy    5    

Найти и уничтожить. Популярные уязвимости в проектах 1С

Защита и шифрование Роли и права Пароли Бесплатно (free)

Самые опасные проблемы в конфигурациях 1С – это уязвимости. О том, чем они могут быть опасны, и как их находить автоматически, рассказал Олег Тымко, ведущий разработчик в компании «Серебряная пуля».

03.11.2021    3093    olegtymko    8    

И тогда наверняка нас захватят облака Промо

Интеграция с сервисами Бесплатно (free)

Внимание! Данный текст содержит достаточно мало технических подробностей и готовых рецептов. Главным образом некоторые размышления на предмет будущего технологий и профессий. Некое лёгкое чтение на досуге.

28.06.2019    10954    comol    36    

Окей, Google

Интеграция с сервисами Искусственный интеллект (AI) docker v8 Россия Бесплатно (free)

Пример интеграции Google Ассистента с 1С. В основе которого лежит платформа Dialogflow CX для понимания естественного языка.

28.10.2021    1176    Soloist    6    

Спецификация JSON:API 1.0

Интеграция с сервисами Бесплатно (free)

Перевод спецификации https://jsonapi.org/format/

28.10.2021    879    malikov_pro    4    

Спецификация JSON-RPC 2.0

Интеграция с сервисами Бесплатно (free)

Перевод спецификации с официального сайта https://www.jsonrpc.org/specification (2013-01-04), автор JSON-RPC Working Group.

27.10.2021    486    malikov_pro    0    

Автоматизация магазина на Oracle Apex. Обзор аналога 1С Промо

Интеграция с сервисами Розничная торговля Розничная торговля Бесплатно (free)

Как известно 1С - лидер в автоматизации учета в постсоветском пространстве. Есть ли достойные альтернативы (не дорогие, с возможностью конфигурирования, простые) ? Однозначно да ! Предлагаю Вашему вниманию обзор "буржуйской" технологии Oracle Apex

17.05.2013    63242    avhrst    297    

Принципы и логическая архитектура сетей данных (Data Mesh)

Сети Бесплатно (free)

Перевод статьи https://martinfowler.com/articles/data-mesh-principles.html от 03.12.2020, автор Zhamak Dehghani.

25.10.2021    451    malikov_pro    0    

Использование Gatekeeper для авторизации доступа к HTTP публикации сервера 1С

Администрирование ИТ-инфраструктуры Информационная безопасность WEB v8 Бесплатно (free)

В статье опишу вариант настройки Keycloack и GoGatekepper для авторизации доступа к HTTP публикации сервера 1С

22.10.2021    620    malikov_pro    0    

Как доработать производительный RLS

Роли и права v8 1cv8.cf Россия Бесплатно (free)

Неоднократно в последнее время поступали задачи, когда требовалось доработать новый производительный RLS. В своей статье Ретунский Александр, программист компании АО «Корпоративные ИТ-проекты» (официальный партнер ИнфоСофт) опишет последовательность действий при доработке нового RLS, ключевые моменты и сложности, с которыми столкнулся. В Интернете статей или инструкций, которые подробно и просто описывают – как доработать производительный RLS, не так много и автор делиться своим опытом. В данной статье не будут описаны различия и плюсы/минусы между стандартным и производительным RLS, в Интернете по этому вопросу есть много информации.

18.10.2021    2522    Alexsandr_Retunskiy    4    

Права доступа в 1С:Документооборот 2.1 Промо

Информационная безопасность Документооборот и делопроизводство Документооборот и делопроизводство v8 ДО Бесплатно (free)

В программе 1С:Документооборот ред 2.1 механизм системы прав доступа сильно изменился. С одной стороны, права доступа в данной версии стали проще и быстрее, с другой стороны - права по рабочим группам объектов теперь могут противоречить политикам доступа. Разберемся в данной статье как работает механизм прав доступа в 1с документообороте 2.1.

16.09.2016    88675    vlush78    0    

Готовые модули для работы с Telegram

Интеграция с сервисами v8 1cv8.cf Бесплатно (free)

Готовые модули для отправки сообщений и файлов с логами в Телеграм.

05.10.2021    1962    M_A_D    6    

Backend силами 1С. 4 кейса внедрений

Интеграция с сервисами Бесплатно (free)

На онлайн-митапе «Интеграционные решения в 1С» выступил руководитель цифровой трансформации в крупной производственной компании Николай Крылов. Он представил коллегам кейсы использования одного универсального инструмента для решения разных задач интеграции.

06.08.2021    2397    Nikola23    3    

Доработки RLS. Примеры шаблонов. (в т.ч исключения из ограничений) Промо

Информационная безопасность v8 Бесплатно (free)

Допиливаем шаблоны RLS. Даем доступ пользователям к некоторым объектам

19.06.2013    70763    EvilDoc    38    

Сравнительный анализ вариантов интеграции между системами

Интеграция с сервисами v8 Бесплатно (free)

На Infostart Meetup «Интеграционные решения для 1С» выступил Сергей Наумов – руководитель центра аналитики и консалтинга WiseAdvice. Сергей поделился с коллегами кейсами из собственной практики: какие интеграционные решения остаются актуальными до сих пор, а каких приемов стоит избегать – даже в безвыходных ситуациях.

30.07.2021    2041    SergeyN    1    

All inclusive или как "ослики, кролики и редиски" уживаются вместе с 1С

Интеграция с сервисами Бесплатно (free)

На Infostart Meetup «Интеграционные решения для 1С» выступил замруководителя ИТ-отдела в компании WiseAdvice Евгений Винниченко. Евгений рассказал о том, как «зоопарк» из RabbitMQ, Redis и уживаются вместе с 1С и какую роль в слаженной работе этого ПО играет шина MULE ESB.

26.07.2021    2031    8095_tores    4    

Описание формата 1С JDTO (JSON data transfer object)

Интеграция с сервисами Перенос данных из 1C8 в 1C8 v8 Бесплатно (free)

Формат 1С JDTO может быть полезен для интеграции информационных баз 1С между собой, а также 1С с внешними системами. Публикация имеет своей целью помочь в освоении этого формата для обмена данными.

16.07.2021    6494    zhichkin    32    

Обработка универсального обмена XML и информационная безопасность типовых решений. Промо

Информационная безопасность Бесплатно (free)

Обработка универсального обмена XML - дыра в информационной безопасности типовых? Статья к обсуждению.

15.04.2013    22106    Stim213    39    

Использование mock при интеграции с внешним API

Интеграция с сервисами Бесплатно (free)

На Infostart Meetup DevOps инженер-программист Андрей Крапивин поделился с коллегами опытом тестирования интеграции с внешним API – показал возможности мокирования и рассмотрел их применение на реальном примере тестирования погодного виджета для конфигурации «Бухгалтерия 3.0».

28.05.2021    2768    Scorpion4eg    0    

Как приручить драконов. История построения экосистемы на основе 1С

Интеграция с сервисами Методология Бесплатно (free)

Многие задачи интеграции и мониторинга не имеют стандартных решений в среде 1С. О том, как команда 1С-ников смогла организовать успешный симбиоз учетной системы и системы тысяч внешних устройств, на INFOSTART MEETUP Новосибирск.Online рассказал TeamLead и специалист по внедрению компании ИнфоСофт Григорий Шатров.

14.05.2021    3439    G.Shatrov    6    

Пример организации HTTP сервиса на 1С: Документооборот. Источник 1С: ЕРП => Приемник 1С: Документооборот

Интеграция с сервисами Документооборот и делопроизводство v8 ДО Бесплатно (free)

Статья - пример для разработчика, как можно, не используя подсистему Интеграция с Документооборотом, управлять процессами, а именно на нашем примере прерывать выполнение процессов в 1С: Документооборот. Используя данный пример, можно организовать http-сервис в любой конфигурации 1С, которая поддерживает механизм HTTP сервисов.

13.05.2021    2666    Flover    0    

Бесплатный GPS-трекинг Промо

Интеграция с сервисами Управление персоналом (HRM) Учет рабочего времени Управление персоналом (HRM) Учет рабочего времени Бесплатно (free)

Современные технологии и возможности становятся все более доступными для широких масс и повсеместно используемыми, как для частного лица, так и для мелкого и среднего бизнеса. Так и GPS-трекинг (отслеживание в реальном времени на карте местоположения водителей, курьеров, монтажных бригад, торговых представителей, детей, собак и т.п., а также просмотр статистики по их передвижениям и остановкам), становится сейчас все более востребованным сервисом, как для домашних условий, так и для предприятия. И, если крупные фирмы (например, транспортные предприятия) подписав договора с коммерческими сервисами, оплачивая своевременно счета за устройства и абонплату, эту проблему для себя решили, то это скорее подходит для крупных корпоративных клиентов. Что делать нам, простым смертным или небольшой фирме с несколькими водителями, например? Какие есть простые, надежные и недорогие решения?

05.01.2013    50548    venger    19    

Настройка сборки данных в Performance Monitor Windows Server. Рецепты от Капитана

Сервера Windows v8 1cv8.cf Бесплатно (free)

Каждый опытный сисадмин знает, что лучший показатель ухудшения быстродействия 1С, это главный бухгалтер, движущийся в сторону ИТ отдела со скоростью, превышающей 1.1 м/с. Но только мудрейшие из них настраивают сбор счетчиков, чтобы эта встреча не застала их врасплох. Об этом и поговорим под катом...

07.05.2021    3594    capitan    21    

Настраиваем авторизацию пользователей 1С через Okta

Интеграция с сервисами v8 Бесплатно (free)

Чем больше в компании различных конфигураций и сервисов, тем актуальнее становится проблема единой системы авторизации single Sign-On. Его лидером практически безоговорочно считается Okta. Но на просторах интернета очень мало информации про интеграцию 1С с Okta через протокол OpenID Connect. Что ж, настало время восполнить недостающие пробелы и перевернуть эту печальную страницу в вашей истории

30.04.2021    3922    ripreal1    15    

Принадлежит ли директору компьютер директора. Часть 3 из 3. Защита. Истории от kuzkov.info

Информационная безопасность Бесплатно (free)

Третья часть цикла статей о компьютерной безопасности, в которой рассмотрим способы уменьшения рисков постороннего доступа из 1С конфигурации к данным на вашем компьютере.

26.03.2021    628    Steelvan    0    

Интеграция "1С:Управление торговлей 10.3" с Yandex SpeechKit для распознавания телефонных звонков

WEB Интеграция с сервисами Телефония, SIP Бесплатно (free)

Распознавание телефонных звонков позволяет контролировать работу менеджеров, организовать для них дополнительный KPI, помогает разбирать конфликты и категоризировать звонки по вхождению слов. О своем опыте интеграции «1С:Управления торговлей 10.3» и сервиса Yandex SpeechKit на INFOSTART MEETUP Saint Petersburg.Online рассказал ИТ-директор компании «Умный дом» Федор Рыжков.

12.03.2021    1318    zzhiraf_    0    

HASP, Linux, Centos 7 по сети

Администрирование ИТ-инфраструктуры Linux Сети Бесплатно (free)

HASP keys by net on Linux - не новое, а заново.

10.03.2021    2107    ryzn    1    

Негативное влияние большого количества ролей на производительность 1С

HighLoad оптимизация Роли и права 8.3.14 ERP2 Россия Бесплатно (free)

Столкнулись с интересной проблемой во время работ с базой ERP. Первоначально проблема была в том, что один дописанный функционал работал слишком медленно и требовалось понять почему , однако вскоре выяснилась любопытная деталь – скорость выполнения операции под разными пользователями отличалась.

10.03.2021    4144    aviconsult    21    

Практические опыты с Red Hat JBoss Middleware RED HAT JBOSS FUSE. Часть №2

Интеграция с сервисами Бесплатно (free)

Пробуем активировать маршрутизацию, разбираемся с пакетами (бандлами), терминалом karaf, графической средой управления с web-интерфейсом hawtio.

14.02.2021    575    ksnik    0    

Практические опыты с Red Hat JBoss Middleware RED HAT JBOSS FUSE. Часть №1

Интеграция с сервисами Бесплатно (free)

Задачи интеграции на солидном предприятии могут быть неочевидно сложны и многообразны. Нередко выполняется скрупулезная оценка рисков до начала разработки "на берегу". Рассмотрите эксперименты с бесплатными аналогами дорогостоящих эквивалентов систем интеграции на основе сервисной шины предприятия ESB. Они проводились на актуальной версии Centos Linux. Большим плюсом Fuse являются разнообразие решаемых задач, широкие возможности смены или доработки стратегии, технологий интеграции уже в процессе внедрения. (В скачанных дистрибутивах заготовки настроек для запуска этого ПО на Windows имеются.). В данной публикации Вы узнаете как установить и запустить сервисную шину RED HAT JBOSS FUSE.

13.02.2021    663    ksnik    0    

Архитектурное решение интеграции баз 1С с использованием брокера сообщений Rabbit MQ

Интеграция с сервисами v8 1cv8.cf Бесплатно (free)

При решении задач интеграции баз данных можно использовать различные средства «транспорта» сообщений. Одним из таких механизмов является брокер сообщений «Rabbit MQ». Такие механизмы очередей сообщений удобно использовать для организации обмена между информационными системами с различной структурой данных, когда велик объем передаваемой информации и требуются гарантии успешной доставки сообщений, а также когда поддержание работоспособности иных способов передачи, например через файлы, становиться слишком трудоемким. Брокер сообщений Rabbit MQ широко описан в сети, но 1С пока не имеет штатных механизмов работы с ним, поэтому их приходится дорабатывать. Рассмотрим пример архитектуры 1С с его использованием.

12.02.2021    1929    Koder_Line    6    

Как мы интегрировали свою систему управления разработкой со Slack. Инструменты, возможности, процесс разработки

Интеграция с сервисами Бесплатно (free)

Slack – это не только корпоративный мессенджер. Он предоставляет гибкие настройки уведомлений и реализует несколько вариантов интеграции, с помощью которых можно наладить взаимодействие с собственным приложением. Об интеграции Slack с системой управления разработкой, написанной на 1С, рассказал руководитель компании «ПрогТехБизнес» Александр Анисков.

01.02.2021    2065    vandalsvq    7    

HTML редактор/editor (Wysiwyg) для WebKit 1С (CMS, B2B), альтернатива TinyMCE и стандартному ФорматированныйДокумент

WEB Интеграция с сервисами v8 v8::УФ 1cv8.cf Бесплатно (free)

Suneditor - отличная замена HTML редактору TinyMCE (бесплатному), в публикации с открытым кодом подключим его в 1С с WebKit, скачать HTMLeditor обработку можно бесплатно.

28.12.2020    4171    SizovE    25    

Использование утилиты RING для проверки информации о программных лицензиях

Сервисные утилиты Защита ПО v8 Бесплатно (free)

В 1С есть утилита для проверки файлов с лицензиями 1С. Утилита существует довольно давно, но информация по ней разбросана, малопонятна и много где устарела, поэтому опишу свой опыт установки утилиты и работы с ней. Работаем под Windows.

16.12.2020    16149    budidich    16    

Frontol 6. Настройка авторизации пользователей по QR-коду

Фискальный регистратор Роли и права Розничная и сетевая торговля (FMCG) Бесплатно (free)

Инструкция, как сгенерировать qr-коды для пользователей и как настроить вход по ним во Frontol 6. Рассчитана на администраторов, которые знакомы с программой Frontol, знают, как создаются пользователи в программе и как назначаются права для профилей пользователей. В этой инструкции я хочу подчеркнуть нюансы, с которыми можно столкнуться. Схема в этой инструкции работает и на Frontol 5.

12.12.2020    1769    sc_digital    0    

Информационная безопасность 1С: Памятка для Обновлятора 1С

Защита ПО Пароли v8 БП3.0 Бесплатно (free)

— Три магнитофона, три кинокамеры заграничных, три портсигара отечественных, куртка замшевая... три...

10.12.2020    3993    Indgo    63    

Доступ на уровне записей в типовых конфигурациях. Настройка доступа пользователей с разделением по подразделениям/складам – практический пример

Роли и права v8 v8::Права 1cv8.cf Бесплатно (free)

Многим известно, что в современных конфигурациях, разработанных с использованием БСП, имеются широкие возможности для настройки прав доступа. В частности, реализован функционал разделения доступа на уровне записей (RLS). Однако администратор(разработчик) при планировании схемы доступа в организации неминуемо столкнется со сложностями, если временами путается в понятиях: Группы пользователей/Группы доступа/Профили групп доступа. В статье представлен принцип решения типичной задачи – ограничения прав пользователя на просмотр/изменение информации «чужих» складов и подразделений в конфигурации 1С: Управление торговлей 11.4.

25.11.2020    8536    Sergey1CSpb    10    

Чтение вложенных свойств Структур Структуры, Соответствий, свойства через точку, разбор JSON

WEB Интеграция с сервисами Универсальные функции Практика программирования v8 Бесплатно (free)

JSON: {user.device.type} - как получить значение {type}? А если вложенность значительно глубже? Как проверить, что оно заполнено или удалить его - всё это в публикации с открытым кодом и даже без рекурсии. Бонусом разбор дерева значений - ДанныеФормыЭлементДерева, СтрокаДереваЗначений.

17.11.2020    2334    SizovE    2    

Сказ о том, как в одной крупной компании документооборот внедряли, или проблемы типовых обменов между КА и ДО

Интеграция с сервисами Перенос данных из 1C8 в 1C8 Документооборот и делопроизводство v8 ДО КА2 Бесплатно (free)

Приветствую всех. Сегодня пойдет речь о том, как на одной крупной компании внедряли 1С:Документооборот 2.1 в связке с КА 2.4. Вроде бы системы типовые, мы практически не добавляли ничего в них, но проблем было столько, что я решил изложить их в статье. Может, кому-то пригодится это в дальнейшем, и не придется тратить кучу времени на поиск решений.

10.11.2020    7548    maks_20    30    

Настраиваем PWA приложение на платформе 8.3.18 с бесплатным действительным сертификатом SSL

Информационная безопасность ИТ-инфраструктура IIS v8 1cv8.cf Бесплатно (free)

Вышла платформа 8.3.18 с поддержкой PWA приложений. Получаем БЕСПЛАТНЫЙ действительный сертификат SSL. Настраиваем прогрессивное веб приложение для опубликованной бухгалтерии 3.0 на IIS сервере.

18.10.2020    7021    IamAlexy    32