Azure Active Directory-verificatie gebruiken voor verificatie met SQLUse Azure Active Directory Authentication for authentication with SQL

Azure Active Directory-verificatie is een mechanisme om verbinding te maken met Azure SQL Database, beheerde instantieen Azure Synapse Analytics (voorheen Azure SQL Data Warehouse) met behulp van identiteiten in Azure Active Directory (Azure AD).Azure Active Directory authentication is a mechanism of connecting to Azure SQL Database, managed instance, and Azure Synapse Analytics (formerly Azure SQL Data Warehouse) by using identities in Azure Active Directory (Azure AD).

Notitie

Dit artikel is van toepassing op Azure SQL-server en op zowel SQL Database als Azure Synapse.This article applies to Azure SQL server, and to both SQL Database and Azure Synapse. Voor de eenvoud wordt SQL Database gebruikt bij het verwijzen naar zowel SQL Database als Azure Synapse.For simplicity, SQL Database is used when referring to both SQL Database and Azure Synapse.

Met Azure AD-verificatie kunt u de identiteit van databasegebruikers en andere Microsoft-services op één locatie centraal beheren.With Azure AD authentication, you can centrally manage the identities of database users and other Microsoft services in one central location. Centraal identiteitsbeheer biedt één plek voor het beheren van databasegebruikers en vereenvoudigt het machtigingenbeheer.Central ID management provides a single place to manage database users and simplifies permission management. Dit biedt verschillende voordelen, zoals:Benefits include the following:

  • Het is een alternatief voor SQL Server-verificatieIt provides an alternative to SQL Server authentication
  • Helpt de verspreiding van gebruikersidentiteiten tussen databaseservers te stoppen.Helps stop the proliferation of user identities across database servers.
  • Maakt rotatie van wachtwoorden op één plek mogelijkAllows password rotation in a single place
  • Klanten kunnen databasemachtigingen beheren met behulp van externe groepen (van Azure AD)Customers can manage database permissions using external (Azure AD) groups
  • Wachtwoorden hoeven niet meer te worden opgeslagen door het inschakelen van geïntegreerde Windows-verificatie en andere vormen van authenticatie die worden ondersteund door Azure Active DirectoryIt can eliminate storing passwords by enabling integrated Windows authentication and other forms of authentication supported by Azure Active Directory
  • Azure AD-verificatie gebruikt ingesloten databasegebruikers voor het verifiëren van identiteiten op databaseniveauAzure AD authentication uses contained database users to authenticate identities at the database level
  • Azure AD biedt ondersteuning voor verificatie op basis van tokens voor toepassingen die verbinding maken met SQL DatabaseAzure AD supports token-based authentication for applications connecting to SQL Database
  • Azure AD-verificatie ondersteunt:Azure AD authentication supports:
  • Azure AD ondersteunt verbindingen van SQL Server Management Studio die gebruikmaken van Active Directory Universal-verificatie, waaronder Multi-Factor Authentication (MFA).Azure AD supports connections from SQL Server Management Studio that use Active Directory Universal Authentication, which includes Multi-Factor Authentication (MFA). MFA omvat robuuste verificatie met een scala aan gebruikersvriendelijke verificatieopties, waaronder telefoonoproepen, sms-berichten, smartcards met pincode of melding in mobiele app.MFA includes strong authentication with a range of easy verification options — phone call, text message, smart cards with pin, or mobile app notification. Zie SSMS-ondersteuning voor Azure AD MFA met SQL Database en Azure Synapse voor meer informatieFor more information, see SSMS support for Azure AD MFA with SQL Database and Azure Synapse
  • Azure AD biedt ondersteuning voor vergelijkbare verbindingen van SQL Server Data Tools (SSDT) die gebruikmaken van Active Directory Interactive Authentication.Azure AD supports similar connections from SQL Server Data Tools (SSDT) that use Active Directory Interactive Authentication. Zie Azure Active Directory-ondersteuning in SQL Server Data Tools (SSDT) voor meer informatie.For more information, see Azure Active Directory support in SQL Server Data Tools (SSDT)

Notitie

Verbinding maken met SQL Server die wordt uitgevoerd op een Azure VM wordt niet ondersteund met een Azure Active Directory-account.Connecting to SQL Server running on an Azure VM is not supported using an Azure Active Directory account. Gebruik in plaats daarvan een Active Directory-account voor een domein.Use a domain Active Directory account instead.

