Użyj uwierzytelniania Azure Active DirectoryUse Azure Active Directory authentication

dotyczy:  tak Azure SQL Database tak, aby usługa Azure  SQL Managed instance była  usługą Azure Synapse Analytics (wersja zapoznawcza)APPLIES TO: yesAzure SQL Database yesAzure SQL Managed Instance yes Azure Synapse Analytics (Preview)

Uwierzytelnianie Azure Active Directory (Azure AD) jest mechanizmem do łączenia się z Azure SQL Database, wystąpienia zarządzanego usługi Azure SQLi analizą usługi Azure Synapse Analytics (dawniej Azure SQL Data Warehouse) za pomocą tożsamości w usłudze Azure AD.Azure Active Directory (Azure AD) authentication is a mechanism for connecting to Azure SQL Database, Azure SQL Managed Instance, and Azure Synapse Analytics (formerly Azure SQL Data Warehouse) by using identities in Azure AD.

Uwaga

Ten artykuł ma zastosowanie do Azure SQL Database, wystąpienia zarządzanego SQL i usługi Azure Synapse Analytics.This article applies to Azure SQL Database, SQL Managed Instance, and Azure Synapse Analytics.

W przypadku uwierzytelniania usługi Azure AD można centralnie zarządzać tożsamościami użytkowników bazy danych oraz innymi usługami firmy Microsoft w jednej centralnej lokalizacji.With Azure AD authentication, you can centrally manage the identities of database users and other Microsoft services in one central location. Centralne zarządzanie tożsamościami oznacza jedną lokalizację do zarządzania użytkownikami bazy danych i prostsze zarządzanie uprawnieniami.Central ID management provides a single place to manage database users and simplifies permission management. Oto przykładowe korzyści:Benefits include the following:

  • Stanowi alternatywę dla SQL Server uwierzytelniania.It provides an alternative to SQL Server authentication.

  • Pomaga zatrzymać rozprzestrzenianie tożsamości użytkowników między serwerami.It helps stop the proliferation of user identities across servers.

  • Umożliwia obrót hasła w jednym miejscu.It allows password rotation in a single place.

  • Klienci mogą zarządzać uprawnieniami bazy danych przy użyciu zewnętrznych grup (Azure AD).Customers can manage database permissions using external (Azure AD) groups.

  • Może on wyeliminować przechowywanie haseł, włączając zintegrowane uwierzytelnianie systemu Windows i inne formy uwierzytelniania obsługiwane przez Azure Active Directory.It can eliminate storing passwords by enabling integrated Windows authentication and other forms of authentication supported by Azure Active Directory.

  • Uwierzytelnianie usługi Azure AD korzysta z użytkowników zawartej bazy danych do uwierzytelniania tożsamości na poziomie bazy danych.Azure AD authentication uses contained database users to authenticate identities at the database level.

  • Usługa Azure AD obsługuje uwierzytelnianie oparte na tokenach dla aplikacji łączących się z usługą SQL Database i wystąpieniem zarządzanym SQL.Azure AD supports token-based authentication for applications connecting to SQL Database and SQL Managed Instance.

  • Uwierzytelnianie usługi Azure AD obsługuje:Azure AD authentication supports:

  • Usługa Azure AD obsługuje połączenia z SQL Server Management Studio korzystających z Active Directory uwierzytelniania uniwersalnego, w tym Multi-Factor Authentication.Azure AD supports connections from SQL Server Management Studio that use Active Directory Universal Authentication, which includes Multi-Factor Authentication. Multi-Factor Authentication obejmuje silne uwierzytelnianie z szerokim zakresem opcji łatwej weryfikacji — połączenie telefoniczne, wiadomość tekstowa, karty inteligentne z numerem PIN lub powiadomieniem aplikacji mobilnej.Multi-Factor Authentication includes strong authentication with a range of easy verification options — phone call, text message, smart cards with pin, or mobile app notification. Aby uzyskać więcej informacji, zobacz temat Obsługa narzędzia SSMS dla usługi Azure AD Multi-Factor Authentication z Azure SQL Database, wystąpieniem zarządzanym SQL i usługą Azure SynapseFor more information, see SSMS support for Azure AD Multi-Factor Authentication with Azure SQL Database, SQL Managed Instance, and Azure Synapse

  • Usługa Azure AD obsługuje podobne połączenia z narzędziami SQL Server Data Tools (SSDT), które używają interaktywnego uwierzytelniania usługi Active Directory.Azure AD supports similar connections from SQL Server Data Tools (SSDT) that use Active Directory Interactive Authentication. Aby uzyskać więcej informacji, zobacz Azure Active Directory Support in SQL Server Data Tools (SSDT).For more information, see Azure Active Directory support in SQL Server Data Tools (SSDT)

