SQL Azure. Обеспечение безопасности SQL Azure

OSzone.net » Microsoft » ИТ-инфраструктура » Облако » SQL Azure. Обеспечение безопасности SQL Azure
Автор: Джошуа Хоффман
Иcточник: TechNet Magazine
Опубликована: 25.11.2011

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

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

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

Начало работы с SQL Azure

Если раньше вы не использовали SQL Azure, начать работу очень просто. Это особенно верно, если вы уже знакомы с традиционными инструментами управления SQL Server, например SQL Server Management Studio (которую, начиная с версии SQL Server 2008 R2, также можно использовать для управления экземплярами SQL Azure).

Первый шаг – настройка учетной записи для платформы Windows Azure на портале для клиентов интерактивных служб Microsoft. Настройка предоставляет доступ к службам Windows Azure, включая Windows Azure, SQL Azure и Windows Azure AppFabric (которая предоставляет разработчикам средства для соединения приложений и служб за рамками границ организации и сети).

После настройки учетной записи можно воспользоваться панелью управления SQL Azure, посетив веб-сайт sql.azure.com. Щелкните «New Database Server» (Новый сервер баз данных), чтобы создать новый экземпляр SQL Azure.

Управление сетевым доступом

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

Настройте правила брандмауэра SQL Azure, выполнив следующие действия.

  1. Войдите в систему портала управления платформой Windows Azure.
  2. На левой панели щелкните «Database» (База данных).
  3. На левой панели разверните подписку и выберите сервер SQL Azure, для которого необходимо настроить правила брандмауэра.
  4. Щелкните «Firewall Rules» (Правила брандмауэра), чтобы отобразить список правил.
  5. Щелкните «Add» (Добавить), чтобы создать новое правило брандмауэра. Чтобы предоставить другим службам Windows доступ к этому серверу SQL Azure, выберите «Allow other Windows Azure services to access this server» (Разрешить другим службам Windows Azure доступ к этому серверу). Будет создано правил с диапазоном IP-адресов «0.0.0.0 – 0.0.0.0». Этот процесс можно использовать для обновления и удаления правил.

Примечание. Все правила брандмауэра должны иметь уникальные имена (которые не учитывают регистр).

*

Рис. 1. Настройка правила брандмауэра в SQL Azure.

Дополнительные сведения о настройке правил брандмауэра через хранимые процедуры SQL приведены в разделе Изменение правил брандмауэра с использованием T-SQL.

Служба SQL Azure доступна через TCP-соединение, порт 1433. В зависимости от существующих правил брандмауэра также может потребоваться настройка клиентских компьютеров для разрешения исходящий доступ через этот порт. Дополнительные сведения об этом процессе приведены в разделе Настройка брандмауэра на стороне клиента.

Проверка подлинности SQL

Метод проверки подлинности в SQL Azure основан на традиционной проверке подлинности SQL Server. Проверка подлинности Windows не поддерживается (интегрированная безопасность). Учетные данные необходимо указывать при каждом подключении к SQL Azure.

При создании нового сервера базы данных в SQL Azure появится запрос на создание имени входа и пароля участника уровня сервера. Это эквивалентно учетной записи системного администратора SQL Server. Можно создать дополнительные учетные данные с использованием T-SQL через Database Manager for SQL Azure или SQL Server Management Studio 2008 R2.

Можно создавать и удалять учетные записи через главную базу данных, используя команду CREATE LOGIN. Например, подключитесь к главной базе данных, используя Database Manager for SQL Azure или SQL Server Management Studio, и выполните следующий запрос:

 
--create a login named "testlogin"
CREATE LOGIN testlogin WITH password='Passw0rd!';

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

*

Рис. 2. Запрос учетных данных SQL Server с помощью Database Manager for SQL Azure.

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

CREATE USER testuser FROM LOGIN testlogin;

Затем можно назначить разрешения, используя следующие команды:

EXEC sp_addrolemember 'db_datareader', 'testuser';

Полный список ролей приведен в статье Роли уровня базы данных. Следует учесть, что при использовании инструкций CREATE/ALTER/DROP LOGIN и CREATE/ALTER/DROP USER (с параметром FOR/FROM LOGIN) каждая инструкция должна быть единственной в пакете T-SQL. В противном случае произойдет ошибка.

Шифрование подключения

SQL Azure передает данные с использованием потоков табличных данных (TDS) по соединению SSL. SQL Azure не поддерживает незашифрованные подключения и имеет подписанный сертификат, выпущенный центром сертификации. Эти факторы также помогают обеспечить защиту передачи данных и предотвратить сетевые атаки с посредником (man-in-the-middle attacks).

Подтверждение шифрования происходит в потоке PRELOGIN протокола TDS. Это требуется для всей клиентский связи с SQL Azure, включая SQL Server Management Studio и приложения через ADO.NET.

Для подключения шифрования от SQL Server Management Studio выполните следующие действия.

  1. Откройте SQL Server Management Studio.
  2. В обозревателе объектов щелкните «Connect» (Подключиться), затем выберите «Database Engine» (Ядро СУБД).
  3. В «Connect to Server» (Подключение к серверу) щелкните «Connection Properties» (Свойства подключения).
  4. Выберите «Encrypt connection» (Шифровать соединение) (см. рис. 3).

*

Рис. 3. Шифрование соединения к SQL Azure в SQL Server Management Studio.

Для проверки сертификата с помощью кода приложения ADO.NET установите Encrypt=True и TrustServerCertificate=False в строке подключения к базе данных.

Шифрование данных

В настоящий момент SQL Azure не поддерживает стандартные механизмы шифрования данных, поддерживаемые SQL Server. В число механизмов входят прозрачное шифрование данных, асимметричные ключи, симметричные ключи и функции Transact-SQL, такие как ENCRYPTBYPASSPHRASE and DECRYPTBYPASSPHRASE, CREATE/ALTER/DROP DATABASE ENCRYPTION KEY и CREATE/ALTER/DROP MASTER KEY.

При использовании SQL Azure требуется шифрование и расшифровка на уровне приложения. Другими словами, ваше приложение ответственно за шифрование и расшифровку данных при отправке и получении данных от SQL Azure.

При размещении определенных приложений и данных в облаке необходимо быть осведомленным о защите данных. По-прежнему необходимо участие в облачной архитектуре системы безопасности. Всегда необходима защита — при переходе на платформу облачных вычислений меняются только методы. Дополнительные ресурсы по этой теме доступны в статье Безопасность: рекомендации и ограничения (база данных SQL Azure).

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


Ссылка: http://www.oszone.net/16657/SQL-Azure