De configuratiestappen omvatten de volgende procedures voor het configureren en gebruiken van Azure Active Directory-verificatie.The configuration steps include the following procedures to configure and use Azure Active Directory authentication.

  1. Azure AD maken en invullen.Create and populate Azure AD.
  2. Optioneel: de active directory koppelen of wijzigen die momenteel is gekoppeld aan uw Azure-abonnement.Optional: Associate or change the active directory that is currently associated with your Azure Subscription.
  3. Maak een Azure Active Directory-beheerder voor de Azure SQL Database-server, de beheerde instantie of Azure Synapse.Create an Azure Active Directory administrator for the Azure SQL Database server, the managed instance, or Azure Synapse.
  4. Configureer uw clientcomputers.Configure your client computers.
  5. Contactpersonen maken voor databasegebruikers in uw database die zijn toegewezen aan Azure AD-identiteiten.Create contained database users in your database mapped to Azure AD identities.
  6. Maak verbinding met uw database met Azure AD-identiteiten.Connect to your database by using Azure AD identities.

Notitie

Zie Azure AD configureren met Azure SQL Databasevoor meer informatie over het maken en invullen van Azure AD met Azure SQL Database, beheerde instantie en Azure Synapse.To learn how to create and populate Azure AD, and then configure Azure AD with Azure SQL Database, managed instance, and Azure Synapse, see Configure Azure AD with Azure SQL Database.

VertrouwensarchitectuurTrust architecture

  • Als u het native gebruikerswachtwoord van Azure AD wilt ondersteunen, wordt alleen het cloudgedeelte en azure AD/Azure SQL Database in aanmerking genomen.To support Azure AD native user password, only the Cloud portion and Azure AD/Azure SQL Database is considered.
  • Als u windows-inloggegevens (of gebruikers/wachtwoord voor Windows-referenties) wilt ondersteunen, gebruikt u Azure Active Directory-referenties van een federatief of beheerd domein dat is geconfigureerd voor naadloze eenmalige aanmelding voor verificatie van doorgeef- en wachtwoordhash.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. Zie Azure Active Directory Seamless Single Sign-Onvoor meer informatie.For more information, see Azure Active Directory Seamless Single Sign-On.
  • Om Federated-verificatie (of gebruiker/wachtwoord voor Windows-referenties) te ondersteunen, is de communicatie met ADFS-blokkering vereist.To support Federated authentication (or user/password for Windows credentials), the communication with ADFS block is required.

Zie de volgende artikelen voor meer informatie over hybride azure-identiteiten van AD, de installatie en synchronisatie:For more information on Azure AD hybrid identities, the setup, and synchronization, see the following articles:

Zie het onderstaande diagram voor een voorbeeldfederated authentication met ADFS-infrastructuur (of gebruiker/wachtwoord voor Windows-referenties).For a sample federated authentication with ADFS infrastructure (or user/password for Windows credentials), see the diagram below. De pijlen geven communicatietrajecten aan.The arrows indicate communication pathways.

aad auth-diagram

In het volgende diagram worden de federatie-, vertrouwens- en hostingrelaties weergegeven waarmee een client verbinding kan maken met een database door een token in te dienen.The following diagram indicates the federation, trust, and hosting relationships that allow a client to connect to a database by submitting a token. Het token wordt geverifieerd door een Azure AD en wordt vertrouwd door de database.The token is authenticated by an Azure AD, and is trusted by the database. Klant 1 kan een Azure Active Directory vertegenwoordigen met native gebruikers of een Azure AD met federatieve gebruikers.Customer 1 can represent an Azure Active Directory with native users or an Azure AD with federated users. Klant 2 vertegenwoordigt een mogelijke oplossing inclusief geïmporteerde gebruikers; in dit voorbeeld afkomstig van een gefedereerde Azure Active Directory met ADFS die wordt gesynchroniseerd met 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. Het is belangrijk om te begrijpen dat toegang tot een database met Azure AD-verificatie vereist dat het hostingabonnement is gekoppeld aan het 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. Hetzelfde abonnement moet worden gebruikt om de SQL Server te maken die de Azure SQL Database of Azure Synapse host.The same subscription must be used to create the SQL Server hosting the Azure SQL Database or Azure Synapse.