Uwaga

Nawiązywanie połączenia z wystąpieniem SQL Server uruchomionym na maszynie wirtualnej platformy Azure (VM) nie jest obsługiwane przy użyciu konta Azure Active Directory.Connecting to a SQL Server instance that's running on an Azure virtual machine (VM) is not supported using an Azure Active Directory account. Zamiast tego użyj konta domeny usługi Active Directory.Use a domain Active Directory account instead.

Czynności konfiguracyjne obejmują następujące procedury w celu skonfigurowania i użycia uwierzytelniania Azure Active Directory.The configuration steps include the following procedures to configure and use Azure Active Directory authentication.

  1. Utwórz i wypełnij usługę Azure AD.Create and populate Azure AD.
  2. Opcjonalne: Skojarz lub Zmień usługę Active Directory, która jest aktualnie skojarzona z subskrypcją platformy Azure.Optional: Associate or change the active directory that is currently associated with your Azure Subscription.
  3. Utwórz administratora Azure Active Directory.Create an Azure Active Directory administrator.
  4. Skonfiguruj komputery klienckie.Configure your client computers.
  5. Utwórz użytkowników zawartej bazy danych w bazie danych zamapowanej na tożsamości usługi Azure AD.Create contained database users in your database mapped to Azure AD identities.
  6. Nawiąż połączenie z bazą danych za pomocą tożsamości usługi Azure AD.Connect to your database by using Azure AD identities.

Uwaga

Aby dowiedzieć się, jak utworzyć i wypełnić usługę Azure AD, a następnie skonfigurować usługę Azure AD za pomocą Azure SQL Database, wystąpienia zarządzanego SQL i usługi Azure Synapse, zobacz Konfigurowanie usługi Azure AD z Azure SQL Database.To learn how to create and populate Azure AD, and then configure Azure AD with Azure SQL Database, SQL Managed Instance, and Azure Synapse, see Configure Azure AD with Azure SQL Database.

Architektura zaufaniaTrust architecture

  • Tylko część usługi Azure AD, SQL Database, wystąpienie zarządzane SQL i Azure Synapse jest uznawana za obsługę natywnych haseł użytkowników w usłudze Azure AD.Only the cloud portion of Azure AD, SQL Database, SQL Managed Instance, and Azure Synapse is considered to support Azure AD native user passwords.
  • Aby zapewnić obsługę poświadczeń logowania jednokrotnego systemu Windows (lub użytkownika/hasła dla poświadczeń systemu Windows), Użyj poświadczeń Azure Active Directory z domeny federacyjnej lub zarządzanej, która jest skonfigurowana do bezproblemowego logowania jednokrotnego w celu uwierzytelniania za pomocą funkcji przekazywania i skrótu hasła.To support Windows single sign-on credentials (or user/password for Windows credential), use Azure Active Directory credentials from a federated or managed domain that is configured for seamless single sign-on for pass-through and password hash authentication. Aby uzyskać więcej informacji, zobacz Azure Active Directory bezproblemowe logowanie jednokrotne.For more information, see Azure Active Directory Seamless Single Sign-On.
  • Aby zapewnić obsługę uwierzytelniania federacyjnego (lub użytkownika/hasła dla poświadczeń systemu Windows), wymagana jest komunikacja z blokiem ADFS.To support Federated authentication (or user/password for Windows credentials), the communication with ADFS block is required.

Aby uzyskać więcej informacji na temat tożsamości hybrydowych usługi Azure AD, instalacji i synchronizacji, zobacz następujące artykuły:For more information on Azure AD hybrid identities, the setup, and synchronization, see the following articles:

Aby zapoznać się z przykładowym uwierzytelnianiem federacyjnym z infrastrukturą usług ADFS (lub użytkownikiem/hasłem dla poświadczeń systemu Windows), zapoznaj się z poniższym diagramem.For a sample federated authentication with ADFS infrastructure (or user/password for Windows credentials), see the diagram below. Strzałki oznaczają ścieżki komunikacji.The arrows indicate communication pathways.

