Använd Azure Active Directory autentisering för autentisering med SQLUse Azure Active Directory Authentication for authentication with SQL

Azure Active Directory autentisering är en mekanism för att ansluta till Azure SQL Database, hanterad instansoch SQL Data Warehouse med hjälp av identiteter i Azure Active Directory (Azure AD).Azure Active Directory authentication is a mechanism of connecting to Azure SQL Database, Managed Instance, and SQL Data Warehouse by using identities in Azure Active Directory (Azure AD).

Anteckning

Det här avsnittet gäller för Azure SQL-servern, och för både SQL Database- och SQL Data Warehouse-databaser som skapas på Azure SQL-servern.This topic applies to Azure SQL server, and to both SQL Database and SQL Data Warehouse databases that are created on the Azure SQL server. För enkelhetens skull används SQL Database när det gäller både SQL Database och SQL Data Warehouse.For simplicity, SQL Database is used when referring to both SQL Database and SQL Data Warehouse.

Med Azure AD-autentisering kan du hantera identiteter för databasanvändare och andra Microsoft-tjänster på en enda central plats.With Azure AD authentication, you can centrally manage the identities of database users and other Microsoft services in one central location. Hantering av central-ID är en enda plats för att hantera databas användare och för att förenkla behörighets hanteringen.Central ID management provides a single place to manage database users and simplifies permission management. Här är några av fördelarna:Benefits include the following:

  • Det är ett alternativ till att SQL Server autentisering.It provides an alternative to SQL Server authentication.
  • Hjälper till att stoppa spridningen av användar identiteter mellan databas servrar.Helps stop the proliferation of user identities across database servers.
  • Tillåter lösen ords rotation på en enda plats.Allows password rotation in a single place.
  • Kunder kan hantera databas behörigheter med hjälp av externa (Azure AD) grupper.Customers can manage database permissions using external (Azure AD) groups.
  • Det kan eliminera lagring av lösen ord genom att aktivera integrerad Windows-autentisering och andra former av autentisering som stöds av Azure Active Directory.It can eliminate storing passwords by enabling integrated Windows authentication and other forms of authentication supported by Azure Active Directory.
  • Azure AD-autentisering använder inneslutna databas användare för att autentisera identiteter på databas nivå.Azure AD authentication uses contained database users to authenticate identities at the database level.
  • Azure AD stöder tokenbaserad autentisering för program som ansluter till SQL Database.Azure AD supports token-based authentication for applications connecting to SQL Database.
  • Azure AD-autentisering stöder ADFS (Domain Federation) eller autentisering med intern användare/lösenordsautentisering för en lokal Azure Active Directory utan domän-synkronisering.Azure AD authentication supports ADFS (domain federation) or native user/password authentication for a local Azure Active Directory without domain synchronization.
  • Azure AD har stöd för anslutning från SQL Server Management Studio som använder Active Directory Universal Authentication, inklusive 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). I MFA används stark autentisering via en rad enkla verifieringsalternativ – telefonsamtal, SMS, smarta kort med PIN-kod eller avisering i mobilappen.MFA includes strong authentication with a range of easy verification options — phone call, text message, smart cards with pin, or mobile app notification. Läs mer i SSMS-stöd för Azure AD MFA med SQL Database och SQL Data Warehouse.For more information, see SSMS support for Azure AD MFA with SQL Database and SQL Data Warehouse.
  • Azure AD har stöd för liknande anslutningar från SSDT (SQL Server Data Tools) som använder Active Directory Interactive Authentication.Azure AD supports similar connections from SQL Server Data Tools (SSDT) that use Active Directory Interactive Authentication. Läs mer i Stöd för Azure Active Directory i SSDT (SQL Server Data Tools).For more information, see Azure Active Directory support in SQL Server Data Tools (SSDT).

Anteckning

Det går inte att ansluta till SQL Server som körs på en virtuell Azure-dator med ett Azure Active Directory konto.Connecting to SQL Server running on an Azure VM is not supported using an Azure Active Directory account. Använd ett domän Active Directory konto i stället.Use a domain Active Directory account instead.

Konfigurations stegen innehåller följande procedurer för att konfigurera och använda Azure Active Directory autentisering.The configuration steps include the following procedures to configure and use Azure Active Directory authentication.

  1. Skapa och fyll i Azure AD.Create and populate Azure AD.
  2. Valfritt: Associera eller ändra den Active Directory som för närvarande är associerad med din Azure-prenumeration.Optional: Associate or change the active directory that is currently associated with your Azure Subscription.
  3. Skapa en Azure Active Directory administratör för Azure SQL Database-servern, den hanterade instansen eller Azure SQL Data Warehouse.Create an Azure Active Directory administrator for the Azure SQL Database server, the Managed Instance, or the Azure SQL Data Warehouse.
  4. Konfigurera klient datorerna.Configure your client computers.
  5. Skapa inneslutna databas användare i databasen som har mappats till Azure AD-identiteter.Create contained database users in your database mapped to Azure AD identities.
  6. Anslut till databasen med hjälp av Azure AD-identiteter.Connect to your database by using Azure AD identities.