abonnementsrelatie

BeheerdersstructuurAdministrator structure

Bij het gebruik van Azure AD-verificatie zijn er twee administratoraccounts voor de SQL Database-server en beheerde instantie. de oorspronkelijke SQL Server-beheerder en de Azure AD-beheerder.When using Azure AD authentication, there are two Administrator accounts for the SQL Database server and managed instance; the original SQL Server administrator and the Azure AD administrator. Dezelfde concepten zijn van toepassing op Azure Synapse.The same concepts apply to Azure Synapse. Alleen de beheerder op basis van een Azure AD-account kan de eerste Azure AD-databasegebruiker maken in een gebruikersdatabase.Only the administrator based on an Azure AD account can create the first Azure AD contained database user in a user database. De aanmelding van Azure AD-beheerders kan een Azure AD-gebruiker of een Azure AD-groep zijn.The Azure AD administrator login can be an Azure AD user or an Azure AD group. Wanneer de beheerder een groepsaccount is, kan het door elk groepslid worden gebruikt, waardoor meerdere Azure AD-beheerders voor het SQL Server-exemplaar worden inschakelt.When the administrator is a group account, it can be used by any group member, enabling multiple Azure AD administrators for the SQL Server instance. Het gebruik van groepsaccount als beheerder verbetert de beheerbaarheid doordat u groepsleden centraal toevoegen en verwijderen in Azure AD zonder de gebruikers of machtigingen in SQL Database te wijzigen.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. Slechts één Azure AD-beheerder (een gebruiker of groep) kan op elk gewenst moment worden geconfigureerd.Only one Azure AD administrator (a user or group) can be configured at any time.

beheerstructuur

MachtigingenPermissions

Als u nieuwe gebruikers wilt ALTER ANY USER maken, moet u de toestemming in de database hebben.To create new users, you must have the ALTER ANY USER permission in the database. De ALTER ANY USER toestemming kan worden verleend aan elke databasegebruiker.The ALTER ANY USER permission can be granted to any database user. De ALTER ANY USER machtiging is ook in het bezit van CONTROL ON DATABASE de ALTER ON DATABASE serverbeheerdersaccounts en databasegebruikers db_owner met de of toestemming voor die database en door leden van de databaserol.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.

Als u een opgenomen databasegebruiker wilt maken in Azure SQL Database, beheerde instantie of Azure Synapse, moet u verbinding maken met de database of instantie met behulp van een Azure AD-identiteit.To create a contained database user in Azure SQL Database, managed instance, or Azure Synapse, you must connect to the database or instance using an Azure AD identity. Als u de eerste databasegebruiker wilt maken, moet u verbinding maken met de database met behulp van een Azure AD-beheerder (de eigenaar van de database).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). Dit wordt gedemonstreerd in Azure Active Directory-verificatie configureren en beheren met SQL Database of Azure Synapse.This is demonstrated in Configure and manage Azure Active Directory authentication with SQL Database or Azure Synapse. Azure AD-verificatie is alleen mogelijk als de Azure AD-beheerder is gemaakt voor Azure SQL Database of Azure Synapse.Any Azure AD authentication is only possible if the Azure AD admin was created for Azure SQL Database or Azure Synapse. Als de Azure Active Directory-beheerder van de server is verwijderd, kunnen bestaande Azure Active Directory-gebruikers die eerder in SQL Server zijn gemaakt, geen verbinding meer maken met de database met behulp van hun Azure Active Directory-referenties.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.

Azure AD-functies en -beperkingenAzure AD features and limitations

  • De volgende leden van Azure AD kunnen worden ingericht in Azure SQL-server of Azure Synapse:The following members of Azure AD can be provisioned in Azure SQL server or Azure Synapse:

  • Azure AD-gebruikers die deel uitmaken db_owner van een groep met serverrol kunnen de syntaxis VAN DE REFERENTIEVAN DE DATABASESCOPED MAKEN niet gebruiken voor Azure SQL Database en 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. U ziet de volgende fout: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.

    Geef db_owner de rol rechtstreeks toe aan de afzonderlijke Azure AD-gebruiker om het probleem met de ontgeldende referentieprobleem VOOR DE DATABASE MAKEN te beperken.Grant the db_owner role directly to the individual Azure AD user to mitigate the CREATE DATABASE SCOPED CREDENTIAL issue.

  • Met deze systeemfuncties worden NULL-waarden weergegeven wanneer deze worden uitgevoerd onder Azure AD-principals: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>)