Diagram uwierzytelniania usługi AAD

Na poniższym diagramie przedstawiono relacje Federacji, zaufania i hostingu, które umożliwiają klientowi łączenie się z bazą danych przez przesłanie tokenu.The following diagram indicates the federation, trust, and hosting relationships that allow a client to connect to a database by submitting a token. Token jest uwierzytelniany przez usługę Azure AD i jest traktowany jako zaufany przez bazę danych.The token is authenticated by an Azure AD, and is trusted by the database. Klient 1 może reprezentować Azure Active Directory z natywnymi użytkownikami lub usługą Azure AD z użytkownikami federacyjnymi.Customer 1 can represent an Azure Active Directory with native users or an Azure AD with federated users. Klient 2 to możliwe rozwiązanie, w tym zaimportowani użytkownicy, w tym przykładzie pochodzące z Azure Active Directory federacyjnej z usługą ADFS, które są synchronizowane z Azure Active Directory.Customer 2 represents a possible solution including imported users, in this example coming from a federated Azure Active Directory with ADFS being synchronized with Azure Active Directory. Ważne jest, aby zrozumieć, że dostęp do bazy danych przy użyciu uwierzytelniania usługi Azure AD wymaga, aby subskrypcja hostingu była skojarzona z usługą Azure AD.It's important to understand that access to a database using Azure AD authentication requires that the hosting subscription is associated to the Azure AD. Ta sama subskrypcja musi być używana do tworzenia Azure SQL Database, wystąpienia zarządzanego SQL lub zasobów usługi Azure Synapse.The same subscription must be used to create the Azure SQL Database, SQL Managed Instance, or Azure Synapse resources.

Relacja subskrypcji

Struktura administratoraAdministrator structure

W przypadku korzystania z uwierzytelniania usługi Azure AD istnieją dwa konta administratora: oryginalny administrator Azure SQL Database i administrator usługi Azure AD.When using Azure AD authentication, there are two Administrator accounts: the original Azure SQL Database administrator and the Azure AD administrator. Te same pojęcia dotyczą usługi Azure Synapse.The same concepts apply to Azure Synapse. Tylko administrator oparty na koncie usługi Azure AD może utworzyć pierwszego użytkownika zawartej bazy danych usługi Azure AD w bazie danych użytkownika.Only the administrator based on an Azure AD account can create the first Azure AD contained database user in a user database. Identyfikator logowania administratora usługi Azure AD może być użytkownikiem usługi Azure AD lub grupą usługi Azure AD.The Azure AD administrator login can be an Azure AD user or an Azure AD group. Jeśli administrator jest kontem grupy, może być używany przez dowolnego członka grupy, co umożliwia wielu administratorom usługi Azure AD na serwerze.When the administrator is a group account, it can be used by any group member, enabling multiple Azure AD administrators for the server. Użycie konta grupy jako administrator usprawnia zarządzanie, umożliwiając centralne Dodawanie i usuwanie członków grupy w usłudze Azure AD bez zmiany użytkowników ani uprawnień w SQL Database lub Azure Synapse.Using group account as an administrator enhances manageability by allowing you to centrally add and remove group members in Azure AD without changing the users or permissions in SQL Database or Azure Synapse. W dowolnej chwili można skonfigurować tylko jednego administratora usługi Azure AD (użytkownika lub grupę).Only one Azure AD administrator (a user or group) can be configured at any time.

Struktura administratora

UprawnieniaPermissions

Aby utworzyć nowych użytkowników, musisz mieć odpowiednie ALTER ANY USER uprawnienia w bazie danych programu.To create new users, you must have the ALTER ANY USER permission in the database. ALTER ANY USERUprawnienie można przyznać każdemu użytkownikowi bazy danych.The ALTER ANY USER permission can be granted to any database user. ALTER ANY USERUprawnienie jest również przechowywane przez konta administratora serwera oraz użytkowników bazy danych z CONTROL ON DATABASE ALTER ON DATABASE uprawnieniami lub dla tej bazy danych oraz przez członków db_owner roli bazy danych.The ALTER ANY USER permission is also held by the server administrator accounts, and database users with the CONTROL ON DATABASE or ALTER ON DATABASE permission for that database, and by members of the db_owner database role.

