Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к: База данных SQL Azure
В этой статье раскрываются следующие темы:
- Параметры конфигурации для База данных SQL Azure, которые позволяют пользователям выполнять административные задачи и получать доступ к данным, хранящимся в этих базах данных.
- Настройка доступа и авторизации после создания нового сервера.
- Как добавить имена входа и учетные записи пользователей в базу данных
masterи предоставить этим учетным записям права администратора. - Как добавить в пользовательские базы данных учетные записи пользователей, связанные с логинами, или встроенные учетные записи.
- Настройка учетных записей пользователей с разрешениями в пользовательских базах данных с помощью ролей базы данных и явных разрешений.
- Сведения о Управляемый экземпляр SQL Azure см. в разделе "Авторизация доступа к базе данных" для Управляемый экземпляр SQL.
- Сведения о Azure Synapse Analytics см. в статье "Авторизация доступа к базе данных к Azure Synapse Analytics".
Примечание.
Microsoft Entra ID ранее назывался Azure Active Directory (Azure AD).
Проверка подлинности и авторизация
Аутентификацией или проверкой подлинности называют процесс подтверждения личности пользователя. Пользователь подключается к базе данных с помощью учетной записи пользователя.
Когда пользователь пытается подключиться к базе данных, он предоставляет учетную запись пользователя и данные аутентификации. Пользователь проходит проверку подлинности с помощью одного из следующих двух методов проверки подлинности:
-
С помощью этого метода проверки подлинности пользователь отправляет имя учетной записи пользователя и связанный пароль для установления подключения. База данных
masterхранит этот пароль для учетных записей пользователей, связанных с учетной записью входа. База данных, содержащая учетные записи пользователей, не связанные с именем входа, хранит пароль.Примечание.
База данных Azure SQL применяет только сложность паролей в рамках политики паролей.
Проверка подлинности Microsoft Entra для SQL Azure
Используя этот метод проверки подлинности, пользователь отправляет имя учетной записи пользователя и запрашивает, чтобы служба использовала учетные данные, хранящиеся в Microsoft Entra ID (формерно Azure Active Directory).
Имена входа и пользователи. Вы можете связать учетную запись пользователя в базе данных с именем входа, которое master хранит база данных, или сделать его именем пользователя, которое хранит отдельная база данных.
-
Имя входа — это учетная запись в
masterбазе данных, с которой можно связать учетную запись пользователя в одной или нескольких базах данных. Используя логин, вы сохраняете учетные данные для учетной записи пользователя, связанной с этим логином. - Учетная запись пользователя — это отдельная учетная запись в любой базе данных, которая может быть, но не должна быть связана с именем входа. Используя учетную запись пользователя, не связанную с учетной записью для входа, вы сохраняете учетные данные в учетной записи пользователя.
Авторизация для доступа к данным и выполнение различных действий управляется с помощью ролей базы данных и явных разрешений. Авторизация относится к разрешениям, назначенным пользователю, и определяет, что пользователь может сделать. Членство в ролях и разрешения на уровне объектов для учетной записи пользователя в базе данных определяют авторизацию. Рекомендуется предоставить пользователям минимальные привилегии.
Существующие имена для входа и учетные записи пользователей после создания базы данных
При первом развертывании ресурса Azure SQL укажите имя входа и пароль для специального типа административного входа, администратор Server admin. Во время развертывания происходит следующая конфигурация имен входа и пользователей в master и пользовательских базах данных:
Внимание
Не включайте личную, чувствительную или конфиденциальную информацию в поле имени пользователя администратора сервера. Данные, введенные в этом поле, не считаются данными клиента.
- Процесс развертывания создает учетную запись входа SQL-аутентификации с правами администратора, используя указанное вами имя входа. Имя входа — это отдельная учетная запись для входа в База данных SQL Azure.
- Процесс развертывания предоставляет этому имени входа полные административные разрешения для всех баз данных в качестве субъекта уровня сервера. Учетная запись имеет все доступные разрешения и не может быть ограничена.
- При входе этой учетной записи в базу данных она соответствует специальной учетной записи
dboпользователя (учетной записи пользователя), которая существует в каждой пользовательской базе данных. Пользователь dbo имеет все разрешения в базе данных и является членомdb_ownerфиксированной роли базы данных. Дополнительные предопределенные роли базы данных рассматриваются далее в этой статье.
Чтобы определить учетную запись администратора сервера , выполните следующие действия.
- Перейдите в Центр SQL Azure в aka.ms/azuresqlhub.
- В меню ресурсов перейдите на База данных SQL Azure логический сервер.
- В разделе "Параметры" выберите страницу "Свойства ".
- Просмотрите значения для имени входа администратора сервера или администратора Microsoft Entra.
Внимание
Вы не можете изменить имя учетной записи администратора сервера после ее создания. Чтобы сбросить пароль администратора сервера, перейдите к портал Azure, выберите СЕРВЕР SQL Server, выберите сервер из списка и нажмите кнопку "Сбросить пароль".
Создание дополнительных имен входа и пользователей с правами администратора
На этом этапе логический сервер SQL настроен для доступа с использованием одного имени входа для аутентификации SQL и одной учетной записи пользователя. Чтобы создать дополнительные имена входа с полными или частичными административными разрешениями, используйте следующие параметры.
Создание учетной записи администратора Microsoft Entra с полными правами администратора
Включите проверку подлинности Microsoft Entra и добавьте администратора Microsoft Entra. Вы можете настроить одну учетную запись Microsoft Entra в качестве администратора развертывания Azure SQL с полными правами администратора. Эта учетная запись может быть отдельной учетной записью или учетной записью группы безопасности. Если вы хотите использовать учетные записи Microsoft Entra для подключения к База данных SQL Azure, необходимо настроить администратора Microsoft Entra. Подробные сведения о включении проверки подлинности Microsoft Entra для всех типов развертывания SQL Azure см. в следующих статьях:
В базе данных SQL создайте имена для входа проверки подлинности SQL с ограниченными правами администратора
- Создайте дополнительную учетную запись для проверки подлинности SQL в базе данных
master.- Добавьте учетную запись входа в
##MS_DatabaseManager##,##MS_LoginManager##и##MS_DatabaseConnector##роли уровня сервера с помощью инструкции ALTER SERVER ROLE.
- Добавьте учетную запись входа в
Члены специальных
masterролей базы данных для База данных SQL Azure имеют полномочия на создание баз данных и управление ими или создание имен входа и управление ими. В базах данных, созданных пользователем, который является членом ролиdbmanager, этот участник сопоставляется с фиксированной ролью базы данныхdb_ownerи может выполнять вход и управлять этой базой данных, используя учетную запись пользователяdbo. Эти роли не имеют явных разрешений за пределамиmasterбазы данных.Внимание
Вы не можете создать дополнительное имя входа для проверки подлинности SQL с полными правами администратора в База данных SQL Azure. Только учетная запись администратора сервера или учетная запись администратора Microsoft Entra (которая может быть группой Microsoft Entra) может добавлять другие имена входа в роли сервера или удалять их из ролей. Это ограничение зависит от База данных SQL Azure.
- Создайте дополнительную учетную запись для проверки подлинности SQL в базе данных
Создание учетных записей для пользователей, не являющихся администраторами
Создайте учетные записи для пользователей, не являющихся администраторами, с помощью одного из следующих методов:
Создание имени для входа
Создайте имя входа с проверкой подлинности SQL в базе данных
master. Затем создайте учетную запись пользователя в каждой базе данных, к которую пользователь должен получить доступ и связать учетную запись пользователя с именем входа. Используйте этот подход, когда пользователю требуется доступ к нескольким базам данных, и вы хотите синхронизировать пароли. Однако этот подход добавляет сложность при использовании с георепликацией, так как необходимо создать имя входа как на основном сервере, так и на дополнительных серверах. Дополнительные сведения см. в статье Настройка безопасности Базы данных SQL Azure и управление ею для геовосстановления или отработки отказа.Создание учетной записи пользователя
Создайте учетную запись пользователя в базе данных, к которой пользователю нужен доступ (также называемую изолированным пользователем).
С помощью этого подхода данные проверки подлинности пользователя хранятся в каждой базе данных и автоматически реплицируются в геореплицируемые базы данных. Однако если одна и та же учетная запись существует в нескольких базах данных и используете проверку подлинности SQL, необходимо синхронизировать пароли вручную. Кроме того, если у пользователя есть учетная запись в разных базах данных с разными паролями, могут возникнуть проблемы с запоминанием этих паролей.
Внимание
Чтобы создать изолированных пользователей, сопоставленных с удостоверениями Microsoft Entra, необходимо войти в базу данных База данных SQL Azure с помощью учетной записи Microsoft Entra.
Примеры создания имен входа и пользователей см. в следующих примерах:
- Создание имени входа для Базы данных SQL Azure
- Создание пользователя
- Создание пользователей, содержащихся в Microsoft Entra
Совет
Руководство по безопасности, включающее создание пользователей в базе данных SQL Azure, см. в руководстве по обеспечению безопасности базы данных в Базе данных SQL Azure.
Использование фиксированных и настраиваемых ролей базы данных
После создания учетной записи пользователя в базе данных на основе имени для входа или в виде автономного пользователя можно авторизовать этого пользователя для выполнения различных действий и доступа к данным в определенной базе данных. Используйте следующие методы для авторизации доступа:
Предопределенные роли базы данных
Добавьте учетную запись пользователя к фиксированной роли базы данных. Существует девять предопределенных ролей базы данных с определенным набором разрешений. Самые распространенные роли базы данных: db_owner, db_ddladmin, db_datawriter, db_datareader, db_denydatawriter и db_denydatareader. Используйте db_owner для предоставления полного разрешения только нескольким пользователям. Другие фиксированные роли базы данных полезны для быстрого создания простой базы данных в процессе разработки, но не рекомендуется для большинства продуктовых баз данных. Например, фиксированная роль базы данных db_datareader предоставляет доступ на чтение ко всем таблицам в базе данных — это больше, чем строго необходимо.
Чтобы добавить пользователя к предопределенной роли базы данных:
- В База данных SQL Azure используйте инструкцию ALTER ROLE. Примеры см. в примерах ALTER ROLE.
Настраиваемая роль базы данных
Создайте настраиваемую роль базы данных с помощью инструкции CREATE ROLE . Настраиваемая роль позволяет создавать определяемые пользователем роли базы данных, а затем предоставлять каждой роли наименьший набор разрешений, необходимый для работы. Затем добавьте пользователей в настраиваемую роль. Если пользователь является участником нескольких ролей, то ему предоставлены разрешения всех этих ролей.
Предоставление разрешений напрямую
Предоставьте учетной записи пользователя права доступа напрямую. Существует более 100 разрешений, которые можно предоставить по отдельности или запретить. Многие эти разрешения являются частью других разрешений. Например, разрешение
UPDATEна схеме включает в себя разрешениеUPDATEдля каждой таблицы в этой схеме. Как и в большинстве систем разрешений, отмена разрешения переопределяет предоставление. Так как некоторые разрешения включены в другие разрешения и их достаточно много, необходимо внимательно изучить их, чтобы спроектировать соответствующую систему разрешений, которая будет надежно защищать базу данных. Начните с изучения списка разрешений на Разрешения (Системный модуль базы данных) и ознакомьтесь с графиком размером с постер разрешений.
Использование групп
Эффективное управление доступом назначает разрешения для Microsoft Entra групп безопасности и фиксированных или настраиваемых ролей вместо отдельных пользователей.
При использовании проверки подлинности Microsoft Entra поместите пользователей Microsoft Entra в группу безопасности Microsoft Entra. Создайте пользователя автономной базы данных для группы. Добавьте одного или нескольких пользователей базы данных в качестве члена в пользовательские или встроенные роли базы данных с определенными разрешениями, соответствующими этой группе пользователей.
Если используется аутентификация SQL, создайте пользователей автономной базы данных в базе данных. Поместите одного или нескольких пользователей базы данных в настраиваемую роль базы данных с конкретными разрешениями, соответствующими этой группе пользователей.
Примечание.
Вы также можете использовать группы для пользователей, не являющихся пользователями базы данных.
Ознакомьтесь со следующими функциями, которые можно использовать для ограничения или повышения разрешений:
- Чтобы безопасно временно повысить уровень разрешений, можно использовать олицетворение и подписание модулей.
- Безопасность на уровне строк можно использовать, чтобы ограничить доступ к строкам, к которым может получить доступ пользователь.
- Динамическое маскирование данных можно использовать для ограничения воздействия конфиденциальных данных.
- Чтобы ограничить действия, выполняемые в базе данных, можно использовать хранимые процедуры.