Beheerde exemplarenManaged instances

  • Azure AD-serverprincipals (aanmeldingen) en gebruikers worden ondersteund als voorbeeldfunctie voor beheerde exemplaren.Azure AD server principals (logins) and users are supported as a preview feature for managed instances.
  • Azure AD-serverprincipals (aanmeldingen) instellen die zijn toegewezen aan een Azure AD-groep als database-eigenaar wordt niet ondersteund in beheerde instanties.Setting Azure AD server principals (logins) mapped to an Azure AD group as database owner is not supported in managed instances.
    • Een uitbreiding hiervan is dat wanneer een groep dbcreator wordt toegevoegd als onderdeel van de serverrol, gebruikers uit deze groep verbinding kunnen maken met de beheerde instantie en nieuwe databases kunnen maken, maar geen toegang hebben tot de database.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 managed instance and create new databases, but will not be able to access the database. Dit komt omdat de nieuwe database-eigenaar SA is en niet de Azure AD-gebruiker.This is because the new database owner is SA, and not the Azure AD user. Dit probleem manifesteert zich niet als dbcreator de individuele gebruiker wordt toegevoegd aan de serverrol.This issue does not manifest if the individual user is added to the dbcreator server role.
  • SQL Agent-beheer en uitvoering van taken worden ondersteund voor Azure AD-serverprincipals (aanmeldingen).SQL Agent management and jobs execution are supported for Azure AD server principals (logins).
  • Database-back-up en herstelbewerkingen kunnen worden uitgevoerd door Azure AD-server-principals (aanmeldingen).Database backup and restore operations can be executed by Azure AD server principals (logins).
  • Controle van alle instructies met betrekking tot Azure AD-serverprincipals (aanmeldingen) en verificatiegebeurtenissen wordt ondersteund.Auditing of all statements related to Azure AD server principals (logins) and authentication events is supported.
  • Er wordt ondersteuning ondersteund voor een speciale beheerdersverbinding voor Azure AD-serverprincipals (aanmeldingen) die lid zijn van de sysadmin-serverrol.Dedicated administrator connection for Azure AD server principals (logins) which are members of sysadmin server role is supported.
    • Ondersteund via SQLCMD Utility en SQL Server Management Studio.Supported through SQLCMD Utility and SQL Server Management Studio.
  • Aanmeldingstriggers worden ondersteund voor aanmeldingsgebeurtenissen die afkomstig zijn van Azure AD-server-principal s(aanmeldingen).Logon triggers are supported for logon events coming from Azure AD server principals (logins).
  • Service Broker en DB-mail kunnen worden ingesteld met behulp van een Azure AD-serverprincipal (login).Service Broker and DB mail can be setup using an Azure AD server principal (login).

Verbinding maken met Azure AD-identiteitenConnecting using Azure AD identities

Azure Active Directory-verificatie ondersteunt de volgende methoden om verbinding te maken met een database met Azure AD-identiteiten:Azure Active Directory authentication supports the following methods of connecting to a database using Azure AD identities:

  • Azure Active Directory-wachtwoordAzure Active Directory Password
  • Azure Active Directory geïntegreerdAzure Active Directory Integrated
  • Azure Active Directory Universal met MFAAzure Active Directory Universal with MFA
  • Verificatie van toepassingstoken gebruikenUsing Application token authentication

De volgende verificatiemethoden worden ondersteund voor Azure AD-serverprincipals (aanmeldingen):The following authentication methods are supported for Azure AD server principals (logins):

  • Azure Active Directory-wachtwoordAzure Active Directory Password
  • Azure Active Directory geïntegreerdAzure Active Directory Integrated
  • Azure Active Directory Universal met MFAAzure Active Directory Universal with MFA