Anteckning

Information om hur du skapar och fyller i Azure AD och sedan konfigurerar Azure AD med Azure SQL Database, hanterad instans och SQL Data Warehouse finns i Konfigurera Azure AD med Azure SQL Database.To learn how to create and populate Azure AD, and then configure Azure AD with Azure SQL Database, Managed Instance, and SQL Data Warehouse, see Configure Azure AD with Azure SQL Database.

Förtroende arkitekturTrust architecture

I följande diagram i hög grad sammanfattas lösnings arkitekturen för att använda Azure AD-autentisering med Azure SQL Database.The following high-level diagram summarizes the solution architecture of using Azure AD authentication with Azure SQL Database. Samma koncept gäller för SQL Data Warehouse.The same concepts apply to SQL Data Warehouse. För att ge stöd åt Azure AD Native User Password anses endast moln delen och Azure AD/Azure SQL Database.To support Azure AD native user password, only the Cloud portion and Azure AD/Azure SQL Database is considered. För att stödja federerad autentisering (eller användare/lösen ord för Windows-autentiseringsuppgifter) krävs kommunikation med ADFS-block.To support Federated authentication (or user/password for Windows credentials), the communication with ADFS block is required. Pilarna visar kommunikations vägar.The arrows indicate communication pathways.

AAD-auth-diagram

Följande diagram visar de Federations-, förtroende-och värd relationer som gör det möjligt för en klient att ansluta till en databas genom att skicka en token.The following diagram indicates the federation, trust, and hosting relationships that allow a client to connect to a database by submitting a token. Token autentiseras av en Azure AD och är betrodd av databasen.The token is authenticated by an Azure AD, and is trusted by the database. Kund 1 kan representera ett Azure Active Directory med interna användare eller en Azure AD med federerade användare.Customer 1 can represent an Azure Active Directory with native users or an Azure AD with federated users. Kund 2 representerar en möjlig lösning inklusive importerade användare. i det här exemplet kommer från en federerad Azure Active Directory med ADFS synkroniseras med 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. Det är viktigt att förstå att åtkomst till en databas med Azure AD-autentisering kräver att värd prenumerationen är kopplad till 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. Samma prenumeration måste användas för att skapa SQL Server som är värd för Azure SQL Database eller SQL Data Warehouse.The same subscription must be used to create the SQL Server hosting the Azure SQL Database or SQL Data Warehouse.

prenumerations relation

Administratörs strukturAdministrator structure

När du använder Azure AD-autentisering finns det två administratörs konton för SQL Database-servern och en hanterad instans. den ursprungliga SQL Server administratören och Azure AD-administratören.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. Samma koncept gäller för SQL Data Warehouse.The same concepts apply to SQL Data Warehouse. Endast administratören som baseras på ett Azure AD-konto kan skapa den första Azure AD-inneslutna databas användaren i en användar databas.Only the administrator based on an Azure AD account can create the first Azure AD contained database user in a user database. Inloggningen för Azure AD-administratören kan vara en Azure AD-användare eller en Azure AD-grupp.The Azure AD administrator login can be an Azure AD user or an Azure AD group. När administratören är ett grupp konto kan den användas av alla grupp medlemmar, vilket möjliggör flera Azure AD-administratörer för SQL Server-instansen.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. Om du använder grupp kontot som administratör ökar hanterbarheten genom att du kan lägga till och ta bort grupp medlemmar centralt i Azure AD utan att ändra användare eller behörigheter i SQL Database.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. Endast en Azure AD-administratör (en användare eller grupp) kan konfigureras när som helst.Only one Azure AD administrator (a user or group) can be configured at any time.

administratörs struktur

BehörigheterPermissions

Om du vill skapa nya användare måste du ha ALTER ANY USER behörighet i-databasen.To create new users, you must have the ALTER ANY USER permission in the database. ALTER ANY USER Behörigheten kan beviljas till alla databas användare.The ALTER ANY USER permission can be granted to any database user. Behörigheten hålls också av Server administratörs kontona och databas användare CONTROL ON DATABASE med behörigheten eller ALTER ON DATABASE för databasen, och av medlemmar i db_owner databas rollen. ALTER ANY USERThe 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.