Aby utworzyć użytkownika zawartej bazy danych w Azure SQL Database, wystąpieniu zarządzanym SQL lub Azure Synapse, musisz nawiązać połączenie z bazą danych lub wystąpieniem przy użyciu tożsamości usługi Azure AD.To create a contained database user in Azure SQL Database, SQL Managed Instance, or Azure Synapse, you must connect to the database or instance using an Azure AD identity. Aby utworzyć pierwszego zawartego użytkownika bazy danych, musisz nawiązać połączenie z bazą danych przy użyciu administratora usługi Azure AD (który jest właścicielem bazy danych).To create the first contained database user, you must connect to the database by using an Azure AD administrator (who is the owner of the database). Jest to zademonstrowane w temacie Konfigurowanie uwierzytelniania Azure Active Directory i zarządzanie nim za pomocą SQL Database lub Azure Synapse.This is demonstrated in Configure and manage Azure Active Directory authentication with SQL Database or Azure Synapse. Uwierzytelnianie usługi Azure AD jest możliwe tylko wtedy, gdy administrator usługi Azure AD został utworzony dla Azure SQL Database, wystąpienia zarządzanego SQL lub Azure Synapse.Azure AD authentication is only possible if the Azure AD admin was created for Azure SQL Database, SQL Managed Instance, or Azure Synapse. Jeśli administrator Azure Active Directory został usunięty z serwera, istniejące Azure Active Directory użytkownicy utworzeni wcześniej w programie SQL Server nie mogą już łączyć się z bazą danych przy użyciu poświadczeń Azure Active Directory.If the Azure Active Directory admin was removed from the server, existing Azure Active Directory users created previously inside SQL Server can no longer connect to the database using their Azure Active Directory credentials.

Funkcje i ograniczenia dotyczące usługi Azure ADAzure AD features and limitations

  • Dla Azure SQL Database można zainicjować obsługę następujących członków usługi Azure AD:The following members of Azure AD can be provisioned for Azure SQL Database:

  • Użytkownicy usługi Azure AD będący częścią grupy, która ma db_owner rolę serwera, nie mogą używać SKŁADNI poświadczeń "CREATE DATABASE scoped " w odniesieniu do Azure SQL Database i Azure Synapse.Azure AD users that are part of a group that has db_owner server role cannot use the CREATE DATABASE SCOPED CREDENTIAL syntax against Azure SQL Database and Azure Synapse. Zostanie wyświetlony następujący błąd:You will see the following error:

    SQL Error [2760] [S0001]: The specified schema name 'user@mydomain.com' either does not exist or you do not have permission to use it.

    Przyznaj db_owner roli bezpośrednio użytkownikowi usługi Azure AD, aby wyeliminować problem z poświadczeniami tworzenia zakresu bazy danych .Grant the db_owner role directly to the individual Azure AD user to mitigate the CREATE DATABASE SCOPED CREDENTIAL issue.

  • Te funkcje systemowe zwracają wartości NULL, jeśli są wykonywane w ramach podmiotów zabezpieczeń usługi Azure AD:These system functions return NULL values when executed under Azure AD principals:

    • SUSER_ID()
    • SUSER_NAME(<admin ID>)
    • SUSER_SNAME(<admin SID>)
    • SUSER_ID(<admin name>)
    • SUSER_SID(<admin name>)

