Безопасность SQL Server
Учетные записи и роли SQL Server имеют критически важное значение в обеспечении безопасности Windows Server AppFabric. В AppFabric используются объекты SQL Server для управления доступом к хранилищам и таблицам, содержащим данные операций наблюдения, а также данные управления состояниями, относящиеся к сохраняемости рабочих процессов. В AppFabric не предоставляются средства управления безопасностью баз данных. Чтобы создать учетные записи и роли, а также просматривать и назначать разрешения для доступа к объектам баз данных, используйте средства, поставляемые при установке базы данных. При работе с SQL Server используйте среду SQL Server Management Studio.
В AppFabric используются учетные данные и роли SQL Server для управления доступом к ресурсам, таким как хранилища сохраняемости и наблюдения и хранимые процедуры. Политики безопасности применяются через разрешения на таблицы и хранимые процедуры, которые определяют, какие пользователи могут считывать и записывать данные, а также выполнять административные операции со схемами сохраняемости и наблюдения. Безопасность каждой схемы обеспечивается собственным набором политик безопасности.
Режимы проверки подлинности SQL Server и AppFabric
SQL Server предоставляет два метода безопасной проверки подлинности для серверов баз данных AppFabric:
Проверка подлинности Windows. Этот метод предоставляется режимом проверки подлинности Windows по умолчанию. Это наиболее безопасный режим проверки подлинности в SQL Server. Если настроен режим проверки подлинности Windows, SQL Server использует безопасность Windows для проверки учетной записи и пароля запрашивающей доступ учетной записи пользователя в операционной системе Windows.
Проверка подлинности SQL Server. Этот метод предоставляется режимом проверки подлинности SQL Server. Он существует только для обратной совместимости с приложениями и пользователями, которым необходимо получать доступ к SQL Server, используя явную учетную запись пользователя и пароль. Это наименее безопасный режим.
Хотя AppFabric поддерживает проверку подлинности SQL Server, передача явных имен и паролей пользовательских учетных записей в строке подключения из файла конфигурации не рекомендуется в целях обеспечения безопасности. Настоятельно рекомендуется настроить на сервере SQL Server режим проверки подлинности Windows и избегать использования режима проверки подлинности SQL Server.
Если необходимо использовать режим проверки подлинности SQL Server или если используется поставщик, не являющийся SQL Server, который требует хранения паролей в строке подключения, рекомендуется шифровать строки подключения. AppFabric не может обрабатывать зашифрованные разделы файла конфигурации, поэтому невозможно просматривать и добавлять зашифрованные строки подключения с помощью средств AppFabric.
Если необходимо обеспечить безопасность файлов конфигурации на компьютере AppFabric посредством шифрования частей файла конфигурации, используйте программу регистрации ASP.NET служб IIS (Aspnet_regiis.exe). Можно использовать это средство для шифрования (параметр -pe) любых разделов файла конфигурации, безопасность которых необходимо обеспечить, но за пределами AppFabric. Если впоследствии понадобиться просмотреть или изменить эти разделы, можно расшифровать их с помощью параметра –pd. Расшифровка разделов позволяет просматривать их в средствах AppFabric, вносить изменения, сохранять изменения в файле конфигурации, а затем снова шифровать разделы, используя средства за пределами AppFabric. Дополнительные сведения об использовании программы регистрации ASP.NET служб IIS см. на странице Программа регистрации ASP.NET служб IIS (Aspnet_regiis.exe) (https://go.microsoft.com/fwlink/?LinkId=169163).
Учетные данные SQL Server
Учетные данные SQL Server подразумевают использование имени пользователя и пароля для входа на компьютер с сервером SQL Server. Можно смотреть на это как на право доступа или проверку подлинности в терминологии безопасности Windows. В SQL Server используется встроенная проверка подлинности Windows, работающая путем определения субъектов безопасности, пытающихся получить доступ или управлять ресурсами баз данных AppFabric. Чтобы подключиться к SQL Server с использованием встроенной проверки подлинности Windows, необходимо предоставить удостоверение Windows, от имени которого работает приложение. Также следует убедиться, что удостоверению предоставлены соответствующие права на базу данных SQL Server.
Чтобы выполнить любые действия со схемами или данными баз данных, необходимо сопоставить учетную запись входа с ролью сервера SQL Server, имеющей соответствующие разрешения. Роль SQL Server работает аналогично группе Windows. Членство учетной записи входа в роли SQL Server определяет, какой доступ к функциям администрирования и операциям с базами данных имеется у этой учетной записи. Учетная запись может входить в одну или несколько ролей баз данных.
Эти учетные данные SQL Server создаются при установке AppFabric.
Имя входа | Учетная запись Windows | Членство в роли баз данных |
---|---|---|
AS_Administrators |
LOCALHOST\AS_Administrators |
|
AS_Observers |
LOCALHOST\AS_Observers |
|
IIS_IUSRS |
BUILTIN\IIS_IUSRS |
|
Роли базы данных SQL Server
В SQL Server есть три типа ролей баз данных: роль сервера, приложения и базы данных. Для полноты картины здесь вкратце описываются эти роли. AppFabric применяет модель ролей баз данных практически для всей безопасности в рамках SQL Server.
Роль сервера SQL Server. Роль сервера SQL Server определяется вне рамок каких-либо хранилищ на уровне сервера. Роли SQL Server предварительно определены, поэтому их количество и содержимое не может быть изменено. Примером общей роли сервера является роль sysadmin. Членство в этой роли позволяет учетной записи входа выполнять любые действия с базами данных, а также дает возможность выполнять любые действия с данными SQL Server в любом хранилище. AppFabric не использует явным образом какие-либо роли сервера в своей модели безопасности.
Роль приложения SQL Server. Роли приложений обеспечивают более сложные потребности в безопасности для определенного приложения. Хранилище может использоваться несколькими приложениями, поэтому необходимо обеспечить защиту данных при доступе к ним любого из приложений. AppFabric не использует явным образом какие-либо роли приложений в своей модели безопасности.
Роль базы данных SQL Server. AppFabric расширенно использует эту роль базы данных. Существует три типа ролей базы данных: общая, пользовательская и фиксированная. Для полноты картины здесь вкратце описываются эти роли. AppFabric применяет пользовательскую модель ролей баз данных практически для всей безопасности в рамках SQL Server.
Существует три типа ролей базы данных:
Общая. Общая роль базы данных содержит разрешения доступа по умолчанию для всех пользователей баз данных. Поэтому каждая учетная запись входа, создаваемая AppFabric, становится членом этой роли.
Фиксированная. Как и роли сервера SQL Server (например, sysadmin) фиксированные роли баз данных не могут быть изменены. В отличие от ролей сервера, которые существуют на уровне сервера, роли базы данных существуют на уровне баз данных для каждого хранилища. Примером фиксированной роли базы данных является db_owner. Можно добавлять или удалять учетные записи пользователей для доступа к SQL Server в фиксированную роль базы данных.
Пользовательская. AppFabric создает во время установки пустые пользовательские роли базы данных. Программа установки AppFabric не добавляет учетные данные SQL Server или учетные записи Windows в пользовательские роли базы данных явным образом. Необходимо явно добавить учетные записи, используя средства управления SQL Server.
В AppFabric используются роли баз данных SQL Server для управления доступом к хранилищам данных сохраняемости и наблюдения. При инициализации нового хранилища данных сохраняемости или наблюдения AppFabric во время установки создаются некоторые пользовательские роли безопасности баз данных. В следующей таблице показано, как эти роли сопоставляются с учетными данными SQL Server, описанными в предыдущем разделе.
Пользовательская роль SQL Server | Схема | Сопоставляемые учетные записи | Права |
---|---|---|---|
ASMonitoringDbAdmin |
Наблюдение |
AS_Administrators |
Запись в промежуточную таблицу, чтение из представлений событий, а также вызов хранимых процедур архивации и очистки |
ASMonitoringDbReader |
Наблюдение |
AS_Administrators и AS_Observers |
Чтение из представлений событий |
ASMonitoringDbWriter |
Наблюдение |
AS_Administrators |
Запись в промежуточную таблицу и вызов процедуры импорта |
Microsoft.ApplicationServer.DurableInstancing.WorkflowAdministrators |
Сохраняемость |
AS_Administrators |
Постановка команд управления в очередь команд хранилища |
System.Activities.DurableInstancing.InstanceStoreObservers |
Сохраняемость |
AS_Administrators и AS_Observers |
Чтение из представлений хранилищ экземпляров |
System.Activities.DurableInstancing.InstanceStoreUsers |
Сохраняемость |
BUILTIN\IIS_IUSRS |
Вызов хранимых процедур, относящихся к сохраняемости |
Microsoft.ApplicationServer.DurableInstancing.WorkflowManagementServiceUsers |
Сохраняемость |
AS_Administrators |
Удаление команд управления из очереди команд хранилища |
System.Activities.DurableInstancing.WorkflowActivationUsers |
Сохраняемость |
AS_Administrators |
Запрос хранилища экземпляров на наличие экземпляров рабочих процессов, которые можно активировать |
При использовании Active Directory настоятельно рекомендуется задавать ролям безопасности AppFabric доменные учетные записи для упрощения обеспечения безопасности на нескольких компьютерах. Администратор AppFabric может явно создать две пользовательские учетные записи групп в Active Directory для ролей администраторов и наблюдателей. Например, можно назвать их ДОМЕН\MyAppFabricAdmins и ДОМЕН\MyAppFabricObservers. Затем можно предоставить этим группам соответствующие разрешения на каждом компьютере, добавив группу ДОМЕН\MyAppFabricAdmins в группу LOCALHOST\AS_Administrators, а группу ДОМЕН\MyAppFabricObservers в группу LOCALHOST\AS_Observers. Службы Event Collection service и Workflow Management service должны выполняться в контексте доменных учетных записей, являющихся членами группы ДОМЕН\MyAppFabricAdmins.
Безопасность Примечание |
---|
Командлеты AppFabric, использующие SQL Server, зависят от этих ролей баз данных SQL Server для проверки подлинности своих удостоверений во время выполнения. |
Хранилище баз данных, не основанное на -SQL Server
Роли баз данных SQL Server относятся только к SQL Server. Однако если не используется поставщик SQL Server по умолчанию и был создан собственный поставщик, можно сопоставить функциональные возможности этих ролей их эквивалентам в хранилище, не основанном на сервере SQL Server.
Для работы с такими хранилищами следует включить идентификатор пользователя и пароль в строку подключения, чтобы обеспечить безопасность доступа к хранилищу. Несмотря на то, что передача идентификаторов и паролей пользователей в строках подключения является допустимым, как и в случае проверки подлинности SQL Server, использование такого подхода не рекомендуется. Если решено передавать идентификатор и пароль пользователя в строке подключения, обязательно следуйте рекомендациям по обеспечению безопасности .NET Framework, чтобы строки подключения были зашифрованы.
Примечание
При использовании зашифрованных строк подключения соответствующие приложения IIS должны выполняться надлежащим образом. Однако связанные средства диспетчера IIS не могут работать с зашифрованными строками подключения. Для использования этих средств необходимо расшифровать строки подключения, внести изменения в конфигурацию, используя средства IIS, затем повторно зашифровать строки подключения.
2011-12-05