Om du vill skapa en innesluten databas användare i Azure SQL Database, hanterad instans eller SQL Data Warehouse måste du ansluta till databasen eller instansen med hjälp av en Azure AD-identitet.To create a contained database user in Azure SQL Database, Managed Instance, or SQL Data Warehouse, you must connect to the database or instance using an Azure AD identity. Om du vill skapa den första inneslutna databas användaren måste du ansluta till databasen med hjälp av en Azure AD-administratör (som är ägare till databasen).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). Detta visas i Konfigurera och hantera Azure Active Directory autentisering med SQL Database eller SQL Data Warehouse.This is demonstrated in Configure and manage Azure Active Directory authentication with SQL Database or SQL Data Warehouse. Alla Azure AD-autentiseringar är bara möjliga om Azure AD-administratören har skapats för Azure SQL Database eller SQL Data Warehouse Server.Any Azure AD authentication is only possible if the Azure AD admin was created for Azure SQL Database or SQL Data Warehouse server. Om Azure Active Directory administratören har tagits bort från servern kan befintliga Azure Active Directory användare som skapats tidigare i SQL Server inte längre ansluta till databasen med sina Azure Active Directory-autentiseringsuppgifter.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.

Funktioner och begränsningar i Azure ADAzure AD features and limitations

  • Följande Azure AD-medlemmar kan tillhandahållas i Azure SQL Server eller SQL Data Warehouse:The following members of Azure AD can be provisioned in Azure SQL server or SQL Data Warehouse:

  • Azure AD-användare som är en del av en grupp db_owner som har Server rollen kan inte använda syntaxen skapa databasens begränsade autentiseringsuppgifter mot Azure SQL Database och Azure SQL Data Warehouse.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 SQL Data Warehouse. Följande fel meddelande visas: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.

    Ge rollen direkt till den enskilda Azure AD-användaren för att minimera problemet med att skapa databasen med begränsade autentiseringsuppgifter. db_ownerGrant the db_owner role directly to the individual Azure AD user to mitigate the CREATE DATABASE SCOPED CREDENTIAL issue.

  • Dessa system funktioner returnerar NULL-värden när de körs under Azure AD-huvud konton: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>)

Hanterade instanserManaged Instances

  • Azure AD server-Huvudkonton (inloggningar) och användare stöds som en förhands gransknings funktion för hanterade instanser.Azure AD server principals (logins) and users are supported as a preview feature for Managed Instances.
  • Att ställa in Azure AD server-Huvudkonton (inloggningar) som är mappade till en Azure AD-grupp som databas ägare stöds inte i hanterade instanser.Setting Azure AD server principals (logins) mapped to an Azure AD group as database owner is not supported in Managed Instances.
    • En förlängning av detta är att när en grupp läggs till som en del av dbcreator Server rollen kan användare från den här gruppen ansluta till den hanterade instansen och skapa nya databaser, men kommer inte att kunna komma åt databasen.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. Detta beror på att den nya databas ägaren är SA och inte Azure AD-användaren.This is because the new database owner is SA, and not the Azure AD user. Det här problemet visar inte om den enskilda användaren läggs till i dbcreator Server rollen.This issue does not manifest if the individual user is added to the dbcreator server role.
  • SQL Agent Management och jobb körning stöds för Azure AD server-Huvudkonton (inloggningar).SQL Agent management and jobs execution is supported for Azure AD server principals (logins).
  • Åtgärder för databassäkerhetskopiering och -återställning kan köras av Azure AD-serverhuvudkonton (inloggningar).Database backup and restore operations can be executed by Azure AD server principals (logins).
  • Granskning av alla satser som rör Azure AD server-Huvudkonton (inloggningar) och autentiserings händelser stöds.Auditing of all statements related to Azure AD server principals (logins) and authentication events is supported.
  • Dedikerad administratörs anslutning för Azure AD server-Huvudkonton (inloggningar) som är medlemmar i Server rollen sysadmin stöds.Dedicated administrator connection for Azure AD server principals (logins) which are members of sysadmin server role is supported.
    • Stöds via SQLCMD-verktyget och SQL Server Management Studio.Supported through SQLCMD Utility and SQL Server Management Studio.
  • Inloggningsutlösare stöds för inloggningshändelser som kommer från Azure AD-serverhuvudkonton (inloggningar).Logon triggers are supported for logon events coming from Azure AD server principals (logins).
  • Service Broker-och DB-e-post kan konfigureras med hjälp av ett Azure AD server-huvudobjekt (inloggning).Service Broker and DB mail can be setup using an Azure AD server principal (login).

Ansluta med Azure AD-identiteterConnecting using Azure AD identities

Azure Active Directory-autentisering stöder följande metoder för att ansluta till en databas med hjälp av Azure AD-identiteter:Azure Active Directory authentication supports the following methods of connecting to a database using Azure AD identities:

  • Azure Active Directory lösen ordAzure Active Directory Password
  • Azure Active Directory integreradAzure Active Directory Integrated
  • Azure Active Directory universell med MFAAzure Active Directory Universal with MFA
  • Använda autentisering med program-tokenUsing Application token authentication

