Логические серверы Базы данных SQL Azure и управление имиAzure SQL Database logical servers and their management. Авторизация с использованием данных sql


server - Ошибка при использовании библиотек Microsoft SMO для подключения к базе данных SQL Server с использованием учетных данных SQL Login

У меня есть база данных, к которой я имею доступ, используя простой ADO.NET, используя строку подключения, содержащую имя пользователя и пароль для входа в SQL Server. Это выполняется в службе WCF, работающей в IIS. Аппарат, на котором размещен экземпляр SQL Server, отличается от машины, использующей веб-службу.

connectionString="Data Source=DB_MACHINE\SQLEXPRESS;Initial Catalog=MY_TEST_DB;Connection Timeout=120;User Id=my_web_user;Password=my_pass"

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

Я получаю следующую ошибку, что странно, потому что я не уверен, почему это имеет значение, если у компьютера есть разрешение? Я вхожу в систему с использованием имени пользователя/пароля для входа в SQL Server, поэтому почему ошибка указывает имя машины. Statemetns выполняется веб-серфингом, который, как мне кажется, работает под NETWORK SERVICE, но разве он не должен использовать разрешения входа в SQL Server? И как я могу исправить проблему? Вход SQL Server может получить доступ к базе данных, если не используется SMO.

Error generating report: System.ServiceModel.FaultException`1[System.ServiceModel.ExceptionDetail]: An exception occurred while executing a Transact-SQL statement or batch. (Fault Detail is equal to An ExceptionDetail, likely created by IncludeExceptionDetailInFaults=true, whose value is: Microsoft.SqlServer.Management.Common.ExecutionFailureException: An exception occurred while executing a Transact-SQL statement or batch. ----> System.Data.SqlClient.SqlException: The server principal "MY_DOMAIN\WEB_SERVICE_COMPUTER$" is not able to access the database "MY_TEST_DB" under the current security context. at Microsoft.SqlServer.Management.Common.ConnectionManager.ExecuteTSql(ExecuteTSqlAction action, Object execObject, DataSet fillDataSet, Boolean catchException) at Microsoft.SqlServer.Management.Common.ConnectionManager.ExecuteTSql(ExecuteTSqlAction action, Object execObject, DataSet fillDataSet, Boolean catchException) at Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTypes executionType) --- End of inner ExceptionDetail stack trace --- at Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTypes exe...).

stackoverrun.com

Авторизация и разрешения в SQL Server

  • 03/30/2017
  • Время чтения: 9 мин
  • Соавторы

В этой статье

После создания объектов базы данных необходимо явно предоставить разрешения, чтобы сделать их доступными для пользователей.When you create database objects, you must explicitly grant permissions to make them accessible to users. Каждый защищаемый объект имеет разрешения, которые могут быть предоставлены участнику с помощью инструкций разрешения.Every securable object has permissions that can be granted to a principal using permission statements.

Принцип минимальных привилегийThe Principle of Least Privilege

Подход к разработке приложений на основе учетных записей пользователей с минимальными правами доступа (LUA) представляет собой важной часть оборонительной, всесторонней стратегии противостояния угрозам безопасности.Developing an application using a least-privileged user account (LUA) approach is an important part of a defensive, in-depth strategy for countering security threats. Подход LUA гарантирует то, что пользователи будут следовать принципу минимальных разрешений и всегда регистрироваться с помощью ограниченных учетных записей пользователя.The LUA approach ensures that users follow the principle of least privilege and always log on with limited user accounts. Административные задачи подразделяются на категории с использованием предопределенных ролей сервера, а возможность применения предопределенной роли сервера sysadmin строго ограничивается.Administrative tasks are broken out using fixed server roles, and the use of the sysadmin fixed server role is severely restricted.

Всегда следуйте принципу минимальных прав при предоставлении разрешений пользователям базы данных.Always follow the principle of least privilege when granting permissions to database users. Предоставляйте минимальные разрешения, необходимые пользователю или роли для выполнения каждой конкретной задачи.Grant the minimum permissions necessary to a user or role to accomplish a given task.

Важно!

Разработка и проверка приложений с использованием подхода LUA вносит дополнительные сложности в процесс разработки.Developing and testing an application using the LUA approach adds a degree of difficulty to the development process. Проще создавать объекты и разрабатывать код, будучи зарегистрированным в качестве системного администратора или владельца базы данных, чем при использовании учетной записи LUA.It is easier to create objects and write code while logged on as a system administrator or database owner than it is using a LUA account. Но разработка приложений в рамках высоко привилегированной учетной записи может не дать почувствовать влияния уменьшенных функциональных возможностей, которые обнаруживаются при попытке наименее привилегированных пользователей эксплуатировать приложение, для надлежащего функционирования которого требуется более высокий уровень разрешений.However, developing applications using a highly privileged account can obfuscate the impact of reduced functionality when least privileged users attempt to run an application that requires elevated permissions in order to function correctly. А после того как пользователям будут предоставлены чрезмерные разрешения, чтобы они могли вновь приобрести утраченные функциональные возможности, приложение может оказаться уязвимым для атаки.Granting excessive permissions to users in order to reacquire lost functionality can leave your application vulnerable to attack. Проектирование, разработка и проверка приложения в условиях регистрации в учетной записи LUA требуют дисциплинированного подхода к планированию безопасности, что позволяет избежать неприятных сюрпризов и избавиться от стремления предоставлять расширенные права в целях скорейшего возобновления работы.Designing, developing and testing your application logged on with a LUA account enforces a disciplined approach to security planning that eliminates unpleasant surprises and the temptation to grant elevated privileges as a quick fix. Для проверки можно использовать имя входа SQL Server, даже если приложение предназначено для развертывания и эксплуатации с использованием проверки подлинности Windows.You can use a SQL Server login for testing even if your application is intended to deploy using Windows authentication.

Разрешения на основе ролейRole-Based Permissions

Если разрешения предоставляются ролям, а не пользователям, то администрирование средств безопасности упрощается.Granting permissions to roles rather than to users simplifies security administration. Наборы разрешений, назначенные ролям, становятся унаследованными всеми членами роли.Permission sets that are assigned to roles are inherited by all members of the role. Проще добавлять или удалять пользователей из состава членов роли, чем повторно создавать отдельные наборы разрешений для каждого пользователя.It is easier to add or remove users from a role than it is to recreate separate permission sets for individual users. Роли могут быть вложенными; но применение слишком большого количества уровней вложенности может привести к снижению производительности.Roles can be nested; however, too many levels of nesting can degrade performance. Можно также вводить пользователей в состав членов предопределенных ролей базы данных в целях упрощения задачи назначения разрешений.You can also add users to fixed database roles to simplify assigning permissions.

Можно предоставлять разрешения на уровне схемы.You can grant permissions at the schema level. Пользователи автоматически наследуют разрешения на все новые объекты, создаваемые в схеме; после создания новых объектов не требуется предоставлять для них разрешения.Users automatically inherit permissions on all new objects created in the schema; you do not need to grant permissions as new objects are created.

Управление разрешениями с помощью процедурного кодаPermissions Through Procedural Code

Инкапсуляция средств доступа к данным с помощью таких модулей, как хранимые процедуры и определяемые пользователем функции, позволяет создать для приложения дополнительный уровень защиты.Encapsulating data access through modules such as stored procedures and user-defined functions provides an additional layer of protection around your application. Чтобы исключить для пользователей возможность непосредственно взаимодействовать с объектами базы данных, можно предоставлять им разрешения только на хранимые процедуры или функции и отказывать в предоставлении разрешений на базовые объекты, такие как таблицы.You can prevent users from directly interacting with database objects by granting permissions only to stored procedures or functions while denying permissions to underlying objects such as tables. В СУБД SQL Server такая цель достигается путем формирования цепочек владения.SQL Server achieves this by ownership chaining.

Инструкции разрешенияPermission Statements

Три инструкции разрешения языка Transact-SQL описаны в следующей таблице.The three Transact-SQL permission statements are described in the following table.

Инструкция разрешенияPermission Statement ОписаниеDescription
GRANTGRANT Предоставляет разрешение.Grants a permission.
REVOKEREVOKE Отменяет разрешение.Revokes a permission. Это — состояние нового объекта, предусмотренное по умолчанию.This is the default state of a new object. Разрешение, в котором отказано пользователю или роли, все еще может быть унаследовано от других групп или ролей, в которые назначен участник.A permission revoked from a user or role can still be inherited from other groups or roles to which the principal is assigned.
DENYDENY Инструкция DENY отменяет разрешение так, что его нельзя больше унаследовать.DENY revokes a permission so that it cannot be inherited. Инструкция DENY имеет наивысший приоритет по сравнению со всеми инструкциями разрешения, однако действие инструкции DENY не распространяется на владельцев объектов или на членов роли sysadmin.DENY takes precedence over all permissions, except DENY does not apply to object owners or members of sysadmin. Если осуществляется отзыв разрешений с помощью инструкции DENY на какой-либо объект по отношению к роли public, то этот отзыв распространяется на всех пользователей и все роли, кроме владельцев объекта и членов роли sysadmin.If you DENY permissions on an object to the public role it is denied to all users and roles except for object owners and sysadmin members.
  • Инструкция GRANT позволяет назначать группе или роли разрешения, которые могут быть унаследованы пользователями базы данных.The GRANT statement can assign permissions to a group or role that can be inherited by database users. Но инструкция DENY имеет более высокий приоритет по сравнению со всеми другими инструкциями разрешения.However, the DENY statement takes precedence over all other permission statements. Поэтому пользователь, которому было отказано в разрешении, не сможет унаследовать его от другой роли.Therefore, a user who has been denied a permission cannot inherit it from another role.

Примечание

Членам предопределенной роли сервера sysadmin и владельцам объекта не может быть отказано в разрешениях.Members of the sysadmin fixed server role and object owners cannot be denied permissions.

Цепочки владенияOwnership Chains

SQL Server гарантирует, что только участники, которым были предоставлены разрешения, могут получить доступ к объектам.SQL Server ensures that only principals that have been granted permission can access objects. Если несколько объектов базы данных последовательно обращаются друг к другу, то такая последовательность известна как цепочка.When multiple database objects access each other, the sequence is known as a chain. В СУБД SQL Server при прохождении по ссылкам в цепочке владения проверка разрешений происходит иначе, чем при получении доступа отдельно к каждому объекту.When SQL Server is traversing the links in the chain, it evaluates permissions differently than it would if it were accessing each item separately. Если доступ к объекту осуществляется с помощью цепочки владения, то в SQL Server вначале сравнивается владелец объекта с владельцем вызывающего объекта (который представляет предыдущую ссылку в цепочке).When an object is accessed through a chain, SQL Server first compares the object's owner to the owner of the calling object (the previous link in the chain). Если оба объекта имеют одного владельца, то разрешения для объекта, указанного в ссылке, не проверяются.If both objects have the same owner, permissions on the referenced object are not checked. После обнаружения любой ситуации, в которой доступ к объекту осуществляется со стороны объекта, имеющего другого владельца, цепочка владения разрывается и в SQL Server должна быть выполнена проверка контекста безопасности вызывающего объекта.Whenever an object accesses another object that has a different owner, the ownership chain is broken and SQL Server must check the caller's security context.

Процедурный код и формирование цепочки владенияProcedural Code and Ownership Chaining

Предположим, что пользователю предоставлены права на выполнение хранимой процедуры, которая предназначена для выборки данных из таблицы.Suppose that a user is granted execute permissions on a stored procedure that selects data from a table. Если хранимая процедура и таблица имеют одного и того же владельца, то пользователю не требуется предоставлять какие-либо разрешения на таблицу и ему может быть даже отказано в таких разрешениях.If the stored procedure and the table have the same owner, the user doesn't need to be granted any permissions on the table and can even be denied permissions. Но если хранимая процедура и таблица имеют разных владельцев, то в СУБД SQL Server требуется проверить разрешения пользователя на таблицу, прежде чем предоставить доступ к данным.However, if the stored procedure and the table have different owners, SQL Server must check the user's permissions on the table before allowing access to the data.

Примечание

Формирование цепочки владения не применяется в случае выполнения динамических инструкций SQL.Ownership chaining does not apply in the case of dynamic SQL statements. Чтобы вызвать процедуру, в которой выполняется инструкция SQL, вызывающему объекту необходимо предоставить разрешения на базовые таблицы, в результате чего приложение становится уязвимым для атаки путем внедрения кода SQL.To call a procedure that executes an SQL statement, the caller must be granted permissions on the underlying tables, leaving your application vulnerable to SQL Injection attack. SQL Server предоставляет новые механизмы, такие как олицетворение и подписание модулей с помощью сертификатов, не требующие предоставления разрешений на базовые таблицы.SQL Server provides new mechanisms, such as impersonation and signing modules with certificates, that do not require granting permissions on the underlying tables. Эти механизмы могут также использоваться для работы с хранимыми процедурами среды CLR.These can also be used with CLR stored procedures.

Внешние ресурсыExternal Resources

Дополнительные сведения см. в следующих ресурсах.For more information, see the following resources.

РесурсResource ОписаниеDescription
РазрешенияPermissions Содержит разделы, описывающие иерархию разрешений, представления каталога и разрешения предопределенных ролей сервера и базы данных.Contains topics describing permissions hierarchy, catalog views, and permissions of fixed server and database roles.

См. такжеSee Also

Защита приложений ADO.NETSecuring ADO.NET ApplicationsСценарии безопасности приложений в SQL ServerApplication Security Scenarios in SQL ServerПроверка подлинности в SQL ServerAuthentication in SQL ServerРоли сервера и базы данных в SQL ServerServer and Database Roles in SQL ServerВладение и отделение пользователей от схем в SQL ServerOwnership and User-Schema Separation in SQL ServerЦентр разработчиков наборов данных и управляемых поставщиков ADO.NETADO.NET Managed Providers and DataSet Developer Center

docs.microsoft.com

Предоставление доступа к базе данных SQL Azure

  • 04/01/2018
  • Время чтения: 9 мин
  • Соавторы

В этой статье

Чтобы обеспечить безопасность, база данных SQL управляет доступом с помощью правил брандмауэра, ограничивающих подключение по IP-адресу, механизмов проверки подлинности, требующих удостоверений пользователей, и методов авторизации, ограничивающих действия и данные для пользователей.To provide security, SQL Database controls access with firewall rules limiting connectivity by IP address, authentication mechanisms requiring users to prove their identity, and authorization mechanisms limiting users to specific actions and data.

Брандмауэр и правила брандмауэраFirewall and firewall rules

База данных SQL Microsoft Azure предоставляет службу реляционных баз данных для Azure и других интернет-приложений.Microsoft Azure SQL Database provides a relational database service for Azure and other Internet-based applications. Чтобы защитить ваши данные, брандмауэр запрещает любой доступ к серверу базы данных, пока вы не укажете компьютеры, у которых есть разрешение на доступ.To help protect your data, firewalls prevent all access to your database server until you specify which computers have permission. Брандмауэр предоставляет доступ к базам данным на основе исходного IP-адреса каждого запроса.The firewall grants access to databases based on the originating IP address of each request. Дополнительные сведения см. в статье Обзор правил брандмауэра базы данных SQL Azure.For more information, see Overview of Azure SQL Database firewall rules

Служба Базы данных SQL Microsoft Azure доступна только на TCP-порте 1433.The Azure SQL Database service is only available through TCP port 1433. Для получения доступа к базе данных Azure со своего компьютера убедитесь, что брандмауэр клиентского компьютера пропускает исходящие подключения по протоколу TCP через порт 1433.To access a SQL Database from your computer, ensure that your client computer firewall allows outgoing TCP communication on TCP port 1433. Заблокируйте входящие подключения по протоколу TCP через порт 1433, если они не требуются для других приложений.If not needed for other applications, block inbound connections on TCP port 1433.

В рамках процесса подключения все подключения от виртуальных машин Azure будут перенаправлены на другой IP-адрес и порт, уникальный для каждой рабочей роли.As part of the connection process, connections from Azure virtual machines are redirected to a different IP address and port, unique for each worker role. Номер порта находится в диапазоне от 11000 до 11999.The port number is in the range from 11000 to 11999. Дополнительные сведения о TCP-портах см. в статье Порты для ADO.NET 4.5, отличные от порта 1433.For more information about TCP ports, see Ports beyond 1433 for ADO.NET 4.5 and SQL Database2.

AuthenticationAuthentication

База данных SQL поддерживает два типа аутентификации:SQL Database supports two types of authentication:

  • Проверка подлинности SQL с использованием имени пользователя и пароля.SQL Authentication, which uses a username and password. При создании логического сервера для базы данных вы указали имя для входа "Администратор сервера" и пароль.When you created the logical server for your database, you specified a "server admin" login with a username and password. Используя эти учетные данные, можно выполнить проверку подлинности для любой базы данных на этом сервере в качестве владельца базы данных (или "dbo").Using these credentials, you can authenticate to any database on that server as the database owner, or "dbo."
  • Проверка подлинности Azure Active Directory с использованием удостоверений, контролируемых Azure Active Directory, которая поддерживается управляемыми и интегрированными доменами.Azure Active Directory Authentication, which uses identities managed by Azure Active Directory and is supported for managed and integrated domains. По возможности используйте проверку подлинности Active Directory (встроенная безопасность).Use Active Directory authentication (integrated security) whenever possible. Если вы хотите использовать аутентификацию Azure Active Directory, необходимо создать другого администратора сервера с именем Azure AD admin, которому разрешено администрировать пользователей и группы Azure AD.If you want to use Azure Active Directory Authentication, you must create another server admin called the "Azure AD admin," which is allowed to administer Azure AD users and groups. Этот администратор также может выполнять все операции, доступные обычному администратору.This admin can also perform all operations that a regular server admin can. В разделе Подключение к базе данных SQL с использованием проверки подлинности Azure Active Directory содержится пошаговое руководство по созданию администратора Azure AD для включения аутентификации Azure Active Directory.See Connecting to SQL Database By Using Azure Active Directory Authentication for a walkthrough of how to create an Azure AD admin to enable Azure Active Directory Authentication.

Ядро СУБД закрывает подключения, которые оставались неактивными более 30 минут.The Database Engine closes connections that remain idle for more than 30 minutes. Перед использованием подключения необходимо выполнить вход повторно.The connection must login again before it can be used. Для постоянных активных подключений к базе данных SQL требуется повторная авторизация (выполняется ядром СУБД) по крайней мере каждые 10 часов.Continuously active connections to SQL Database require reauthorization (performed by the database engine) at least every 10 hours. Ядро СУБД пытается пройти повторную авторизацию с помощью изначально предоставленного пароля и не требует выполнения каких-либо действий со стороны пользователя.The database engine attempts reauthorization using the originally submitted password and no user input is required. Для повышения производительности после сброса пароля в Базе данных SQL повторная аутентификация подключения не выполняется, даже если это подключение сброшено из-за пула подключений.Для повышения производительности после сброса пароля в Базе данных SQL повторная аутентификация подключения не выполняется, даже если это подключение сброшено из-за пула подключений.For performance reasons, when a password is reset in SQL Database, the connection is not reauthenticated, even if the connection is reset due to connection pooling. В этом состоит отличие от поведения локального экземпляра SQL Server.This is different from the behavior of on-premises SQL Server. Если со времени первой авторизации подключения пароль был изменен, произойдет разрыв подключения, а новое подключение будет установлено с использованием нового пароля.If the password has been changed since the connection was initially authorized, the connection must be terminated and a new connection made using the new password. Пользователь с разрешением KILL DATABASE CONNECTION может явно разорвать подключение к базе данных SQL с помощью команды KILL.A user with the KILL DATABASE CONNECTION permission can explicitly terminate a connection to SQL Database by using the KILL command.

Учетные записи пользователей можно создать в базе данных master (и предоставить им разрешения во всех базах данных на сервере) или в самой базе данных (так называемые автономные пользователи).User accounts can be created in the master database and can be granted permissions in all databases on the server, or they can be created in the database itself (called contained users). Сведения о создании имен для входа и управлении ими см. в этой статье.For information on creating and managing logins, see Manage logins. Для улучшения переносимости и масштабируемости используйте автономные базы данных.Use contained databases to enhance portability and scalability. Дополнительные сведения об автономных пользователях см. в статьях Пользователи автономной базы данных — создание переносимой базы данных, CREATE USER (Transact-SQL) и Автономные базы данных.For more information on contained users, see Contained Database Users - Making Your Database Portable, CREATE USER (Transact-SQL), and Contained Databases.

Но рекомендуется, чтобы приложение использовало отдельную учетную запись для проверки подлинности. Это позволит ограничить разрешения, предоставляемые приложению, и снизить риски вредоносных действий в случае, если оно уязвимо для атак путем внедрения кода SQL.As a best practice your application should use a dedicated account to authenticate -- this way you can limit the permissions granted to the application and reduce the risks of malicious activity in case your application code is vulnerable to a SQL injection attack. В этом случае мы рекомендуем создать пользователя автономной базы данных, что позволяет приложению выполнять проверку подлинности непосредственно в базе данных.The recommended approach is to create a contained database user, which allows your app to authenticate directly to the database.

АвторизацияAuthorization

Авторизация подразумевает набор действий, которые пользователь может выполнять в базе данных SQL Azure. Такой набор действий определяется принадлежностью к ролям базы данных учетной записи пользователя и разрешениями на уровне объектов.Authorization refers to what a user can do within an Azure SQL Database, and this is controlled by your user account's database role memberships and object-level permissions. Обычно пользователям рекомендуется предоставлять наименьшие необходимые привилегии.As a best practice, you should grant users the least privileges necessary. Учетной записи администратора сервера, которая используется для подключения, присвоена роль db_owner, обладатель которой может выполнять любые действия в базе данных.The server admin account you are connecting with is a member of db_owner, which has authority to do anything within the database. Сохраните эту учетную запись для развертывания обновлений схемы и выполнения других действий по управлению.Save this account for deploying schema upgrades and other management operations. Для подключения к базе данных из приложения с использованием наименьших привилегий, необходимых приложению, используйте учетную запись "ApplicationUser" с более ограниченными разрешениями.Use the "ApplicationUser" account with more limited permissions to connect from your application to the database with the least privileges needed by your application. Дополнительные сведения см. в статье Проверка подлинности и авторизация в базе данных SQL: предоставление доступа.For more information, see Manage logins.

Как правило, доступ к базе данных master нужен только администраторам.Typically, only administrators need access to the master database. Постоянный доступ к каждой пользовательской базе данных должен обеспечиваться через пользователей автономной базы данных, созданных в каждой базе данных и не являющихся администраторами.Routine access to each user database should be through non-administrator contained database users created in each database. В этом случае создавать имена входа в базе данных master не требуется.When you use contained database users, you do not need to create logins in the master database. Дополнительные сведения см. в статье Пользователи автономной базы данных — создание переносимой базы данных.For more information, see Contained Database Users - Making Your Database Portable.

Ознакомьтесь со следующими возможностями, которые можно использовать, чтобы ограничить или расширить права:You should familiarize yourself with the following features that can be used to limit or elevate permissions:

Дополнительная информацияNext steps

docs.microsoft.com

Аутентификация в SQL Server | Microsoft Docs

  • 05/22/2018
  • Время чтения: 6 мин
  • Соавторы

В этой статье

SQL Server поддерживает два режима проверки подлинности: режим проверки подлинности Windows и режим смешанной проверки подлинности.SQL Server supports two authentication modes, Windows authentication mode and mixed mode.

  • Режим проверки подлинности Windows является режимом по умолчанию. Поскольку эта модель безопасности SQL Server тесно интегрирована с Windows, зачастую ее называют встроенной функцией безопасности.Windows authentication is the default, and is often referred to as integrated security because this SQL Server security model is tightly integrated with Windows. Определенным учетным записям пользователей и групп Windows разрешается входить в SQL Server.Specific Windows user and group accounts are trusted to log in to SQL Server. Пользователи Windows, прошедшие проверку подлинности, не должны предъявлять дополнительные учетные данные.Windows users who have already been authenticated do not have to present additional credentials.

  • Режим смешанной проверки подлинности поддерживает проверку подлинности как средствами Windows, так и SQL Server.Mixed mode supports authentication both by Windows and by SQL Server. Пары имен пользователей и паролей ведутся в SQL Server.User name and password pairs are maintained within SQL Server.

Важно!

Рекомендуется по возможности использовать проверку подлинности Windows.We recommend using Windows authentication wherever possible. При проверке подлинности Windows используется ряд зашифрованных сообщений для проверки подлинности пользователей в SQL Server.Windows authentication uses a series of encrypted messages to authenticate users in SQL Server. При использовании имен входа SQL Server, имена входа SQL Server и зашифрованные пароли передаются по сети, что делает их менее защищенными.When SQL Server logins are used, SQL Server login names and encrypted passwords are passed across the network, which makes them less secure.

При использовании проверки подлинности Windows пользователи уже вошли в Windows, и им не нужно отдельно входить еще и в SQL Server.With Windows authentication, users are already logged onto Windows and do not have to log on separately to SQL Server. Следующая строка подключения SqlConnection.ConnectionString задает проверку подлинности Windows, не требуя имени пользователя или пароля.The following SqlConnection.ConnectionString specifies Windows authentication without requiring the a user name or password.

"Server=MSSQL1;Database=AdventureWorks;Integrated Security=true;

Примечание

Имена входа отличаются от пользователей базы данных.Logins are distinct from database users. Имена входа или группы Windows необходимо сопоставлять с пользователями базы данных или ролями при помощи отдельной операции.You must map logins or Windows groups to database users or roles in a separate operation. После этого пользователям или ролям предоставляются разрешения на доступ к объектам базы данных.You then grant permissions to users or roles to access database objects.

Сценарии проверки подлинностиAuthentication Scenarios

Обычно проверка подлинности Windows является наилучшим вариантом в следующих ситуациях.Windows authentication is usually the best choice in the following situations:

  • Имеется контроллер домена.There is a domain controller.

  • Приложение и база данных находятся на одном компьютере.The application and the database are on the same computer.

  • При использовании экземпляра SQL Server Express или LocalDB.You are using an instance of SQL Server Express or LocalDB.

Имена входа SQL Server часто используются в следующих ситуациях.SQL Server logins are often used in the following situations:

  • При наличии рабочей группы.If you have a workgroup.

  • Пользователи подключаются из разных, не доверенных доменов.Users connect from different, non-trusted domains.

  • Интернет-приложения, например ASP.NETASP.NET.Internet applications, such as ASP.NETASP.NET.

Примечание

При использовании проверки подлинности Windows имена входа SQL Server не отключаются.Specifying Windows authentication does not disable SQL Server logins. Используйте инструкцию ALTER LOGIN DISABLE Transact-SQLTransact-SQL инструкцию, чтобы отключить имена входа SQL Server с более высоким приоритетом.Use the ALTER LOGIN DISABLE Transact-SQLTransact-SQL statement to disable highly-privileged SQL Server logins.

Типы имен входаLogin Types

SQL Server поддерживает три типа имен входа:SQL Server supports three types of logins:

  • Учетная запись локального пользователя Windows или учетная запись доверенного домена.A local Windows user account or trusted domain account. SQL Server доверяет проверку подлинности учетных записей пользователей Windows самой системе Windows.SQL Server relies on Windows to authenticate the Windows user accounts.

  • Группа пользователей Windows.Windows group. В случае предоставления доступа группе пользователей Windows право доступа получают все имена пользователей, входящие в эту группу.Granting access to a Windows group grants access to all Windows user logins that are members of the group.

  • Имя входа SQL Server.SQL Server login. SQL Server хранит в базе данных master имя пользователя и хэш пароля путем использования внутренних методов проверки подлинности при попытке входа в базу данных.SQL Server stores both the username and a hash of the password in the master database, by using internal authentication methods to verify login attempts.

Примечание

SQL Server предоставляет имена входа, созданные из сертификатов или асимметричных ключей, которые используются только для подписи кода.SQL Server provides logins created from certificates or asymmetric keys that are used only for code signing. Они не могут использоваться для подключения к SQL Server.They cannot be used to connect to SQL Server.

Режим смешанной проверки подлинностиMixed Mode Authentication

При необходимости использовать режим смешанной проверки подлинности следует создать имена входа SQL Server, которые хранятся в SQL Server.If you must use mixed mode authentication, you must create SQL Server logins, which are stored in SQL Server. Затем имя пользователя и пароль SQL Server нужно будет вводить во время выполнения.You then have to supply the SQL Server user name and password at run time.

Важно!

SQL Server устанавливается с именем входа SQL Server sa (сокращение от «system administrator»).SQL Server installs with a SQL Server login named sa (an abbreviation of "system administrator"). Назначьте имени входа sa надежный пароль и не используйте имя входа sa в приложениях.Assign a strong password to the sa login and do not use the sa login in your application. Имя входа sa сопоставляется предопределенной роли сервера sysadmin, которая имеет безотзывные административные учетные данные для всего сервера.The sa login maps to the sysadmin fixed server role, which has irrevocable administrative credentials on the whole server. Если организатор атаки получит доступ с учетными данными системного администратора, потенциальный ущерб системе может быть огромным.There are no limits to the potential damage if an attacker gains access as a system administrator. Все члены группы Windows BUILTIN\Administrators (группы локального администратора) по умолчанию являются членами роли sysadmin, но их можно удалить из этой роли.All members of the Windows BUILTIN\Administrators group (the local administrator's group) are members of the sysadmin role by default, but can be removed from that role.

SQL Server обеспечивает механизмы политики паролей Windows для имен входа SQL Server, если он работает под управлением Windows Server 2003Windows Server 2003 или более поздней версии.SQL Server provides Windows password policy mechanisms for SQL Server logins when it is running on Windows Server 2003Windows Server 2003 or later versions. Политика сложности паролей позволяет отражать атаки с использованием простого перебора путем увеличения числа возможных паролей.Password complexity policies are designed to deter brute force attacks by increasing the number of possible passwords. SQL Server можно применять же политики сложности и истечения срока действия, используемые в Windows Server 2003Windows Server 2003 к паролям, используемым в SQL Server.SQL Server can apply the same complexity and expiration policies used in Windows Server 2003Windows Server 2003 to passwords used inside SQL Server.

Важно!

Объединение строк соединения из ввода пользователя может привести к уязвимости к атакам внедрения данных в строку соединения.Concatenating connection strings from user input can leave you vulnerable to a connection string injection attack. Чтобы создавать синтаксически допустимые строки соединения во время выполнения, используйте SqlConnectionStringBuilder.Use the SqlConnectionStringBuilder to create syntactically valid connection strings at run time. Дополнительные сведения см. в статье Connection String Builders (Построители строк подключения).For more information, see Connection String Builders.

Внешние ресурсыExternal Resources

Дополнительные сведения см. в следующих ресурсах.For more information, see the following resources.

РесурсResource ОписаниеDescription
СубъектыPrincipals Описывает имена входа и другие субъекты безопасности в SQL Server.Describes logins and other security principals in SQL Server.

См. такжеSee Also

Защита приложений ADO.NETSecuring ADO.NET ApplicationsСценарии безопасности приложений в SQL ServerApplication Security Scenarios in SQL ServerПодключение к источнику данныхConnecting to a Data SourceСтроки подключенияConnection StringsЦентр разработчиков наборов данных и управляемых поставщиков ADO.NETADO.NET Managed Providers and DataSet Developer Center

docs.microsoft.com

Логические серверы SQL Azure | Microsoft Docs

  • 09/07/2018
  • Время чтения: 20 мин
  • Соавторы

В этой статье

Что такое логический сервер SQL Azure?What is an Azure SQL logical server?

Логический сервер выступает в качестве центра администрирования нескольких отдельных баз данных или баз данных в составе пула, имен для входа, правил брандмауэра, правил аудита, политик обнаружения угроз и групп отработки отказа.A logical server acts as a central administrative point for multiple single or pooled databases, logins, firewall rules, auditing rules, threat detection policies, and failover groups. Логический сервер может находиться в регионе, отличном от региона своей группы ресурсов.A logical server can be in a different region than its resource group. Логический сервер должен существовать еще до создания базы данных SQL Azure.The logical server must exist before you can create the Azure SQL database. Все базы данных на сервере создаются в том же регионе, что логический сервер.All databases on a server are created within the same region as the logical server.

Логический сервер — это логическая конструкция, отличная от экземпляра SQL Server, с которым вы могли работать в локальной среде.A logical server is a logical construct that is distinct from a SQL Server instance that you may be familiar with in the on-premises world. В частности, служба базы данных SQL не дает никаких гарантий, связанных с расположением баз данных относительно логических серверов, а также не предоставляет доступ или возможности на уровне экземпляра.Specifically, the SQL Database service makes no guarantees regarding location of the databases in relation to their logical servers, and exposes no instance-level access or features. А сервер в службе "Управляемый экземпляр Базы данных SQL" аналогичен экземпляру SQL Server, с которым вы могли работать в локальной среде.In contrast, a server in a SQL Database Managed Instance is similar to a SQL Server instance that you may be familiar with in the on-premises world.

При создании логического сервера следует указать учетные данные входа на сервер, имеющие права администратора для базы данных master на этом сервере и всех баз данных, созданных на этом сервере.When you create a logical server, you provide a server login account and password that has administrative rights to the master database on that server and all databases created on that server. Эта начальная учетная запись является учетной записью входа SQL.This initial account is a SQL login account. База данных SQL Azure поддерживает аутентификацию SQL и аутентификацию Azure Active Directory.Azure SQL Database supports SQL authentication and Azure Active Directory Authentication for authentication. Дополнительную информацию об именах для входа и аутентификации можно найти в разделе Предоставление доступа к базе данных и управление им.For information about logins and authentication, see Managing Databases and Logins in Azure SQL Database. Проверка подлинности Windows не поддерживается.Windows Authentication is not supported.

Характеристики логического сервера базы данных SQL AzureAn Azure Database logical server:

  • Создается в рамках подписки Azure, но сам логический сервер и все его ресурсы можно переместить в другую подписку.Is created within an Azure subscription, but can be moved with its contained resources to another subscription
  • Выступает в качестве родительского ресурса для баз данных, эластичных пулов и хранилищ данных.Is the parent resource for databases, elastic pools, and data warehouses
  • Предоставляет пространство имен для баз данных, эластичных пулов и хранилищ данных.Provides a namespace for databases, elastic pools, and data warehouses
  • Представляет собой логический контейнер со строгой семантикой времени существования (при удалении сервера удаляются также все расположенные на нем базы данных, эластичные пулы и хранилища данных).Is a logical container with strong lifetime semantics - delete a server and it deletes the contained databases, elastic pools, and data warehouses
  • Участвует в управлении доступом на основе ролей Azure (базы данных, эластичные пулы и хранилища данных, содержащиеся на сервере, наследуют его права доступа).Participates in Azure role-based access control (RBAC) - databases, elastic pools, and data warehouses within a server inherit access rights from the server
  • Выступает в качестве элемента высокого приоритета при идентификации баз данных, эластичных пулов и хранилищ данных для управления ресурсами Azure (см. схему URL-адресов для баз данных и пулов).Is a high-order element of the identity of databases, elastic pools, and data warehouses for Azure resource management purposes (see the URL scheme for databases and pools)
  • Выравнивает ресурсы в регионе.Collocates resources in a region
  • Предоставляет конечную точку подключения к базе данных (.database.windows.net).Provides a connection endpoint for database access (.database.windows.net)
  • Предоставляет доступ к метаданным ресурсов через динамические административные представления путем подключения к базе данных master.Provides access to metadata regarding contained resources via DMVs by connecting to a master database
  • Обеспечивает область для политик управления, применяемых к базам данных: имена для входа, брандмауэр, аудит, обнаружение угроз и т. д.Provides the scope for management policies that apply to its databases - logins, firewall, audit, threat detection, etc.
  • Ограничен квотой в рамках родительской подписки (по умолчанию шесть серверов на подписку). Ограничения подписки см. здесь.Is restricted by a quota within the parent subscription (six servers per subscription by default - see Subscription limits here)
  • Обеспечивает область для квоты базы данных и квоты DTU или виртуальных ядер для ресурсов, содержащихся на нем (например, 45 000 DTU).Provides the scope for database quota and DTU or vCore quota for the resources it contains (such as 45,000 DTU)
  • Выступает в качестве области управления версиями для компонентов, включенных для его ресурсов.Is the versioning scope for capabilities enabled on contained resources
  • За счет возможностей входа в систему с использованием субъекта серверного уровня может управлять всеми базами данных на сервере.Server-level principal logins can manage all databases on a server
  • Может содержать имена входов, подобные именам входов экземпляров SQL Server в локальной среде с доступом к одной или нескольким базам данных на сервере. Можно предоставлять ограниченные права администратора.Can contain logins similar to those in instances of SQL Server on your premises that are granted access to one or more databases on the server, and can be granted limited administrative rights. Дополнительные сведения см. в статье Проверка подлинности и авторизация в базе данных SQL: предоставление доступа.For more information, see Logins.
  • Параметры сортировки по умолчанию для всех пользовательских баз данных, созданных на логическом сервере, имеют значение SQL_LATIN1_GENERAL_CP1_CI_AS, где LATIN1_GENERAL означает английский язык (США) CP1 — кодовую страницу 1252, CI означает, что учитывается регистр, а AS — что учитываются диакритические знаки.The default collation for all user databases created on a logical server is SQL_LATIN1_GENERAL_CP1_CI_AS, where LATIN1_GENERAL is English (United States), CP1 is code page 1252, CI is case-insensitive, and AS is accent-sensitive.

Управление серверами SQL Azure, базами данных и брандмауэрами с помощью портала AzureManage Azure SQL servers, databases, and firewalls using the Azure portal

Группу ресурсов базы данных SQL Azure можно создать заблаговременно или при создании самого сервера.You can create the Azure SQL database's resource group ahead of time or while creating the server itself. Существует несколько методов перехода к форме создания сервера SQL Server. Можно создать сервер SQL Server отдельно или при создании базы данных.There are multiple methods for getting to a new SQL server form, either by creating a new SQL server or as part of creating a new database.

Создание пустого сервера SQL Server (логического сервера)Create a blank SQL server (logical server)

Чтобы создать сервер базы данных SQL Azure (без базы данных) с помощью портала Azure, перейдите к пустой форме "SQL Server (логический сервер)".To create an Azure SQL Database server (without a database) using the Azure portal, navigate to a blank SQL server (logical server) form.

Создание пустой базы данных SQL или примера базы данных SQLCreate a blank or sample SQL database

Чтобы создать базу данных SQL Azure с помощью портала Azure, перейдите к пустой форме "База данных SQL" и введите необходимую информацию.To create an Azure SQL database using the Azure portal, navigate to a blank SQL Database form and provide the requested information. Группу ресурсов базы данных SQL Azure и логический сервер можно создать заблаговременно или при создании самой базы данных.You can create the Azure SQL database's resource group and logical server ahead of time or while creating the database itself. Можно создать пустую базу данных или пример базы данных на основе Adventure Works LT.You can create a blank database or create a sample database based on Adventure Works LT.

Сведения о создании управляемого экземпляра см. в статье Создание управляемого экземпляра.To create a Managed Instance, see Create a Managed Instance

Управление существующим сервером SQL ServerManage an existing SQL server

Для управления существующим сервером перейдите к нему, воспользовавшись одним из множества способов. Например, это можно сделать со страницы определенной базы данных SQL, страницы Серверы SQL Server или страницы Все ресурсы.To manage an existing server, navigate to the server using a number of methods - such as from specific SQL database page, the SQL servers page, or the All resources page.

Для управления существующей базой данных перейдите на страницу Базы данных SQL и щелкните нужную базу данных.To manage an existing database, navigate to the SQL databases page and click the database you wish to manage. На следующем снимке экрана показано, как можно начать настройку брандмауэра уровня сервера для базы данных на странице Обзор для базы данных.The following screenshot shows how to begin setting a server-level firewall for a database from the Overview page for a database.

Управление серверами SQL Azure, базами данных и брандмауэрами с помощью PowerShellManage Azure SQL servers, databases, and firewalls using PowerShell

Для создания сервера Azure SQL, баз данных и брандмауэров и управления ими с помощью Azure PowerShell используйте приведенные ниже командлеты PowerShell.To create and manage Azure SQL server, databases, and firewalls with Azure PowerShell, use the following PowerShell cmdlets. Если вам нужно выполнить установку или обновление PowerShell, см. статью об установке модуля Azure PowerShell.If you need to install or upgrade PowerShell, see Install Azure PowerShell module. Изучите дополнительные сведения о создании эластичных пулов и управлении ими.For creating and managing elastic pools, see Elastic pools.

Управление серверами SQL Azure, базами данных и брандмауэрами с помощью Azure CLIManage Azure SQL servers, databases, and firewalls using the Azure CLI

Для создания сервера Azure SQL, баз данных и брандмауэров и управления ими с помощью Azure CLI используйте приведенные ниже команды Azure CLI для Базы данных SQL.To create and manage Azure SQL server, databases, and firewalls with the Azure CLI, use the following Azure CLI SQL Database commands. Запускайте интерфейс командной строки в браузере с помощью Cloud Shell либо установите его на платформе macOS, Linux или Windows.Use the Cloud Shell to run the CLI in your browser, or install it on macOS, Linux, or Windows. Изучите дополнительные сведения о создании эластичных пулов и управлении ими.For creating and managing elastic pools, see Elastic pools.

Управление серверами SQL Azure, базами данных и брандмауэрами с помощью Transact-SQLManage Azure SQL servers, databases, and firewalls using Transact-SQL

Для создания сервера Azure SQL, баз данных и брандмауэров и управления ими с помощью Transact-SQL используйте приведенные ниже команды T-SQL.To create and manage Azure SQL server, databases, and firewalls with Transact-SQL, use the following T-SQL commands. Можно выполнить эти команды на портале Azure, в SQL Server Management Studio, Visual Studio Code или любой другой программе, которая может подключаться к серверу базы данных SQL Azure и передавать команды Transact-SQL.You can issue these commands using the Azure portal, SQL Server Management Studio, Visual Studio Code, or any other program that can connect to an Azure SQL Database server and pass Transact-SQL commands. Ознакомьтесь с дополнительными сведениями об управлении эластичными пулами.For managing elastic pools, see Elastic pools.

Важно!

С помощью Transact-SQL невозможно создать или удалить сервер.You cannot create or delete a server using Transact-SQL.

Get-HelpCommand ОПИСАНИЕDescription
CREATE DATABASE (база данных SQL Azure)CREATE DATABASE (Azure SQL Database) Создает базу данных.Creates a new database. Для создания базы данных требуется подключение к базе данных master.You must be connected to the master database to create a new database.
ALTER DATABASE (база данных SQL Azure)ALTER DATABASE (Azure SQL Database) Изменяет базу данных SQL Azure.Modifies an Azure SQL database.
ALTER DATABASE (хранилище данных SQL Azure)ALTER DATABASE (Azure SQL Data Warehouse) Изменяет хранилище данных SQL Azure.Modifies an Azure SQL Data Warehouse.
DROP DATABASE (Transact-SQL)DROP DATABASE (Transact-SQL) Удаляет базу данных.Deletes a database.
sys.database_service_objectives (база данных SQL Azure)sys.database_service_objectives (Azure SQL Database) Возвращает сведения о выпуске (уровень служб), целевой службе (ценовую категорию), а также имя эластичного пула (при наличии) для базы данных SQL Azure или хранилища данных SQL Azure.Returns the edition (service tier), service objective (pricing tier), and elastic pool name, if any, for an Azure SQL database or an Azure SQL Data Warehouse. В системе базы данных master на сервере базы данных SQL Azure возвращает сведения обо всех базах данных.If logged on to the master database in an Azure SQL Database server, returns information on all databases. Для использования хранилища данных SQL Azure необходимо подключиться к базе данных master.For Azure SQL Data Warehouse, you must be connected to the master database.
sys.dm_db_resource_stats (база данных SQL Azure)sys.dm_db_resource_stats (Azure SQL Database) Возвращает сведения об использовании ЦП, операциях ввода-вывода и потреблении памяти для базы данных в службе "База данных SQL Azure".Returns CPU, IO, and memory consumption for an Azure SQL Database database. Новая строка создается каждые 15 секунд, даже если в базе данных не выполняется никаких действий.One row exists for every 15 seconds, even if there is no activity in the database.
sys.resource_stats (база данных SQL Azure)sys.resource_stats (Azure SQL Database) Возвращает сведения об использовании ЦП и хранилища для базы данных SQL Azure.Returns CPU usage and storage data for an Azure SQL Database. Данные собираются и объединяются за пятиминутные интервалы.The data is collected and aggregated within five-minute intervals.
sys.database_connection_stats (база данных SQL Azure)sys.database_connection_stats (Azure SQL Database) Содержит статистику о событиях подключения к базе данных в базе данных SQL, предоставляя общие сведения об успешных и неудачных попытках подключения.Contains statistics for SQL Database database connectivity events, providing an overview of database connection successes and failures.
sys.event_log (база данных SQL Azure)sys.event_log (Azure SQL Database) Возвращает сведения об успешных подключениях к базе данных в базе данных SQL Azure, а также о сбоях подключения и взаимоблокировках.Returns successful Azure SQL Database database connections, connection failures, and deadlocks. С помощью этой информации можно отслеживать действия с базой данных в базе данных SQL или устранять возникшие неполадки.You can use this information to track or troubleshoot your database activity with SQL Database.
sp_set_firewall_rule (база данных SQL Azure)sp_set_firewall_rule (Azure SQL Database) Создает или обновляет параметры брандмауэра уровня сервера для сервера базы данных SQL.Creates or updates the server-level firewall settings for your SQL Database server. Эта хранимая процедура доступна только в базе данных master для имени для входа субъекта серверного уровня.This stored procedure is only available in the master database to the server-level principal login. Правило брандмауэра уровня сервера можно будет создать с помощью Transact-SQL только после того, как пользователь, имеющий разрешения уровня Azure, создаст первое правило брандмауэра уровня сервера.A server-level firewall rule can only be created using Transact-SQL after the first server-level firewall rule has been created by a user with Azure-level permissions
sys.firewall_rules (база данных SQL Azure)sys.firewall_rules (Azure SQL Database) Возвращает сведения о параметрах брандмауэра уровня сервера, связанных с базой данных SQL Microsoft Azure.Returns information about the server-level firewall settings associated with your Microsoft Azure SQL Database.
sp_delete_firewall_rule (база данных SQL Azure)sp_delete_firewall_rule (Azure SQL Database) Удаляет параметры брандмауэра уровня сервера с сервера базы данных SQL.Removes server-level firewall settings from your SQL Database server. Эта хранимая процедура доступна только в базе данных master для имени для входа субъекта серверного уровня.This stored procedure is only available in the master database to the server-level principal login.
sp_set_database_firewall_rule (база данных SQL Azure)sp_set_database_firewall_rule (Azure SQL Database) Создает или обновляет правила брандмауэра уровня базы данных для базы данных SQL Azure или хранилища данных SQL.Creates or updates the database-level firewall rules for your Azure SQL Database or SQL Data Warehouse. Можно настроить правила брандмауэра базы данных для базы данных master и пользовательских баз данных в Базе данных SQL.Database firewall rules can be configured for the master database, and for user databases on SQL Database. Правила брандмауэра базы данных полезны в тех случаях, когда применяются пользователи автономной базы данных.Database firewall rules are useful when using contained database users.
sys.database_firewall_rules (база данных SQL Azure)sys.database_firewall_rules (Azure SQL Database) Возвращает сведения о параметрах брандмауэра уровня базы данных, связанных с базой данных SQL Microsoft Azure.Returns information about the database-level firewall settings associated with your Microsoft Azure SQL Database.
sp_delete_database_firewall_rule (база данных SQL Azure)sp_delete_database_firewall_rule (Azure SQL Database) Удаляет параметр брандмауэра уровня базы данных из базы данных SQL Azure или хранилища данных SQL.Removes database-level firewall setting from your Azure SQL Database or SQL Data Warehouse.

Управление серверами SQL Azure, базами данных и брандмауэрами с помощью REST APIManage Azure SQL servers, databases, and firewalls using the REST API

Для создания сервера Azure SQL Server, баз данных и брандмауэров и управления используются приведенные ниже запросы REST API.To create and manage Azure SQL server, databases, and firewalls, use these REST API requests.

Дополнительная информацияNext steps

docs.microsoft.com

Создание имени входа

 

ПРИМЕНЯЕТСЯ К: SQL Server (начиная с 2008) База данных SQL Azure Хранилище данных SQL Azure Parallel Data Warehouse

В этой статье описано, как создать имя входа в SQL Server 2016 или База данных SQL с помощью среды SQL Server Management Studio или Transact-SQL. Имя входа представляет собой идентификатор пользователя или процесса, выполняющего соединение с экземпляром SQL Server.

Имя входа — это субъект безопасности, с помощью которого система безопасности может проверить подлинность лица или сущности. Имя входа необходимо пользователю для соединения с SQL Server. Вы можете создать имя входа на основе участника Windows (например, пользователя или группы домена Windows), либо на основе пользователя, не являющегося участником Windows (например, имени входа SQL Server).

ПРИМЕЧАНИЕ. Для использования проверки подлинности SQL Server компонент Компонент Database Engine должен использовать режим смешанной проверки подлинности. Дополнительные сведения см. в разделе Выбор режима проверки подлинности.

Как субъекты безопасности, разрешения могут быть предоставлены именам входов. Областью имени входа является весь компонент Компонент Database Engine. Для подключения к определенной базе данных на экземпляре SQL Serverимя входа должно быть сопоставлено с пользователем базы данных. Разрешения внутри базы данных предоставляются и запрещаются для пользователя базы данных, а не имени входа. Разрешения, областью которых является весь экземпляр SQL Server (например разрешение CREATE ENDPOINT), могут предоставляться именам входов.

ПРИМЕЧАНИЕ. При подключении к SQL Server по имени входа идентификатор проверяется в базе данных master. Используйте пользователей автономной базы данных для проверки подлинности подключений SQL Serverr и База данных SQL на уровне базы данных. При использовании пользователей автономной базы данных имя для входа не требуется. Автономная база данных — это база данных, изолированная от других баз данных и от экземпляра SQL Server/База данных SQL (и базы данных master), на котором размещена эта база данных. SQL Server поддерживает пользователей автономной базы данных для проверки подлинности Windows и SQL Server . При использовании База данных SQL объединяйте пользователей автономной базы данных с правилами брандмауэра уровня базы данных. Дополнительные сведения см. в разделе Пользователи автономной базы данных — создание переносимой базы данных.

SQL Server Требуется наличие разрешения ALTER ANY LOGIN или ALTER LOGIN на сервере.

База данных SQL Требуется членство в роли loginmanager.

  1. В обозревателе объектов раскройте папку экземпляра сервера, в котором необходимо создать имя входа.

  2. Правой кнопкой мыши щелкните папку Безопасность и выберите пункт Создать, а затем — Имя входа.

  3. В диалоговом окне Имя входа — создание на странице Общие введите имя пользователя в поле Имя входа пользователя . Либо нажмите кнопку Поиск... , чтобы открыть диалоговое окно Выбор пользователя или группы .

    Если нажата кнопка Поиск...

    1. В разделе Выбрать тип объектащелкните Типы объектов… чтобы открыть диалоговое окно Типы объектов, и выберите любой или все следующие варианты: Встроенные субъекты безопасности, Группы и Пользователи. Встроенные субъекты безопасности и Пользователи выбираются по умолчанию. После завершения нажмите кнопку ОК.

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

    3. В диалоговом окне Введите имена объектов для выбора (примеры) введите пользователя или имя группы, которые необходимо найти. Дополнительные сведения см. в статье Диалоговое окно выбора пользователей, компьютеров или групп.

    4. Нажмите кнопку Дополнительно для дополнительных параметров поиска. Дополнительные сведения см. в статье Выбор диалогового окна "Пользователи", "Компьютеры" или "Группы" — страница "Дополнительно".

    5. Нажмите кнопку ОК.

  4. Чтобы создать имя входа на основе участника Windows, выберите параметр Проверка подлинности Windows. Это параметр выбирается по умолчанию.

  5. Чтобы создать имя входа, которое сохраняется в базе данных SQL Server , выберите Проверка подлинности SQL Server.

    1. В поле Пароль введите пароль для нового пользователя. Повторно введите пароль в поле Подтверждение пароля .

    2. Если изменяется существующий пароль, выберите пункт Указать старый парольи введите старый пароль в поле Старый пароль .

    3. Чтобы обеспечить использование паролей в соответствии с политиками паролей, выберите параметр Требовать использование политики паролей. Дополнительные сведения см. в разделе Password Policy. Это значение по умолчанию при выборе параметра Проверка подлинности SQL Server .

    4. Чтобы обеспечить использование паролей в соответствии с политиками окончания срока действия паролей, выберите параметр Задать срок окончания действия пароля. Чтобы этот флажок был доступен, должен быть установлен параметрТребовать использование политики паролей . Это значение по умолчанию при выборе параметра Проверка подлинности SQL Server .

    5. Чтобы пользователь мог создать новый пароль при первом входе в систему, выберите пункт Пользователь должен сменить пароль при следующем входе. Чтобы этот флажок был доступен, необходимо установить параметрПринудительно применить срок окончания действия пароля . Это значение по умолчанию при выборе параметра Проверка подлинности SQL Server .

  6. Чтобы связать имя входа с изолированным сертификатом безопасности, выберите Сопоставлен с сертификатом, после чего выберите имя существующего сертификата из списка.

  7. Чтобы связать имя входа с изолированным асимметричным ключом, выберите Сопоставлен с асимметричным ключом, после чего выберите имя существующего ключа из списка.

  8. Чтобы связать имя входа с сочетанием имени входа и пароля, выберите флажок Сопоставлено с именем входа и паролем , а затем либо выберите существующую комбинацию из списка, либо нажмите кнопку Добавить , чтобы создать новое сочетание. Чтобы удалить сопоставление с сочетанием имени входа и пароля, выберите сочетание из списка Сопоставленные сочетания и нажмите кнопку Удалить. Дополнительные сведения об учетных данных см. в разделе Учетные данные (компонент Database Engine).

  9. В списке База данных по умолчанию выберите базу данных по умолчанию для нужного имени входа. По умолчанию этот параметр имеет значениеMaster .

  10. В списке Язык по умолчанию выберите язык по умолчанию для входа.

  11. Нажмите кнопку ОК.

Дополнительные параметры

Диалоговое окно Создание имени входа также предлагает варианты на четырех дополнительных страницах: Роли сервера, Сопоставление пользователей, Защищаемые объектыи Состояние.

Роли сервера

На странице Роли сервера перечислены все возможные роли, которые могут быть назначены с новым именем входа. Доступны следующие параметры:

Флажок bulkadminЭлементы предопределенной роли сервера bulkadmin могут выполнять инструкцию BULK INSERT.

Флажок dbcreatorЧлены предопределенной роли сервера dbcreator могут создавать, изменять, удалять и восстанавливать любые базы данных.

Флажок diskadminЭлементы предопределенной роли сервера diskadmin могут управлять дисковыми файлами.

Флажок processadminЭлементы предопределенной роли сервера **processadminКомпонент Database Engine могут завершать процессы, запущенные в экземпляре компонента **.

Флажок publicВсе пользователи, группы и роли SQL Server по умолчанию принадлежат предопределенной роли сервера public.

Флажок securityadminЭлементы предопределенной роли сервера securityadmin управляют именами входа и их свойствами. Они могут предоставлять, запрещать и отменять разрешения на уровне сервера (инструкции GRANT, DENY и REVOKE). Они также могут предоставлять, запрещать и отменять разрешения на уровне базы данных (инструкции GRANT, DENY и REVOKE). Кроме того, они могут сбрасывать пароли для имен входа SQL Server.

Флажок serveradminЭлементы предопределенной роли сервера serveradmi могут изменять параметры конфигурации на уровне сервера, а также выключать сервер.

Флажок setupadminЭлементы предопределенной роли сервера setupadmin могут добавлять и удалять связанные серверы, а также выполнять некоторые системные хранимые процедуры.

Флажок sysadminЭлементы предопределенной роли сервера sysadmin могут выполнять любые действия в компоненте Компонент Database Engine.

Сопоставление пользователей

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

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

СхемаРазрешает имени входа доступ к перечисленным ниже базам данных.

База данныхСписок баз данных, доступных на этом сервере.

ПользовательУкажите пользователя базы данных, сопоставляемого с этим именем входа. По умолчанию, у пользователя базы данных такое же имя, как и имя входа.

Схема по умолчаниюУказывает схему по умолчанию для данного пользователя. При создании пользователя его схемой по умолчанию является dbo. Можно указать схему по умолчанию, которая еще не существует. Нельзя указать схему по умолчанию для пользователя, сопоставленного с группой Windows, сертификатом или асимметричным ключом.

**Учетная запись гостя, включенная для: **имябазыданныхАтрибут только для чтения, означающий, что учетная запись Guest включена в выбранной базе данных. Страница Состояние диалогового окна Свойства входа в систему для учетной записи Guest позволяет включать и отключать эту учетную запись.

**Членство в роли базы данных для: **<имябазыданныхВыберите роли для этого пользователя в указанной базе данных. Все пользователи входят в роль public во всех базах данных, и удалить их оттуда нельзя. Дополнительные сведения о ролях баз данных см. в разделе Роли уровня базы данных.

Защищаемые объекты

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

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

Добавление элементов в верхнюю сетку:

  1. Нажмите кнопку Поиск.

  2. В диалоговом окне Добавление объектов выберите один из следующих параметров: Определенные объекты…, Все объекты типов… или Серверимя_сервера. Нажмите кнопку ОК.

    ПРИМЕЧАНИЕ. При выборе параметра Серверимя_сервера верхняя сетка автоматически заполняется всеми защищаемыми объектами сервера.

  3. При выборе параметра Конкретные объекты...

    1. В диалоговом окне Выбор объектов , в разделе Выбрать эти типы объектовнажмите кнопку Типы объектов….

    2. В диалоговом окне Выбор типов объектов выберите любые или все из следующих типов объектов: Конечные точки, Имена входа, Серверы, Группы доступностии Роли сервера. Нажмите кнопку ОК.

    3. В разделе Введите имена объектов для выбора (примеры) нажмите кнопку Обзор.

    4. В диалоговом окне Просмотр объектов , выберите доступные объекты тех типов, которые вы выбрали в диалоговом окне Выбранные типы объектов , а затем нажмите кнопку ОК.

    5. В диалоговом окне Выбор объектов нажмите кнопку ОК.

  4. Если вы выбираете Все объекты типов..., выберите в диалоговом окне Выбор типов объектов любые или все из следующих типов объектов: Конечные точки, Имена входа, Серверы, Группы доступностии Роли сервера. Нажмите кнопку ОК.

НазваниеИмя каждого участника или защищаемого объекта, добавляемого в сетку.

ТипОписывает тип каждого элемента.

Вкладка «Явное»Содержит возможные разрешения для защищаемого объекта, выбранного в верхней сетке. Не все эти параметры доступны для всех явно указанных разрешений.

РазрешенияИмя разрешения.

GrantorУчастник, предоставивший разрешение.

Право предоставилВыберите, чтобы предоставить имени входа данное разрешение. Снимите флажок, чтобы отменить это разрешение.

Право передачиОтражает состояние параметра WITH GRANT для разрешения, указанного в списке. Поле доступно только для чтения. Для применения данного разрешения используйте инструкцию GRANT .

ЗапретитьВыберите, чтобы запретить имени входа в данном разрешении. Снимите флажок, чтобы отменить это разрешение.

Состояние

На странице Состояние приведен список некоторых параметров проверки подлинности и авторизации, которые можно настроить для выбранного имени входа SQL Server .

На этой странице доступны следующие параметры.

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

Выберите Предоставить , чтобы предоставить имени входа разрешение CONNECT SQL. Выберите Запретить , чтобы запретить имени входа разрешение CONNECT SQL.

Имя входаПри работе с этим параметром выбранное имя входа нужно представлять как запись в таблице. Ей будут присваиваться приведенные здесь значения.

Отключенное имя входа продолжает существовать в виде записи. Но если имя входа пытается соединиться с SQL Server, оно не будет авторизовано.

Выберите этот параметр для включения или отключения имени входа. Этот параметр использует инструкцию ALTER LOGIN с параметром ENABLE или DISABLE.

Проверка подлинности SQL ServerФлажок Имя входа заблокировано доступен только в том случае, если выбранное имя входа использует проверку подлинности SQL Server и заблокировано. Настройка доступна только для чтения. Чтобы разблокировать блокированное имя входа, выполните инструкцию ALTER LOGIN с параметром UNLOCK.

  1. В обозревателе объектовподключитесь к экземпляру компонента Компонент Database Engine.

  2. На стандартной панели выберите пункт Создать запрос.

  3. Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.

    -- Create a login for SQL Server by specifying a server name and a Windows domain account name. CREATE LOGIN [<domainName>\<loginName>] FROM WINDOWS; GO
  1. В обозревателе объектовподключитесь к экземпляру компонента Компонент Database Engine.

  2. На стандартной панели выберите пункт Создать запрос.

  3. Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.

    CREATE LOGIN shcooper WITH PASSWORD = 'Baz1nga' MUST_CHANGE, CREDENTIAL = RestrictedFaculty; GO

Дополнительные сведения см. в разделе CREATE LOGIN (Transact-SQL).

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

Центр обеспечения безопасности для базы данных Azure SQL и SQL Server Database Engine

technet.microsoft.com

Обзор защиты базы данных SQL Azure

  • 04/20/2018
  • Время чтения: 13 мин
  • Соавторы

В этой статье

В этой статье рассматриваются основы обеспечения безопасности уровня данных приложения, использующего Базу данных SQL Azure.This article walks through the basics of securing the data tier of an application using Azure SQL Database. В частности, эта статья содержит инструкции по началу работы с ресурсами для защиты данных, контроля доступа и упреждающего мониторинга.In particular, this article gets you started with resources for protecting data, controlling access, and proactive monitoring.

Полный обзор функций безопасности, доступных для всех видов SQL, см. в статье Центр обеспечения безопасности для базы данных SQL Azure и ядра СУБД SQL Server.For a complete overview of security features available on all flavors of SQL, see the Security Center for SQL Server Database Engine and Azure SQL Database. Дополнительные сведения также см. в технической документации по безопасности и базе данных SQL Azure (PDF-файл).Additional information is also available in the Security and Azure SQL Database technical white paper (PDF).

Защита данныхProtect data

ШифрованиеEncryption

Служба "База данных SQL" обеспечивает защиту данных, шифруя передаваемые данные с использованием протокола TLS, неактивные данные с использованием прозрачного шифрования данных и используемые данные с помощью функции Always Encrypted.SQL Database secures your data by providing encryption for data in motion with Transport Layer Security, for data at rest with Transparent Data Encryption, and for data in use with Always Encrypted.

Важно!

Во время каждого сеанса передачи данных в Базу данных SQL Azure и из нее все подключения к базе должны быть зашифрованы (SSL/TLS).All connections to Azure SQL Database require encryption (SSL/TLS) at all times while data is "in transit" to and from the database. В строке подключения приложения необходимо настроить параметры шифрования подключения, а также указать отсутствие доверия сертификату сервера (это происходит автоматически при копировании строки подключения с портала Azure), в противном случае подключение не будет проверять подлинность сервера и будет уязвимо для атак типа "злоумышленник в середине".In your application's connection string, you must specify parameters to encrypt the connection and not to trust the server certificate (this is done for you if you copy your connection string out of the Azure portal), otherwise the connection does not verify the identity of the server and is susceptible to "man-in-the-middle" attacks. Например, для драйвера ADO.NET это параметры Encrypt=True и TrustServerCertificate=False.For the ADO.NET driver, for instance, these connection string parameters are Encrypt=True and TrustServerCertificate=False. Чтобы получить сведения о протоколе TLS и проверить возможность подключения, просмотрите рекомендации по использованию протокола TLS.For information about TLS and connectivity, see TLS considerations

Другие способы шифрования данных включают следующее:For other ways to encrypt your data, consider:

Обнаружение и классификация данныхData Discovery & Classification

Служба обнаружения и классификации данных (в настоящее время находится на этапе предварительной версии) предоставляет расширенные возможности, встроенные в службу "База данных SQL Azure", для обнаружения, классификации, добавления меток и защиты конфиденциальных данных в базах данных.Data Discovery & Classification (currently in preview) provides advanced capabilities built into Azure SQL Database for discovering, classifying, labeling, and protecting the sensitive data in your databases. Обнаружение и классификация наиболее конфиденциальных данных (деловых или финансовых, медицинских, персональных данных и т. д.) может играть ключевую роль в концепции защиты информации вашей организации.Discovering and classifying your utmost sensitive data (business/financial, healthcare, PII, etc.) can play a pivotal role in your organizational Information protection stature. Она может использоваться в качестве инфраструктуры для следующего:It can serve as infrastructure for:

  • Различные сценарии безопасности, такие как мониторинг (аудит) и оповещение об аномальном доступе к конфиденциальным данным.Various security scenarios, such as monitoring (auditing) and alerting on anomalous access to sensitive data.
  • Управление доступом к базам данных, содержащим конфиденциальные данные, и усиление их защиты.Controlling access to, and hardening the security of, databases containing highly-sensitive data.
  • Соблюдение стандартов конфиденциальности данных и нормативных требований.Helping meet data privacy standards and regulatory compliance requirements.

Дополнительную информацию см. в статье Обнаружение и классификация данных в службе "База данных SQL Azure".For more information, see Get started with SQL DB Data Discovery & Classification.

Контроль доступаControl access

База данных SQL защищает данные путем ограничения доступа к ним с помощью правил брандмауэра, механизмов проверки подлинности, предусматривающих идентификацию пользователей, и авторизации доступа на основе членства с учетом ролей и разрешений, а также с использованием безопасности на уровне строк и динамического маскирования данных.SQL Database secures your data by limiting access to your database using firewall rules, authentication mechanisms requiring users to prove their identity, and authorization to data through role-based memberships and permissions, as well as through row-level security and dynamic data masking. Как пользоваться функциями контроля доступа в базе данных SQL см. в этой статье.For a discussion of the use of access control features in SQL Database, see Control access.

Брандмауэр и правила брандмауэраFirewall and firewall rules

Чтобы защитить ваши данные, брандмауэр запрещает любой доступ к серверу базы данных, пока вы не укажете компьютеры, у которых есть разрешение на доступ, с использованием правил брандмауэра.To help protect your data, firewalls prevent all access to your database server until you specify which computers have permission using firewall rules. Брандмауэр предоставляет доступ к базам данным на основе исходного IP-адреса каждого запроса.The firewall grants access to databases based on the originating IP address of each request.

AuthenticationAuthentication

В процессе проверки подлинности базы данных SQL предлагается подтвердить личность пользователя при подключении к базе данных.SQL database authentication refers to how you prove your identity when connecting to the database. База данных SQL поддерживает два типа аутентификации:SQL Database supports two types of authentication:

  • Проверка подлинности SQL с использованием имени пользователя и пароля.SQL Authentication, which uses a username and password. При создании логического сервера для базы данных вы указали имя для входа "Администратор сервера" и пароль.When you created the logical server for your database, you specified a "server admin" login with a username and password. Используя эти учетные данные, можно выполнить проверку подлинности для любой базы данных на этом сервере в качестве владельца базы данных (или "dbo").Using these credentials, you can authenticate to any database on that server as the database owner, or "dbo."
  • Проверка подлинности Azure Active Directory с использованием удостоверений, контролируемых Azure Active Directory, которая поддерживается управляемыми и интегрированными доменами.Azure Active Directory Authentication, which uses identities managed by Azure Active Directory and is supported for managed and integrated domains. По возможности используйте проверку подлинности Active Directory (встроенная безопасность).Use Active Directory authentication (integrated security) whenever possible. Если вы хотите использовать аутентификацию Azure Active Directory, необходимо создать другого администратора сервера с именем Azure AD admin, которому разрешено администрировать пользователей и группы Azure AD.If you want to use Azure Active Directory Authentication, you must create another server admin called the "Azure AD admin," which is allowed to administer Azure AD users and groups. Этот администратор также может выполнять все операции, доступные обычному администратору.This admin can also perform all operations that a regular server admin can. В разделе Подключение к базе данных SQL с использованием проверки подлинности Azure Active Directory содержится пошаговое руководство по созданию администратора Azure AD для включения аутентификации Azure Active Directory.See Connecting to SQL Database By Using Azure Active Directory Authentication for a walkthrough of how to create an Azure AD admin to enable Azure Active Directory Authentication.

АвторизацияAuthorization

Авторизация подразумевает набор действий, которые пользователь может выполнять в базе данных SQL Azure. Такой набор действий определяется принадлежностью к ролям базы данных учетной записи пользователя и разрешениями на уровне объектов.Authorization refers to what a user can do within an Azure SQL Database, and this is controlled by your user account's database role memberships and object-level permissions. Обычно пользователям рекомендуется предоставлять наименьшие необходимые привилегии.As a best practice, you should grant users the least privileges necessary. Учетной записи администратора сервера, которая используется для подключения, присвоена роль db_owner, обладатель которой может выполнять любые действия в базе данных.The server admin account you are connecting with is a member of db_owner, which has authority to do anything within the database. Сохраните эту учетную запись для развертывания обновлений схемы и выполнения других действий по управлению.Save this account for deploying schema upgrades and other management operations. Для подключения к базе данных из приложения с использованием наименьших привилегий, необходимых приложению, используйте учетную запись "ApplicationUser" с более ограниченными разрешениями.Use the "ApplicationUser" account with more limited permissions to connect from your application to the database with the least privileges needed by your application.

Безопасность на уровне строкRow-level security

Безопасность на уровне строк позволяет пользователям управлять доступом к строкам в таблице базы данных в зависимости от характеристик пользователя, выполняющего запрос (например, членство в группе или контекст выполнения).Row-Level Security enables customers to control access to rows in a database table based on the characteristics of the user executing a query (e.g., group membership or execution context). Дополнительные сведения см. в статье Безопасность на уровне строк.For more information, see Row-Level security.

Динамическое маскирование данныхDynamic data masking

Динамическое маскирование данных базы данных SQL Azure ограничивает возможность раскрытия конфиденциальных данных, маскируя их для обычных пользователей.SQL Database dynamic data masking limits sensitive data exposure by masking it to non-privileged users. Служба динамического маскирования данных автоматически обнаруживает потенциально конфиденциальные данные в базе данных SQL Azure и предоставляет практические рекомендации по маскированию этих полей с минимальным влиянием на прикладной уровень.Dynamic data masking automatically discovers potentially sensitive data in Azure SQL Database and provides actionable recommendations to mask these fields, with minimal impact on the application layer. Эта функция работает по принципу обсфукации, скрывая конфиденциальные данные в результирующем наборе запроса по заданным полям базы данных, не меняя сами данные в базе данных.It works by obfuscating the sensitive data in the result set of a query over designated database fields, while the data in the database is not changed. Дополнительную информацию см. в статье Начало работы с динамическим маскированием данных в базе данных SQL (портал Azure).For more information, see Get started with SQL Database dynamic data masking.

Упреждающий мониторингProactive monitoring

База данных SQL обеспечивает защиту данных, предоставляя возможности аудита и обнаружения угроз.SQL Database secures your data by providing auditing and threat detection capabilities.

АудитAuditing

Аудит базы данных SQL позволяет отслеживать ее действия и обеспечивает соответствие нормативным требованиям, записывая события базы данных в журнал аудита в вашей учетной записи службы хранилища Azure.SQL Database Auditing tracks database activities and helps you to maintain regulatory compliance, by recording database events to an audit log in your Azure Storage account. Благодаря аудиту можно узнать об активности в текущей базе данных, а также проанализировать и изучить хронологические действия, чтобы определить потенциальные угрозы или возможные атаки и нарушения безопасности.Auditing enables you to understand ongoing database activities, as well as analyze and investigate historical activity to identify potential threats or suspected abuse and security violations. Дополнительные сведения см. в статье Приступая к работе с аудитом базы данных SQL.For additional information, see Get started with SQL Database Auditing.

Обнаружение угрозThreat detection

Обнаружение угроз дополняет аудит, обеспечивая дополнительный уровень аналитики безопасности, встроенной в службу базы данных SQL Azure, которая выявляет подозрительные и потенциально опасные попытки получить доступ к базам данных или использовать их уязвимость.Threat Detection complements auditing, by providing an additional layer of security intelligence built into the Azure SQL Database service that detects unusual and potentially harmful attempts to access or exploit databases. Вы получаете оповещения о подозрительных действиях, потенциальных уязвимостях, атаках путем внедрения кода SQL и аномальных закономерностях в доступе к базам данных.You are alerted about suspicious activities, potential vulnerabilities and SQL injection attacks, as well as anomalous database access patterns. Оповещения об обнаружении угроз можно просмотреть в центре безопасности Azure, который предоставляет сведения о подозрительных операциях и дает рекомендации о том, как определить причину угрозы и устранить ее.Threat Detection alerts can be viewed from Azure Security Center and provide details of suspicious activity and recommend action on how to investigate and mitigate the threat. За использование обнаружения угроз взимается плата в 15 долларов США за сервер в месяц.Threat Detection costs $15/server/month. За первые 60 дней плата не взимается.It is free for the first 60 days. Дополнительные сведения см. в статье Приступая к работе с системой обнаружения угроз базы данных SQL.For more information, see Get started with SQL Database Threat Detection.

Соответствие нормативным требованиямCompliance

Помимо приведенных выше функций и возможностей, которые могут помочь обеспечить выполнение вашим приложением различных требований безопасности, в отношении Базы данных SQL Azure регулярно проводится аудит, а сама база данных сертифицирована в соответствии с рядом стандартов.In addition to the above features and functionality that can help your application meet various security requirements, Azure SQL Database also participates in regular audits and has been certified against a number of compliance standards. Дополнительные сведения см. в центре управления безопасностью Microsoft Azure, где представлен актуальный список сертификатов соответствия базы данных SQL.For more information, see the Microsoft Azure Trust Center, where you can find the most current list of SQL Database compliance certifications.

Управление безопасностьюSecurity management

База данных SQL помогает управлять безопасностью данных, предоставляя отчеты о сканировании базы данных и централизованную панель мониторинга безопасности с помощью оценки уязвимостей SQL.SQL Database helps you manage your data security by providing database scans and a centralized security dashboard using SQL Vulnerability Assessment.

Оценка уязвимостей. Оценка уязвимостей SQL (сейчас находится на этапе предварительной версии) — это легко настраиваемый инструмент, встроенный в Базу данных SQL Azure, который поможет вам обнаруживать, отслеживать и устранять потенциальные уязвимости базы данных.Vulnerability Assessment: SQL Vulnerability Assessment (currently in preview) is an easy to configure tool built into Azure SQL Database that can help you discover, track, and remediate potential database vulnerabilities. Он выполняет сканирование уязвимостей в базе данных и создает отчет, который дает представление о состоянии безопасности и содержит действенные меры по устранению проблем безопасности и усилению безопасности базы данных.The assessment executes a vulnerability scan on your database, and generates a report that gives you visibility into your security state, including actionable steps to resolve security issues and enhance your database security. Отчет об оценке можно настроить для своей среды, задав приемлемые базовые показатели для конфигураций разрешений, конфигураций функций и параметров базы данных.The assessment report can be customized for your environment, by setting an acceptable baseline for permission configurations, feature configurations, and database settings. Это поможет вам в следующих аспектах:This can help you to:

  • Соблюдение нормативных требований, требующих отчетов о сканировании базы данных.Meet compliance requirements that require database scan reports.

  • Соблюдение стандартов конфиденциальности данных.Meet data privacy standards.

  • Мониторинг динамической среды базы данных, в которой сложно отслеживать изменения.Monitor a dynamic database environment where changes are difficult to track.

Дополнительные сведения см. в статье об оценке уязвимостей SQL.For more information, see SQL Vulnerability Assessment.

Дополнительная информацияNext steps

docs.microsoft.com