Aanvullende overwegingenAdditional considerations

  • Om de beheerbaarheid te verbeteren, raden we u aan een speciale Azure AD-groep in te richten als beheerder.To enhance manageability, we recommend you provision a dedicated Azure AD group as an administrator.
  • Slechts één Azure AD-beheerder (een gebruiker of groep) kan op elk gewenst moment worden geconfigureerd voor een Azure SQL Database-server of Azure Synapse.Only one Azure AD administrator (a user or group) can be configured for an Azure SQL Database server or Azure Synapse at any time.
    • De toevoeging van Azure AD-serverprincipals (aanmeldingen) voor beheerde exemplaren maakt het mogelijk om meerdere sysadmin Azure AD-serverprincipals (aanmeldingen) te maken die aan de rol kunnen worden toegevoegd.The addition of Azure AD server principals (logins) for managed instances allows the possibility of creating multiple Azure AD server principals (logins) that can be added to the sysadmin role.
  • Alleen een Azure AD-beheerder voor SQL Server kan in eerste instantie verbinding maken met de Azure SQL Database-server, beheerde instantie of Azure Synapse met behulp van een Azure Active Directory-account.Only an Azure AD administrator for SQL Server can initially connect to the Azure SQL Database server, managed instance, or Azure Synapse using an Azure Active Directory account. De Active Directory-beheerder kan volgende Azure AD-databasegebruikers configureren.The Active Directory administrator can configure subsequent Azure AD database users.
  • We raden u aan de time-out van de verbinding in te stellen op 30 seconden.We recommend setting the connection timeout to 30 seconds.
  • SQL Server 2016 Management Studio en SQL Server Data Tools voor Visual Studio 2015 (versie 14.0.60311.1 april 2016 of hoger) ondersteunen Azure Active Directory-verificatie.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. (Azure AD-verificatie wordt ondersteund door de .NET Framework Data Provider voor SqlServer; ten minste versie .NET Framework 4.6).(Azure AD authentication is supported by the .NET Framework Data Provider for SqlServer; at least version .NET Framework 4.6). Daarom de nieuwste versies van deze tools en data-tier toepassingen (DAC en . BACPAC) kan Azure AD-verificatie gebruiken.Therefore the newest versions of these tools and data-tier applications (DAC and .BACPAC) can use Azure AD authentication.
  • Beginnend met versie 15.0.1 ondersteunen sqlcmd utility en bcp utility Active Directory Interactive-authenticatie met MFA.Beginning with version 15.0.1, sqlcmd utility and bcp utility support Active Directory Interactive authentication with MFA.
  • SQL Server Data Tools voor Visual Studio 2015 vereist ten minste de april 2016-versie van de Data Tools (versie 14.0.60311.1).SQL Server Data Tools for Visual Studio 2015 requires at least the April 2016 version of the Data Tools (version 14.0.60311.1). Momenteel worden Azure AD-gebruikers niet weergegeven in SSDT Object Explorer.Currently Azure AD users are not shown in SSDT Object Explorer. Bekijk de gebruikers in sys.database_principalsals tijdelijke oplossing.As a workaround, view the users in sys.database_principals.  
  • Microsoft JDBC Driver 6.0 voor SQL Server ondersteunt Azure AD-verificatie.Microsoft JDBC Driver 6.0 for SQL Server supports Azure AD authentication. Zie Ook de verbindingseigenschappen instellen.Also, see Setting the Connection Properties.
  • PolyBase kan zich niet verifiëren met Azure AD-verificatie.PolyBase cannot authenticate by using Azure AD authentication.  
  • Azure AD-verificatie wordt voor SQL Database ondersteund door de azure-portal Import Database en Export Database blades.Azure AD authentication is supported for SQL Database by the Azure portal Import Database and Export Database blades. Importeren en exporteren met Azure AD-verificatie wordt ook ondersteund vanuit de opdracht PowerShell.Import and export using Azure AD authentication is also supported from the PowerShell command.
  • Azure AD-verificatie wordt ondersteund voor SQL Database, beheerde instantie en Azure Synapse met behulp van CLI.Azure AD authentication is supported for SQL Database, managed instance, and Azure Synapse with using CLI. Zie Azure Active Directory-verificatie configureren en beheren met SQL Database of Azure Synapse en SQL Server - az sql server.For more information, see Configure and manage Azure Active Directory authentication with SQL Database or Azure Synapse and SQL Server - az sql server.

Volgende stappenNext steps