Wystąpienie zarządzane SQLSQL Managed Instance

  • Nazwy główne serwera usługi Azure AD (logowania) i użytkownicy są obsługiwane w przypadku wystąpienia zarządzanego SQL.Azure AD server principals (logins) and users are supported for SQL Managed Instance.
  • Ustawienie podmiotów zabezpieczeń serwera usługi Azure AD (nazw logowania) mapowanych na grupę usługi Azure AD jako właściciel bazy danych nie jest obsługiwane w wystąpieniu zarządzanym SQL.Setting Azure AD server principals (logins) mapped to an Azure AD group as database owner is not supported in SQL Managed Instance.
    • Rozszerzenie to oznacza, że gdy grupa zostanie dodana jako część dbcreator roli serwera, użytkownicy z tej grupy mogą łączyć się z wystąpieniem zarządzanym SQL i tworzyć nowe bazy danych, ale nie będą mogli uzyskać dostępu do bazy danych.An extension of this is that when a group is added as part of the dbcreator server role, users from this group can connect to the SQL Managed Instance and create new databases, but will not be able to access the database. Wynika to z faktu, że nowy właściciel bazy danych jest skojarzeniem zabezpieczeń, a nie użytkownikiem usługi Azure AD.This is because the new database owner is SA, and not the Azure AD user. Ten problem nie jest manifestem, jeśli pojedynczy użytkownik zostanie dodany do dbcreator roli serwera.This issue does not manifest if the individual user is added to the dbcreator server role.
  • Zarządzanie agentami SQL i wykonywanie zadań są obsługiwane dla podmiotów zabezpieczeń serwera usługi Azure AD.SQL Agent management and jobs execution are supported for Azure AD server principals (logins).
  • Operacje tworzenia kopii zapasowej oraz przywracania bazy danych mogą być wykonywane przy użyciu jednostek usługi (identyfikatorów logowania) serwera Azure AD.Database backup and restore operations can be executed by Azure AD server principals (logins).
  • Obsługiwane są inspekcje wszystkich instrukcji związanych z podmiotami zabezpieczeń serwera usługi Azure AD i zdarzeniami uwierzytelniania.Auditing of all statements related to Azure AD server principals (logins) and authentication events is supported.
  • Obsługiwane jest dedykowane połączenie administratora dla podmiotów zabezpieczeń serwera usługi Azure AD (logowania), które są członkami roli serwera sysadmin.Dedicated administrator connection for Azure AD server principals (logins) which are members of sysadmin server role is supported.
    • Obsługiwane przez Narzędzie SQLCMD i SQL Server Management Studio.Supported through SQLCMD Utility and SQL Server Management Studio.
  • Wyzwalacze logowania są obsługiwane dla zdarzeń logowania przychodzących z jednostek usługi (identyfikatorów logowania) serwera Azure AD.Logon triggers are supported for logon events coming from Azure AD server principals (logins).
  • Service Broker i wiadomości e-mail można skonfigurować przy użyciu podmiotu zabezpieczeń serwera usługi Azure AD.Service Broker and DB mail can be setup using an Azure AD server principal (login).

Nawiązywanie połączenia przy użyciu tożsamości usługi Azure ADConnect by using Azure AD identities

Azure Active Directory Authentication obsługuje następujące metody łączenia się z bazą danych przy użyciu tożsamości usługi Azure AD:Azure Active Directory authentication supports the following methods of connecting to a database using Azure AD identities:

  • Azure Active Directory hasłoAzure Active Directory Password
  • Azure Active Directory zintegrowanyAzure Active Directory Integrated
  • Azure Active Directory uniwersalne z Multi-Factor AuthenticationAzure Active Directory Universal with Multi-Factor Authentication
  • Korzystanie z uwierzytelniania za pomocą tokenu aplikacjiUsing Application token authentication

Następujące metody uwierzytelniania są obsługiwane dla podmiotów zabezpieczeń serwera usługi Azure AD (logowania):The following authentication methods are supported for Azure AD server principals (logins):

  • Azure Active Directory hasłoAzure Active Directory Password
  • Azure Active Directory zintegrowanyAzure Active Directory Integrated
  • Azure Active Directory uniwersalne z Multi-Factor AuthenticationAzure Active Directory Universal with Multi-Factor Authentication