Följande autentiseringsmetoder stöds för Azure AD server-Huvudkonton (inloggningar) (offentlig för hands version):The following authentication methods are supported for Azure AD server principals (logins) (public preview):

  • Azure Active Directory lösen ordAzure Active Directory Password
  • Azure Active Directory integreradAzure Active Directory Integrated
  • Azure Active Directory universell med MFAAzure Active Directory Universal with MFA

Annat som är bra att tänka påAdditional considerations

  • För att förbättra hanterbarheten rekommenderar vi att du etablerar en dedikerad Azure AD-grupp som administratör.To enhance manageability, we recommend you provision a dedicated Azure AD group as an administrator.
  • Endast en Azure AD-administratör (en användare eller grupp) kan konfigureras för en Azure SQL Database Server eller Azure SQL Data Warehouse när som helst.Only one Azure AD administrator (a user or group) can be configured for an Azure SQL Database server or Azure SQL Data Warehouse at any time.
    • Genom att lägga till Azure AD server-huvudobjekt (inloggningar) för hanterade instanser (offentlig för hands version) kan du skapa flera Azure AD server-huvudobjekt (inloggningar) som kan sysadmin läggas till i rollen.The addition of Azure AD server principals (logins) for Managed Instances (public preview) allows the possibility of creating multiple Azure AD server principals (logins) that can be added to the sysadmin role.
  • Endast en Azure AD-administratör för SQL Server kan ansluta till Azure SQL Database-servern, hanterad instans eller Azure SQL Data Warehouse med ett Azure Active Directory konto.Only an Azure AD administrator for SQL Server can initially connect to the Azure SQL Database server, Managed Instance, or Azure SQL Data Warehouse using an Azure Active Directory account. Active Directory-administratören kan konfigurera efterföljande Azure AD Database-användare.The Active Directory administrator can configure subsequent Azure AD database users.
  • Vi rekommenderar att du ställer in tids gränsen för anslutningen på 30 sekunder.We recommend setting the connection timeout to 30 seconds.
  • SQL Server 2016 Management Studio och SQL Server Data Tools för Visual Studio 2015 (version 14.0.60311.1 april 2016 eller senare) stöder Azure Active Directory autentisering.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-autentisering stöds av .NET Framework Data Provider för SQLServer; minst version .NET Framework 4,6).(Azure AD authentication is supported by the .NET Framework Data Provider for SqlServer; at least version .NET Framework 4.6). Därför är de senaste versionerna av dessa verktyg och data skikts program (DAC och. BACPAC) kan använda Azure AD-autentisering.Therefore the newest versions of these tools and data-tier applications (DAC and .BACPAC) can use Azure AD authentication.
  • Från och med version 15.0.1, SQLCMD-verktyget och BCP- verktyget stöds Active Directory interaktiv autentisering med MFA.Beginning with version 15.0.1, sqlcmd utility and bcp utility support Active Directory Interactive authentication with MFA.
  • SQL Server Data Tools för Visual Studio 2015 kräver minst april 2016-versionen av data verktyg (version 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). För närvarande visas inte Azure AD-användare i SSDT Object Explorer.Currently Azure AD users are not shown in SSDT Object Explorer. Som en lösning kan du Visa användarna i sys. database_principals.As a workaround, view the users in sys.database_principals.  
  • Microsoft JDBC-drivrutin 6,0 för SQL Server stöder Azure AD-autentisering.Microsoft JDBC Driver 6.0 for SQL Server supports Azure AD authentication. Se även Ange anslutnings egenskaper.Also, see Setting the Connection Properties.
  • PolyBase kan inte autentiseras med Azure AD-autentisering.PolyBase cannot authenticate by using Azure AD authentication.  
  • Azure AD-autentisering stöds för SQL Database av bladet Azure Portal Importera databas och Exportera databas .Azure AD authentication is supported for SQL Database by the Azure portal Import Database and Export Database blades. Import och export med Azure AD-autentisering stöds också från PowerShell-kommandot.Import and export using Azure AD authentication is also supported from the PowerShell command.
  • Azure AD-autentisering stöds för SQL Database, hanterad instans och SQL Data Warehouse med hjälp av CLI.Azure AD authentication is supported for SQL Database, Managed Instance, and SQL Data Warehouse by use CLI. Mer information finns i Konfigurera och hantera Azure Active Directory autentisering med SQL Database eller SQL Data Warehouse och SQL Server-AZ SQL Server.For more information, see Configure and manage Azure Active Directory authentication with SQL Database or SQL Data Warehouse and SQL Server - az sql server.

Nästa stegNext steps