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

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

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

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    9938    Tavalik    72    

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

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

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

07.05.2021    1097    capitan    17    

Статистика для кадровика

Роли и права v8 v8::СПР v8::Права ЗУП3.x Россия БУ Бесплатно (free)

Вызов отчетов статистики П-4 для кадровика.

05.05.2021    250    VladSmall2020    0    

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

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

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

30.04.2021    1936    ripreal1    7    

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

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

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

03.09.2019    13968    m-rv    1    

Подготовка отчетности за 2020 год в условиях ограничений на уровне записей RLS в УПП 1.3

Регламентированная отчетность Роли и права v8 УПП1 Россия БУ НДС Бесплатно (free)

Если предприятие использует ограничения на уровне записей RLS в УПП 1.3 и ограничение на доступ к организациям, бухгалтерскую отчетность за 2020 год (конкретно Пояснения. Раздел 5 "Дебиторская и кредиторская задолженность") сформировать невозможно пользователю, у которого нет прав на чтение всех платежных поручений и кассовых ордеров по всем организациям. Происходит ошибка "У пользователя недостаточно прав на исполнение операции над базой данных.". Данная статья предлагает решение этой проблемы.

29.03.2021    454    ksnik    0    

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

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

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

26.03.2021    512    Steelvan    0    

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

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

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

12.03.2021    707    zzhiraf_    0    

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

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

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

28.06.2019    10371    comol    36    

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

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

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

10.03.2021    2101    aviconsult    21    

«БИП: Бизнес-Процессы». Интеграция с Telegram и Конструктор чат-ботов

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

В статье приводятся примеры настройки автоматических оповещений в системе «БИП: Бизнес-Процессы» с использованием мессенджера Telegram. Также, приводятся примеры создания и настройки произвольных чат-ботов с использованием Конструктора чат-ботов.

15.02.2021    623    YuriYuriev    0    

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

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

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

14.02.2021    355    ksnik    0    

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

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

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

17.05.2013    60922    avhrst    295    

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

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

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

13.02.2021    393    ksnik    0    

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

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

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

12.02.2021    989    Koder_Line    1    

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

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

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

01.02.2021    1396    vandalsvq    7    

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

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

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

16.09.2016    81424    vlush78    0    

Как убрать/заблокировать давно удаленных пользователей из Системы взаимодействия

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

Данная статья будет служить как вспомогательная человеку, столкнувшемуся на своем пути с Системой взаимодействия, и особо особенному человеку, у кого конфигурация 1С:Предприятие 8. Автосервис (1.6.16.153).

22.01.2021    617    user1135816    0    

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

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

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

28.12.2020    2249    SizovE    23    

Восстановление пароля в 1С 8.3

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

Здравствуйте, коллеги! Сегодня поговорим о восстановлении паролей 1С и трудностях, которые могут возникнуть у пользователя в процессе. Сейчас, если пользователь забыл пароль, ему необходимо обращаться к администратору базы, чтобы он сбросил его, назначив новый самостоятельно, либо поставив флаг о том, что при удачной авторизации пользователь может придумать новый пароль самостоятельно. Данная процедура занимает много времени как у пользователя, так и у администратора, отвлекая его от других дел.

22.12.2020    5962    Koder_Line    5    

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

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

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

19.06.2013    68430    EvilDoc    38    

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

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

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

16.12.2020    7309    budidich    14    

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

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

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

12.12.2020    809    sc_digital    0    

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

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

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

10.12.2020    3408    Indgo    63    

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

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

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

15.04.2013    21886    Stim213    39    

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

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

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

25.11.2020    2646    Sergey1CSpb    5    

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

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

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

17.11.2020    1808    SizovE    2    

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

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

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

10.11.2020    5345    maks_20    23    

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

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

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

05.01.2013    49338    venger    19    

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

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

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

18.10.2020    5337    IamAlexy    29    

Структура обработки загрузки номенклатуры поставщика с примерами и комментариями (часть 2)

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

В статье опишу вариант обработки для загрузки номенклатуры поставщика, блок загрузки номенклатуры и доп. реквизитов.

17.10.2020    846    malikov_pro    2    

Интеграция 1С и B2B-проектов

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

Часто у бизнеса возникает потребность предоставить крупным клиентам возможность самостоятельно оформлять заказы на B2B-портале, интегрированном с 1С. Как организовать такую интеграцию на конференции Infostart Event 2019 Inception рассказал исполнительный директор компании «Гильдия консультантов» Николай Елатонцев.

09.10.2020    2593    nelatontsev@webgk.ru    1    

Управление соляриями из 1С через Arduino

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

Мой опыт автоматизации сети соляриев с интеграцией 1С и оборудования соляриев с помощью платформы Arduino.

01.10.2020    2293    impextr    31    

Взаимодействие 1С со сторонними продуктами посредством REST и Golang (middleware). Часть 4 - NoSQL (MongoDB, Redis)

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

Если в ИТ-инфраструктуре есть NoSQL решения, с которыми требуется взаимодействовать из 1С, можем использовать прослойку на Golang в стиле RESTful

21.09.2020    4960    dmitry-irk38    11    