Dodatkowe zagadnieniaAdditional considerations

  • W celu zwiększenia możliwości zarządzania zalecamy udostępnienie dedykowanej grupy usługi Azure AD jako administrator.To enhance manageability, we recommend you provision a dedicated Azure AD group as an administrator.
  • W dowolnej chwili można skonfigurować tylko jednego administratora usługi Azure AD (użytkownika lub grupę) dla serwera w SQL Database lub Azure Synapse.Only one Azure AD administrator (a user or group) can be configured for a server in SQL Database or Azure Synapse at any time.
    • Dodanie podmiotów zabezpieczeń serwera usługi Azure AD dla wystąpienia zarządzanego SQL umożliwia tworzenie wielu podmiotów nazw (Logins) serwera usługi Azure AD, które można dodać do sysadmin roli.The addition of Azure AD server principals (logins) for SQL Managed Instance allows the possibility of creating multiple Azure AD server principals (logins) that can be added to the sysadmin role.
  • Tylko administrator usługi Azure AD dla serwera może początkowo połączyć się z serwerem lub wystąpieniem zarządzanym przy użyciu konta Azure Active Directory.Only an Azure AD administrator for the server can initially connect to the server or managed instance using an Azure Active Directory account. Administrator Active Directory może skonfigurować kolejnych użytkowników bazy danych usługi Azure AD.The Active Directory administrator can configure subsequent Azure AD database users.
  • Zalecamy ustawienie limitu czasu połączenia na 30 sekund.We recommend setting the connection timeout to 30 seconds.
  • SQL Server 2016 Management Studio i SQL Server Data Tools for Visual Studio 2015 (wersja 14.0.60311.1 kwietnia 2016 lub nowszy) obsługuje Azure Active Directory uwierzytelnianie.SQL Server 2016 Management Studio and SQL Server Data Tools for Visual Studio 2015 (version 14.0.60311.1April 2016 or later) support Azure Active Directory authentication. (Uwierzytelnianie usługi Azure AD jest obsługiwane przez .NET Framework dostawca danych dla programu SqlServer; co najmniej w wersji .NET Framework 4,6).(Azure AD authentication is supported by the .NET Framework Data Provider for SqlServer; at least version .NET Framework 4.6). W związku z tym najnowsze wersje tych narzędzi i aplikacji warstwy danych (DAC i BACPAC) mogą korzystać z uwierzytelniania usługi Azure AD.Therefore the newest versions of these tools and data-tier applications (DAC and BACPAC) can use Azure AD authentication.
  • Począwszy od wersji 15.0.1, narzędzia sqlcmd i obsługi narzędzia bcp Active Directory interakcyjnego uwierzytelniania z Multi-Factor Authentication.Beginning with version 15.0.1, sqlcmd utility and bcp utility support Active Directory Interactive authentication with Multi-Factor Authentication.
  • Narzędzia SQL Server Data Tools for Visual Studio 2015 wymagają co najmniej wersji 2016 z kwietnia (wersja za14.0.60311.1na).SQL Server Data Tools for Visual Studio 2015 requires at least the April 2016 version of the Data Tools (version 14.0.60311.1). Obecnie użytkownicy usługi Azure AD nie są wyświetlani w SSDT Eksplorator obiektów.Currently, Azure AD users are not shown in SSDT Object Explorer. Aby obejść ten element, Wyświetl użytkowników w obszarze sys. database_principals.As a workaround, view the users in sys.database_principals.
  • Sterownik Microsoft JDBC 6,0 dla SQL Server obsługuje uwierzytelnianie w usłudze Azure AD.Microsoft JDBC Driver 6.0 for SQL Server supports Azure AD authentication. Ponadto zobacz Ustawianie właściwości połączenia.Also, see Setting the Connection Properties.
  • Nie można uwierzytelnić przy użyciu uwierzytelniania usługi Azure AD.PolyBase cannot authenticate by using Azure AD authentication.
  • Uwierzytelnianie za pomocą usługi Azure AD jest obsługiwane dla Azure SQL Database i usługi Azure Synapse przy użyciu Azure Portal importowania bazy danych i eksportowania baz danych .Azure AD authentication is supported for Azure SQL Database and Azure Synapse by using the Azure portal Import Database and Export Database blades. Importowanie i eksportowanie przy użyciu uwierzytelniania usługi Azure AD jest również obsługiwane przez polecenie programu PowerShell.Import and export using Azure AD authentication is also supported from a PowerShell command.
  • Uwierzytelnianie usługi Azure AD jest obsługiwane w przypadku SQL Database, wystąpienia zarządzanego SQL i platformy Azure Synapse przy użyciu interfejsu wiersza polecenia.Azure AD authentication is supported for SQL Database, SQL Managed Instance, and Azure Synapse with using the CLI. Aby uzyskać więcej informacji, zobacz Konfigurowanie i Zarządzanie uwierzytelnianiem w usłudze Azure AD za pomocą SQL Database lub Azure Synapse i SQL Server-AZ SQL Server.For more information, see Configure and manage Azure AD authentication with SQL Database or Azure Synapse and SQL Server - az sql server.

Następne krokiNext steps