Embarcadero DBArtisan: Управление схемами БД и правами доступа к данным

Источник: blogs.embarcadero.com/

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

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

На этапе проектирования должны быть заложены те необходимые решения, которые в дальнейшем позволят выполнять контрольные функции как сотрудникам-специалистам по безопасности данных, так и администраторам БД (DBA).

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

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

Посмотрим, как Embarcadero DBArtisan облегчает работу администраторов БД, сокращает время для достижения результатов при работе с большим количеством различных экземпляров БД или с разными типами СУБД одновременно. Для начала, из окна навигатора с набором подготовленных описаний источников данных следует воспользоваться нужным Data Source для  быстрого соединения с БД. Можно одновременно подключаться и работать с несколькими базами данных различных типов или разных версий. Но для любого типа СУБД диалоговые редакторы схем будут выглядеть похоже настолько, что даже не знакомый с работой в выбранной СУБД администратор без затруднений сможет выполнить создание, изменение или удаление таблиц, ключей, индексов, ограничений и триггеров. В то же время, для каждого типа СУБД предоставляются максимальные возможности для доступа к специфическим особенностям каждой платформы или последним расширениям, включенным в текущую версию СУБД.  

В редакторе схем имеется множество закладок, предназначенных для работы с разными элементами схем, таблиц и всех других объектов. К решению рассматриваемых задач относятся несколько закладок для управления правами доступа. На одной из таких закладок можно назначить, отменить, запретить права доступа пользователей, групп, ролей  к объекту или элементу схемы, вплоть до отдельной колонки. Редактор DBArtisan выгодно отличает возможность назначать сразу несколько прав для одного или нескольких выбранных пользователей. DBArtisan создает скрипт на диалекте языка используемой версии СУБД, который можно проверить и сохранить для дальнейшего выполнения на других серверах.

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

В управлении безопасностью систем баз данных можно назвать три основные задачи любого администратора БД:

  • Контроль текущего состояния (и причин его изменения)
  • Назначение и регулирования прав доступа многочисленных пользователей, групп, ролей и прочих субъектов доступа ко всем и каждому из объектов рабочих БД
  • Обнаружение и исправление имеющихся или потенциальных "дыр" в системах защиты информации, а также максимально оперативное реагирование на обнаруженные нарушения, с целью минимизации потерь.

Важно, что эти действия должны выполняться регулярно с одними и теми же БД, в определенной последовательности, чаще всего, по расписанию. По данным компании Forrester Research, сегодня каждому администратору БД в крупных компаниях приходится администрировать примерно 50 различных баз данных, в среднем имеющих объем около 50 Гб каждая. Если выполнять все это вручную, то станет очевидна нехватка времени на выполнение других важнейших функций, придется либо расширять штат сотрудников отделов администрирования данных, либо отказываться от ряда проверок, (что может привести к катастрофическим последствиям для компании). Здесь разумно широко применять средства автоматизации, пакетного выполнения различных заданий с немедленным получением по различным каналам извещений о результатах проверок и случаях, требующих внимания.

Автоматизация позволяет избежать излишних временных затрат и расширяет повторное использование проверенных готовых решений, действуя по принципу "Один раз описал - выполняешь многократно"

Стандартные средства, входящие в состав каждой промышленной СУБД, либо недостаточно функциональны, либо приобретаются дополнительно за немалые деньги, и практически всегда работают только с текущей версией СУБД. А как быть, если в компании DBA приходится работать с несколькими типами СУБД и поддерживать 2-3 различные версии каждой?

Каждый тип СУБД имеет множество способов настройки режимов и параметров работы, в том числе, параметров, критически влияющих на надежность доступа и безопасность данных:

  • у MS SQL Server, например, есть параметр xp_cmdshell=0(Disabled), который разрешает (или нет) выполнять строчные команды оболочки ОС в среде СУБД, например, используя T-SQL. Согласно документации, это несет значительный риск нарушения безопасности, предоставляя возможности потенциального разрушения системы или несанкционированного повышения уровня полномочий до уровня владельца или sysadmin.
  • СУБД Oracle может принимать три допустимых значения параметра REMOTE_LOGIN_PASSWORDFILE, управляющих сохранением и доступом к информации о паролях, в том числе и учетных записей с наивысшими полномочиями доступа.

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

Эти регулярные проверки не только должны обнаружить несоответствование требованиям принятых стандартов, но и ответить на вопросы:

  • когда возникло несоответствие?,
  • зачем/вследствие чего это произошло?,
  • кто внес изменения?

Embarcadero предлагает удобные средства для решения перечисленных задач. 

Для начала следует создать эталонный стандарт конфигурации, которому должен следовать каждый сервер БД данного типа в системе.

Для этого в программе Embarcadero DB Change Manager нужно выполнить всего два действия:

  • описать соединение с источником данных (Data Source) - фактически соединиться с рабочим экземпляром сервера БД; Этот описанный источник данных будет применяться в дальнейшем для связи с этим сервером и БД
  • Создать эталонный набор параметров конфигурации серверов этого типа в компании из актуального набора параметров конфигурации сервера, с которым выполнено соединение, путем уточнения списка необходимых стандартных параметров и их разрешенных (или принятых) значений; 
    сохранить его в виде стандарта.

Чтобы регулярно выполнять проверку соответствия конфигурации различных серверов этому стандарту нужно подготовить задание по сравнению конфигурации. Проверять на соответствие стандарту можно "живую" рабочую БД, или архив, или другой эталон, или сразу несколько целевых конфигураций разных типов одновременно.

В результате сопоставления:

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

Можно даже автоматически выполнить этот скрипт, но следует настороженно  относится к такому доверительному подходу к полностью автоматическим решениям. В любом случае, все изменения будут надежно задокументированы, а предыдущие версии стандарта останутся в архиве, совсем, как в привычных системах управления исходными тестами.

Все задания DB Change Manager могут выполняться много раз в разное время, регулярно и по расписанию, в автоматическом режиме, не требующем присутствия пользователя. Можно сохранить любое задание в виде, предназначенном для выполнения из командной строки с указанными параметрами. Поддерживается командная строка Windows или Linux.

Для того, чтобы находить несоответствия стандартным правилам доступа, назначенным тем или иным объектам схем баз данным, используется задание типа DB Schema Comparison Job.

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

Для аудита и контроля изменений в жизненно важных, базовых данных и НСИ служат задания типа Data Comparison Job.

Автоматизированное управление изменениями (Change Management) - это одна из важнейших функций современного администратора БД. Это ключ к его способности понимать, что происходит в информационной системе.

Возможность вносить изменения в схемы рабочих БД, эффективно управлять правами доступа  - это гарантия своевременного и оперативного реагирования на выявленные несоответствия принятым политикам и стандартам.


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=37373