Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Используйте встроенных пользователей базы данных для проверки подлинности подключений SQL Server и SQL Database на уровне базы данных. Содержащаяся база данных — это база данных, изолированная от других баз данных, а также от экземпляра базы данных SQL Server/SQL (и базы данных master), в которую размещается база данных. SQL Server поддерживает изолированных пользователей базы данных как для авторизации Windows, так и SQL Server. При использовании базы данных SQL объедините встроенных пользователей базы данных с правилами брандмауэра на уровне базы данных. В этом разделе рассматриваются различия и преимущества использования автономной модели базы данных по сравнению с традиционными правилами брандмауэра для входа и пользователя и Windows или сервера. Для конкретных сценариев, управляемости или бизнес-логики приложений может по-прежнему потребоваться использование традиционной модели входа или пользователя и правил брандмауэра на уровне сервера.
Замечание
По мере развития службы базы данных SQL и перехода к более высоким гарантированным соглашениям об уровне обслуживания может потребоваться переключиться на модель пользователя автономной базы данных и правила брандмауэра с заданной областью базы данных, чтобы достичь более высокого уровня обслуживания доступности и более высоких максимальных ставок входа для данной базы данных. Корпорация Майкрософт рекомендует вам рассмотреть такие изменения сегодня.
Традиционная модель входа и пользователя
В традиционной модели подключения пользователи Или члены групп Windows подключаются к ядру СУБД, предоставляя учетные данные пользователя или группы, прошедшие проверку подлинности Windows. Или подключение предоставляет имя и пароль и выполняется с использованием аутентификации SQL Server (что является единственным вариантом при подключении к SQL Database). В обоих случаях база данных master должна иметь имя входа, соответствующее учетным данным подключения. После подтверждения учетных данных проверки подлинности Windows или учетных данных SQL Server подключение обычно пытается установить связь с пользовательской базой данных. Чтобы подключиться к пользовательской базе данных, имя входа должно быть сопоставлено с пользователем базы данных в этой пользовательской базе данных. Строка подключения также может указывать подключение к определенной базе данных, которая является необязательной в SQL Server, но требуется в базе данных SQL.
Важно, чтобы учетная запись для входа (в базе данных master) и пользователь (в пользовательской базе данных) существовали и были связаны друг с другом. Это означает, что подключение к пользовательской базе данных зависит от имени входа в базе данных master, и это ограничивает возможность перемещения базы данных на другой сервер SQL Server или Базы данных SQL Azure. Если по какой-либо причине подключение к основной базе данных недоступно (например, идет процесс переключения), общее время подключения увеличится, или подключение может завершиться по тайм-ауту. Это, в свою очередь, может снизить масштабируемость сети.
Модель пользователя автономной базы данных
В модели пользователя в контейненной базе данных логин в базе данных master отсутствует. Вместо этого процесс проверки подлинности происходит в пользовательской базе данных, а у пользователя нет связанного имени для входа в базе данных master. Модель пользователя автономной базы данных поддерживает проверку подлинности Windows (в SQL Server) и проверку подлинности SQL Server (как в SQL Server, так и в базе данных SQL). Чтобы подключиться как пользователя автономной базы данных, строка подключения должна всегда содержать параметр для пользовательской базы данных, чтобы ядро СУБД знало, какая база данных отвечает за управление процессом проверки подлинности. Действие пользователя автономной базы данных ограничено проверкой подлинности базы данных, поэтому при подключении в качестве пользователя автономной базы данных учетная запись пользователя базы данных должна быть независимо создана в каждой базе данных, которую потребуется пользователю. Чтобы изменить базы данных, пользователи базы данных SQL должны создать новое подключение. Пользователи автономной базы данных в SQL Server могут изменять базы данных, если идентичный пользователь присутствует в другой базе данных.
Для базы данных SQL изменения не требуются для строки подключения при переключении с традиционной модели на модель пользователя автономной базы данных. Для подключений SQL Server имя базы данных должно быть добавлено в строку подключения, если она еще не присутствует.
Это важно
При использовании традиционной модели роли уровня сервера и разрешения на уровне сервера могут ограничить доступ ко всем базам данных. При использовании автономной модели базы данных владельцы баз данных и пользователи базы данных с разрешением ALTER ANY USER могут предоставить доступ к базе данных. Это уменьшает управление доступом для высокопривилегированных входов на сервер и расширяет его, чтобы включить пользователей базы данных с высоким уровнем привилегий.
Брандмауэры
SQL Server
Правила брандмауэра Windows применяются ко всем подключениям и имеют одинаковые последствия для входа (традиционные подключения модели) и пользователей автономной базы данных. Дополнительные сведения о брандмауэре Windows см. в разделе "Настройка брандмауэра Windows для доступа к ядрам СУБД".
Брандмауэры базы данных SQL
База данных SQL разрешает отдельные правила брандмауэра для подключений на уровне сервера (имена входа) и для подключений уровня базы данных (пользователей автономной базы данных). При подключении к пользовательской базе данных проверяются правила брандмауэра базы данных. Если нет правила, разрешающего доступ к базе данных, проверяются правила брандмауэра уровня сервера, для которых требуется доступ к базе данных логического сервера master. Правила брандмауэра уровня базы данных в сочетании с пользователями автономной базы данных могут устранить необходимость доступа к базе данных master сервера во время подключения, обеспечивая улучшенную масштабируемость подключения.
Дополнительные сведения о правилах брандмауэра базы данных SQL см. в следующих разделах:
Различия синтаксиса
| Традиционная модель | Модель пользователя автономной базы данных |
|---|---|
При подключении к базе данных master:CREATE LOGIN login_name WITH PASSWORD = 'strong_password';Затем при подключении к пользовательской базе данных: CREATE USER 'user_name' FOR LOGIN 'login_name'; |
При подключении к пользовательской базе данных:CREATE USER user_name WITH PASSWORD = 'strong_password'; |
| Традиционная модель | Модель пользователя автономной базы данных |
|---|---|
Чтобы изменить пароль, в контексте master DB:ALTER LOGIN login_name WITH PASSWORD = 'strong_password'; |
Чтобы изменить пароль, в контексте пользовательской базы данных:ALTER USER user_name WITH PASSWORD = 'strong_password'; |
Замечания
В SQL Server необходимо активировать пользователей "закрытой базы данных" для экземпляра SQL Server. Дополнительные сведения см. в статье Параметр конфигурации сервера contained database authentication.
Пользователи и логины вложенной базы данных с не пересекающимися именами могут совместно существовать в приложениях.
Если в базе данных master есть имя для входа с именем name1 и создается автономный пользователь базы данных с именем name1, то, когда имя базы данных указано в строке подключения, контекст пользователя базы данных будет выбран вместо контекста входа при подключении к базе данных. То есть пользователь базы данных будет иметь приоритет над входами с тем же именем.
В базе данных SQL имя пользователя автономной базы данных не может совпадать с именем учетной записи администратора сервера.
Учетная запись администратора сервера базы данных SQL никогда не может быть пользователем автономной базы данных. Администратор сервера имеет достаточные разрешения для создания пользователей автономной базы данных и управления ими. Администратор сервера может предоставить разрешения для пользователей автономной базы данных в пользовательских базах данных.
Так как пользователи изолированной базы данных являются субъектами уровня базы данных, необходимо создать пользователей изолированной базы данных в каждой базе данных, которые вы будете использовать. Идентификатор ограничен базой данных и не зависит ни в каком аспекте от пользователя с одинаковым именем и паролем в другой базе данных на том же сервере.
Используйте те же надёжные пароли, которые вы обычно используете для входа.
См. также
Изолированные базы данных
Рекомендации по защите автономных баз данных
СОЗДАНИЕ ПОЛЬЗОВАТЕЛЯ (Transact-SQL)