Взаимодействие 1С со сторонними продуктами посредством REST и Golang (middleware). Часть 3 - ElasticSearch

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

Как в статье №1 этого цикла выгрузим через прослойку журнал регистрации (xml формат) в ElasticSearch. Статья будет иметь практическую направленность в минималистичном стиле

14.09.2020    1666    dmitry-irk38    4    

Взаимодействие 1С со сторонними продуктами посредством REST и Golang (middleware). Часть 2 - Docker

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

В предыдущей статье мы создали микросервис, сейчас мы поместим его в Docker контейнер. Статья будет иметь практическую направленность в минималистичном стиле

07.09.2020    2360    dmitry-irk38    0    

Интеграция с Трелло. Готовый код

Обмен данными 1С Интеграция Agile (XP, SCRUM, Канбан) v8 Бесплатно (free)

Код основных действий, интеграция с API Трелло.

19.08.2020    3728    Yashazz    14    

Смена паролей всем локальным пользователям Windows с помощью OneScript

Windows OneScript Пароли Бесплатно (free)

Скрипт, который меняет пароли всем локальным пользователям Windows и сохраняет их в файле. Есть функция генерации пароля, можно задать длину пароля.

18.08.2020    833    info1i    7    

RLS добавление ограничения доступа к данным по произвольному справочнику через штатные механизмы

БСП (Библиотека стандартных подсистем) Информационная безопасность Роли и права v8 КА2 Россия УУ Бесплатно (free)

Решал задачу ограничения доступ к объектам по справочнику "Банковские счета" штатными средствами БСП. Конфигурация КА 2.2. В остальных на БСП должно работать так же. Хотел сделать инструкцию для себя на будущее, решил поделиться.

05.08.2020    2457    ER34    2    

Изменение RLS в ЗУП 3.1 для ограничения доступа к списку сотрудников

Роли и права v8 v8::Права ЗУП3.x Россия Бесплатно (free)

При переезде из УПП в ЗУП 3.1 бизнесом было поставлено условие, система должна ограничивать видимость сотрудников по подразделениям организации. Позиция 1С по этому вопросу однозначна, так делать нельзя. Но с определенными оговорками и условиями можно...

10.07.2020    2976    Zhilyakovdr    0    

Интеграции с сервером SQL. Быстро и просто

Интеграция Внешние источники данных v8 1cv8.cf Бесплатно (free)

Решаем вопросы экспорта/импорта данных в базы отличного от 1С происхождения.

06.07.2020    2988    Infector    4    

Мониторинг факта выполнения обмена с помощью сервиса healthchecks.io

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

В статье опишу вариант простого мониторинга обработчиков, запускаемых по расписанию.

30.06.2020    2114    malikov_pro    5    

Частые проблемы с бесшовной интеграцией документооборота

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

Если верить популярности запросов, то самая часто встречающаяся проблема, с которой сталкиваются специалисты при таком обмене, — это возвращение изменений в исходный документ.

30.06.2020    2888    Koder_Line    3    

Как мы запилили в АЙТАТ.РФ обработку-бота, чтобы ускорить отгрузку в 2 раза или Реальный опыт внедрения нового механизма "Трансляция событий" от 1С-Коннект

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

Статья о внедрении и использовании в решениях задач нового механизма от 1С-Коннект. Будет полезно тем кто использует интеграцию 1С-Коннект с 1С Предприятие. На текущий момент механизм "Трансляция событий" находится в бета-тестировании и доступен только закрытому списку приглашенных участников. Выражаем благодарность разработчикам механизма "Трансляция событий".

24.06.2020    2024    direwest    4    

Вариант настройки сервисов для рабочей группы

Сервера Системное администрирование Россия Бесплатно (free)

В публикации описан мой вариант построения сервисов для рабочей группы.

24.06.2020    3931    malikov_pro    0    

Безопасный переезд базы 1С с персональными данными в облако

Облачные сервисы, хостинг Защита ПО Россия Бесплатно (free)

Рассказываю о нюансах, на которые следует обратить внимание при выборе облачного провайдера для размещения баз 1С, заключения с ним договора и прочего взаимодействия, не нарушая 152-ФЗ "О персональных данных"

23.06.2020    1884    some_one    2    

Маркировка лекарственных препаратов. Часть первая "Быстрая интеграция"

Интеграция Розничная торговля v8 1cv8.cf Фармацевтика, аптеки Россия УУ Бесплатно (free)

Данный цикл будет посвящен маркировке лекарственных препаратов (далее ЛП), нюансам работы с "1С: Библиотека интеграции с МДЛП", доступной для скачивания на сайте ИТС, методиками работы с регистраторами выбытия, и проблемам, с которыми пришлось столкнуться при интеграции. Эта статья будет представлять из себя краткую инструкцию, что делать, когда маркировка уже близко и необходимо быстро внедрить ее. Надеюсь, она станет подспорьем в данной задаче. Будут приведены рекомендации, как в короткие сроки с минимально необходимой функциональностью и минимумом чтения документации произвести интеграцию библиотеки МДЛП и выполнить начальные настройки. Также будут даны рекомендации по быстрым, но важным, на мой взгляд, доработкам.

23.06.2020    7708    IssakN    32