Инструкция по настройке доступа для дополнительных пользователей MacroData
Эта инструкция поможет вам настроить контролируемый доступ для внешних систем (например, BI-платформ, сервисов аналитики) к вашим данным в MacroData. Вы сможете ограничить видимость чувствительных персональных данных (ПД), предоставляя внешним системам только необходимую информацию.
Общий принцип
1. Получение авторизационных данных
Обратитесь к сотрудникам сопровождения для включения в вашей MacroData дополнительного (внешнего) пользователя.
Для вашей компании будет создан специальный "внешний" пользователь. Его имя будет иметь формат имя_вашего_основного_пользователя_external
(например, если ваш основной пользователь macro_bi_cmp_123
, то внешний будет macro_bi_cmp_123_external
). Вам будет выдан пароль от этого пользователя. Его изменение доступно только через запрос в сопровождение.
Внешний пользователь по умолчанию создается с возможностью подключения с любого IP-адреса (хост = '%').
Важно: При создании/обновлении пароля система не выдает этому "внешнему" пользователю никаких прав на доступ к вашим данным, даже на подключение к серверу. Он просто существует как учетная запись.
2. Предоставление Доступа внешнему пользователю
Вам необходимо самостоятельно определять доступы внешнему пользователю. Эти полномочия выданы вашему основному пользователю MacroData.
Создание Представлений (VIEW): Первым и самым главным шагом для вас является создание в вашей базе данных MacroData специальных SQL-представлений (VIEW). Эти VIEW должны ссылаться на стандартные таблицы MacroData (например, на таблицу
estate_deals_contacts
, содержащую информацию о контактах в сделках), но в этих VIEW вы должны:Явно перечислить только те поля, которые вы действительно хотите сделать доступными для внешних систем.
Все чувствительные персональные данные (такие как ФИО, паспортные данные, ИНН физических лиц и т.д.) должны быть либо полностью исключены из вашего VIEW, либо заменены на заглушки (например, на значение NULL или на текстовую строку '-').
Выдача Прав "Внешнему" Пользователю: После создания VIEW, вы (используя свои основные учетные данные MacroData) должны самостоятельно выдать "внешнему" пользователю права на чтение (SELECT) из этих подготовленных вами VIEW. Первая же команда GRANT SELECT... от вас автоматически даст "внешнему" пользователю и право на подключение к серверу MySQL.
Выдача дополнительных прав "Внешнему" Пользователю: Помимо VIEW вы можете выдать "внешнему" пользователю права на чтение тех обычных таблиц, к которым ему необходим доступ.
Результат: Внешняя система будет подключаться, используя учетные данные "внешнего" пользователя, и сможет читать данные только из тех VIEW и таблиц, к которым вы предоставили доступ.
Необходимые инструменты:
Данные для основного доступа к вашей базе MacroData (хост, порт, ваше основное имя пользователя, ваш пароль, имя вашей базы данных).
Любой клиент MySQL (например, DBeaver, MySQL Workbench, DataGrip, HeidiSQL, или другие).
Шаг 1: Создание Представления (VIEW) с ограниченными данными
Это ключевой этап для обеспечения безопасности и конфиденциальности ваших данных. Вы сами определяете, какую именно информацию увидят внешние системы.
Пример: Создание VIEW с именем estate_deals_contacts_limited на основе таблицы estate_deals_contacts
Цель: предоставить некоторую информацию о контактах, участвующих в сделках, но при этом скрыть полные ФИО, паспортные данные и ИНН физических лиц, оставив, например, только телефоны, email и идентификаторы.
Подключитесь к вашей базе данных MacroData (например, macro_bi_cmp_123) с использованием ваших основных учетных данных.
Выполните следующий SQL-запрос. Внимательно изучите и адаптируйте его под ваши конкретные нужды и требования внешней системы!
Рекомендации по созданию VIEW:
Именование: Используйте для ваших VIEW понятные имена, например, добавляя суффикс _limited (ограниченный), _external_access (внешний доступ) или _no_pd (без персональных данных). Это поможет вам не запутаться.
Одна VIEW на таблицу: Если вам нужен ограниченный доступ к нескольким стандартным таблицам MacroData, создайте отдельное VIEW для каждой из них.
Тщательная проверка: Перед тем как давать доступ к VIEW, убедитесь, что оно содержит именно тот набор данных, который вы предполагали, и что все чувствительные данные корректно скрыты или исключены. Вы можете проверить это, выполнив SELECT * FROM имя_вашего_view; под своими основными учетными данными.
Шаг 2: Выдача и Отзыв Прав "Внешнему" Пользователю
Выполните SQL-команды для предоставления (или отзыва) прав доступа "внешнему" пользователю.
Это необходимо сделать, иначе "внешний" пользователь не сможет даже подключиться к серверу MySQL.
Отзыв прав доступа: Если вы хотите отозвать у "внешнего" пользователя доступ к определенному VIEW или таблице:
Важно по отзыву прав: Если вы отзовете у "внешнего" пользователя все права на все объекты, он также потеряет возможность подключения к серверу MySQL, так как неявная привилегия USAGE будет утеряна.
Шаг 3: Предоставление Информации для Подключения Внешней Системе
После выполнения Шага 1 и Шага 2, сообщите администраторам или разработчикам внешней системы следующие данные:
Учетные данные для подключения к MySQL:
Хост (адрес сервера) и порт MacroData.
Имя "внешнего" пользователя (например, macro_bi_cmp_123_external).
Пароль "внешнего" пользователя.
Имя вашей базы данных MacroData (например, macro_bi_cmp_123).
Имена VIEW, из которых они должны получать данные:
Например: estate_deals_contacts_limited.
Критически важно: Подчеркните, что внешняя система должна быть настроена на выполнение запросов (SELECT) именно к этим предоставленным вами VIEW, а не к оригинальным таблицам MacroData, где могут содержаться полные персональные данные (и доступ к которым у внешнего пользователя все равно отсутствует).
Шаг 4: Управление Вашими VIEW (Удаление/Изменение)
Основному пользователю предоставлены права на создание (CREATE VIEW) и просмотр (SHOW VIEW) представлений в вашей базе данных MacroData.
Важное замечание по удалению/изменению VIEW: В связи со специфическими настройками безопасности MySQL на сервере MacroData, возможность изменять (ALTER VIEW) или удалять (DROP VIEW) созданные вами представления выдаются основному пользователю точечно. Эти права появляются не сразу для нового VIEW, а только после следующего планового обновления данных в MacroData для вашей учетной записи.
Если вам необходимо срочно удалить или изменить VIEW, и вы сталкиваетесь с ошибкой прав доступа, пожалуйста, обратитесь в нашу службу сопровождения.
Шаг 5: Сохранение Скриптов для VIEW и Прав Доступа (ОЧЕНЬ ВАЖНО!)
В исключительных случаях сервис MacroData может провести полное пересоздание вашей базы данных (например, при установке крупных обновлений платформы или для технического обслуживания). В этом случае все созданные вами вручную VIEW будут удалены. Также будут сброшены все права доступа, которые вы выдавали "внешнему" пользователю. "Внешний" пользователь будет пересоздан системой (с тем же паролем, который актуален в CRM на момент пересоздания), но без каких-либо прав на доступ к данным или даже на подключение к серверу.
Чтобы иметь возможность быстро восстановить все ваши настройки для внешнего доступа:
Создайте на своем компьютере текстовый файл (например, с именем macrodata_external_access_setup.sql).
Скопируйте в этот файл и сохраните:
Все SQL-команды CREATE VIEW ... для создания всех ваших представлений с ограниченным доступом.
Все SQL-команды GRANT SELECT ON ... TO 'имя_вашего_external_пользователя'@'%'; для выдачи прав доступа "внешнему" пользователю к этим представлениям.
Храните этот файл в безопасном и доступном для вас месте.
Порядок действий при пересоздании вашей базы данных MacroData:
Подключитесь к вашей (уже пересозданной) базе данных MacroData, используя ваши основные учетные данные.
Откройте ваш сохраненный SQL-скрипт (macrodata_external_access_setup.sql) и выполните все команды из него.
Это восстановит ваши кастомные VIEW и необходимые права доступа для "внешнего" пользователя, позволяя ему снова подключиться и безопасно читать данные согласно вашим настройкам.
Эта модель управления доступом предоставляет вам полный контроль над тем, какие именно данные и в каком виде будут доступны внешним системам, при этом система MacroData обеспечивает управление учетными записями "внешних" пользователей. А платформа MySQL надежно защищает ваши данные и управляет всеми регламентами доступа.
Данное нововведение доступно начиная с MacroData v1.1.51
Last updated