Använd Microsoft Entra-autentisering
Gäller för:Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics
Den här artikeln innehåller en översikt över hur du använder Microsoft Entra-ID (tidigare Azure Active Directory) för att autentisera till Azure SQL Database, Azure SQL Managed Instance, SQL Server på virtuella Windows Azure-datorer, Synapse SQL i Azure Synapse Analytics och SQL Server för Windows och Linux.
Information om hur du skapar och fyller i Microsoft Entra-ID och sedan konfigurerar Microsoft Entra-ID med Azure SQL Database, Azure SQL Managed Instance och Synapse SQL i Azure Synapse Analytics finns i Konfigurera Microsoft Entra ID och Microsoft Entra-ID med SQL Server på virtuella Azure-datorer.
Kommentar
Microsoft Entra-ID är det nya namnet för Azure Active Directory (Azure AD). Vi uppdaterar dokumentationen just nu.
Översikt
Med Microsoft Entra-autentisering kan du centralt hantera identiteterna för databasanvändare och andra Microsoft-tjänster på en central plats. Central ID-hantering ger en enda plats för hantering av databasanvändare och förenklar behörighetshanteringen. Här är några av fördelarna:
Det är ett alternativ till SQL Server-autentisering.
Det hjälper till att stoppa spridningen av användaridentiteter mellan servrar.
Det tillåter lösenordsrotation på en enda plats.
Kunder kan hantera databasbehörigheter med hjälp av Microsoft Entra-grupper.
Det kan eliminera lagring av lösenord genom att aktivera integrerad Windows-autentisering och andra former av autentisering som stöds av Microsoft Entra-ID.
Microsoft Entra-autentisering använder oberoende databasanvändare för att autentisera identiteter på databasnivå.
Microsoft Entra ID stöder tokenbaserad autentisering för program som ansluter till SQL Database och SQL Managed Instance.
Microsoft Entra-autentisering stöder:
- Microsoft Entra-molnbaserade identiteter.
- Microsoft Entra-hybrididentiteter som stöder:
- Molnautentisering med två alternativ i kombination med sömlös autentisering med enkel inloggning (SSO) direktautentisering och lösenordshashautentisering .
- Federerad autentisering.
- Mer information om Microsoft Entra-autentiseringsmetoder och vilken du vill välja finns i följande artikel:
SQL Server Management Studio stöder anslutningar som använder Microsoft Entra med multifaktorautentisering. Multifaktorautentisering ger stark autentisering med en rad enkla verifieringsalternativ – telefonsamtal, sms, smartkort med pin-kod eller mobilappsavisering. Mer information finns i SSMS-stöd för Microsoft Entra multifaktorautentisering med Azure SQL Database, SQL Managed Instance och Azure Synapse
SQL Server Data Tools (SSDT) stöder också en mängd olika autentiseringsalternativ med Microsoft Entra-ID. Mer information finns i Microsoft Entra ID-stöd i SQL Server Data Tools (SSDT).
Konfigurationsstegen innehåller följande procedurer för att konfigurera och använda Microsoft Entra-autentisering.
- Skapa och fylla i en Microsoft Entra-klientorganisation.
- Valfritt: Associera eller ändra den aktuella katalogen som är associerad med din Azure-prenumeration.
- Skapa en Microsoft Entra-administratör.
- Konfigurera klientdatorerna.
- Skapa oberoende databasanvändare i databasen som mappats till Microsoft Entra-identiteter.
- Anslut till databasen med Microsoft Entra-identiteter.
Kommentar
För Azure SQL, virtuella Azure-datorer och SQL Server 2022 stöder Microsoft Entra-autentisering endast åtkomsttoken som kommer från Microsoft Entra-ID och som inte stöder åtkomsttoken från tredje part. Microsoft Entra-ID stöder inte heller omdirigering av Microsoft Entra-ID-frågor till slutpunkter från tredje part. Detta gäller för alla SQL-plattformar och alla operativsystem som stöder Microsoft Entra-autentisering.
Förtroendearkitektur
- Endast molndelen av Microsoft Entra-ID, SQL Database, SQL Managed Instance, SQL Server på virtuella Windows Azure-datorer och Azure Synapse anses ha stöd för interna Microsoft Entra-användarlösenord.
- Om du vill ha stöd för windows-autentiseringsuppgifter för enkel inloggning (eller användare/lösenord för Windows-autentiseringsuppgifter) använder du Microsoft Entra-autentiseringsuppgifter från en federerad eller hanterad domän som är konfigurerad för sömlös enkel inloggning för direkt- och lösenordshashautentisering. Mer information finns i Sömlös enkel inloggning med Microsoft Entra.
- För att stödja federerad autentisering (eller användare/lösenord för Windows-autentiseringsuppgifter) krävs kommunikationen med ADFS-blocket.
Mer information om Microsoft Entra-hybrididentiteter, konfiguration och synkronisering finns i följande artiklar:
- Lösenordshashautentisering – Implementera synkronisering av lösenordshash med Microsoft Entra Anslut Sync
- Direktautentisering – Microsoft Entra-direktautentisering
- Federerad autentisering – Distribuera Active Directory Federation Services (AD FS) i Azure och Microsoft Entra Anslut och federation
Ett exempel på federerad autentisering med ADFS-infrastruktur (eller användare/lösenord för Windows-autentiseringsuppgifter) finns i diagrammet nedan. Pilarna indikerar kommunikationsvägar.
Följande diagram visar federations-, förtroende- och värdrelationer som gör att en klient kan ansluta till en databas genom att skicka en token. Token autentiseras av Microsoft Entra-ID och är betrodd av databasen. Kund 1 kan representera Microsoft Entra-ID med interna användare eller Microsoft Entra-ID med federerade användare. Kund 2 representerar en möjlig lösning, inklusive importerade användare, i det här exemplet kommer från ett federerat Microsoft Entra-ID med ADFS som synkroniseras med Microsoft Entra-ID. Det är viktigt att förstå att åtkomst till en databas med Microsoft Entra-autentisering kräver att värdprenumerationen är associerad med Microsoft Entra-ID:t. Samma prenumeration måste användas för att skapa Azure SQL Database-, SQL Managed Instance- eller Azure Synapse-resurser.
Administratörsstruktur
När du använder Microsoft Entra-autentisering finns det två administratörskonton: den ursprungliga Azure SQL Database-administratören och Microsoft Entra-administratören. Samma begrepp gäller för Azure Synapse. Endast administratören baserat på ett Microsoft Entra-konto kan skapa den första Microsoft Entra-ID:t som innehåller databasanvändaren i en användardatabas. Microsoft Entra-administratörsinloggningen kan vara en Microsoft Entra-användare eller en Microsoft Entra-grupp. När administratören är ett gruppkonto kan det användas av valfri gruppmedlem, vilket möjliggör flera Microsoft Entra-administratörer för servern. Att använda ett gruppkonto som administratör förbättrar hanterbarheten genom att låta dig centralt lägga till och ta bort gruppmedlemmar i Microsoft Entra-ID utan att ändra användare eller behörigheter i SQL Database eller Azure Synapse. Endast en Microsoft Entra-administratör (en användare eller grupp) kan konfigureras när som helst.
Kommentar
Microsoft Entra-autentisering med Azure SQL stöder endast den enda Microsoft Entra-klientorganisationen där Azure SQL-resursen för närvarande finns. Alla Microsoft Entra-objekt från den här klientorganisationen kan konfigureras som användare som tillåter åtkomst till Azure SQL i den här klientorganisationen. Microsoft Entra-administratören måste också komma från Azure SQL-resursens klientorganisation. Microsoft Entra multi-tenant authentication accessing Azure SQL from different tenants are not supported( Microsoft Entra multi-tenant authentication accessing Azure SQL from different tenants are not supported.
Behörigheter
Om du vill skapa nya användare måste du ha behörigheten ALTER ANY USER
i databasen. Behörigheten ALTER ANY USER
kan beviljas alla databasanvändare. Behörigheten ALTER ANY USER
innehas också av serveradministratörskontona och databasanvändare med CONTROL ON DATABASE
eller ALTER ON DATABASE
behörighet för databasen och av medlemmar i databasrollen db_owner
.
Om du vill skapa en innesluten databasanvändare i Azure SQL Database, Azure SQL Managed Instance eller Azure Synapse måste du ansluta till databasen eller instansen med hjälp av en Microsoft Entra-identitet. Om du vill skapa den första inneslutna databasanvändaren måste du ansluta till databasen med hjälp av en Microsoft Entra-administratör (som är ägare till databasen). Detta visas i Konfigurera och hantera Microsoft Entra-autentisering med SQL Database eller Azure Synapse. Microsoft Entra-autentisering är endast möjligt om Microsoft Entra-administratören skapades för Azure SQL Database, Azure SQL Managed Instance eller Azure Synapse. Om Microsoft Entra-administratören har tagits bort från servern kan befintliga Microsoft Entra-användare som skapats tidigare på servern inte längre ansluta till databasen med sina Microsoft Entra-autentiseringsuppgifter.
Funktioner och begränsningar i Microsoft Entra
Följande medlemmar i Microsoft Entra ID kan etableras för Azure SQL Database:
- Interna medlemmar: En medlem som skapats i Microsoft Entra-ID i den hanterade domänen eller i en kunddomän. Mer information finns i Lägga till ditt eget domännamn i Microsoft Entra-ID.
- Medlemmar i en Active Directory-domän federerad med Microsoft Entra-ID på en hanterad domän som konfigurerats för sömlös enkel inloggning med direkt- eller lösenordshashautentisering. Mer information finns i Federation med Microsoft Entra-ID och sömlös enkel inloggning med Microsoft Entra.
- Gästanvändare, en funktion i Microsoft Entra Externt ID som gör att du kan bjuda in användare till din Microsoft Entra-klient från konton utanför din Microsoft Entra-klientorganisation.
- Active Directory-grupper som skapats som säkerhetsgrupper.
Microsoft Entra-användare som ingår i en grupp som är medlem i databasrollen
db_owner
kan inte använda syntaxen CREATE DATABASE SCOPED CREDENTIAL mot Azure SQL Database och Azure Synapse. Följande fel visas:SQL Error [2760] [S0001]: The specified schema name 'user@mydomain.com' either doesn't exist or you do not have permission to use it.
Om du vill minimera problemet CREATE DATABASE SCOPED CREDENTIAL lägger du till den enskilda Microsoft Entra-användaren
db_owner
direkt.Dessa systemfunktioner stöds inte och returnerar NULL-värden när de körs under Microsoft Entra-huvudnamn:
SUSER_ID()
SUSER_NAME(<ID>)
SUSER_SNAME(<SID>)
SUSER_ID(<name>)
SUSER_SID(<name>)
Azure SQL Database skapar inte implicita användare för användare som är inloggade som en del av ett Microsoft Entra-gruppmedlemskap. Därför misslyckas olika åtgärder som kräver att ägarskapet tilldelas, även om Microsoft Entra-gruppen läggs till som medlem i en roll med dessa behörigheter.
En användare som är inloggad i en databas via en Microsoft Entra-grupp med rollen db_ddladmin kan till exempel inte köra CREATE SCHEMA, ALTER SCHEMA och andra objektskapandeinstruktioner utan ett uttryckligt definierat schema (t.ex. tabell, vy eller typ). För att lösa detta måste en Microsoft Entra-användare skapas för den användaren, annars måste Microsoft Entra-gruppen ändras för att tilldela DEFAULT_SCHEMA till dbo.
SQL-hanterad instans
Microsoft Entra-serverhuvudkonton (inloggningar) och användare stöds för SQL Managed Instance.
Det går inte att ange Microsoft Entra-inloggningar som mappats till en Microsoft Entra-grupp som databasägare i SQL Managed Instance.
- Ett tillägg till detta är att när en grupp läggs till som en del av serverrollen kan användare från den
dbcreator
här gruppen ansluta till SQL Managed Instance och skapa nya databaser, men kommer inte att kunna komma åt databasen. Det beror på att den nya databasägaren är SA och inte Microsoft Entra-användaren. Det här problemet visas inte om den enskilda användaren läggs till i serverrollendbcreator
.
- Ett tillägg till detta är att när en grupp läggs till som en del av serverrollen kan användare från den
SQL Agent-hantering och jobbkörning stöds för Microsoft Entra-inloggningar.
Säkerhetskopierings- och återställningsåtgärder för databaser kan köras av Microsoft Entra-serverhuvudkonton (inloggningar).
Granskning av alla instruktioner som rör Microsoft Entra-serverhuvudkonton (inloggningar) och autentiseringshändelser stöds.
Dedikerad administratörsanslutning för Microsoft Entra-serverhuvudkonton (inloggningar) som är medlemmar i sysadmin-serverrollen stöds.
- Stöds via SQLCMD-verktyget och SQL Server Management Studio.
Inloggningsutlösare stöds för inloggningshändelser som kommer från Microsoft Entra-serverhuvudkonton (inloggningar).
Service Broker och DB-e-post kan konfigureras med hjälp av ett Microsoft Entra-serverhuvudnamn (inloggning).
Anslut med hjälp av Microsoft Entra-identiteter
Microsoft Entra-autentisering stöder följande metoder för att ansluta till en databas med hjälp av Microsoft Entra-identiteter:
- Microsoft Entra-lösenord
- Microsoft Entra-integrerat
- Microsoft Entra Universal med multifaktorautentisering
- Använda autentisering med programtoken
Följande autentiseringsmetoder stöds för Microsoft Entra-serverhuvudkonton (inloggningar):
- Microsoft Entra-lösenord
- Microsoft Entra-integrerat
- Microsoft Entra Universal med multifaktorautentisering
Ytterligare överväganden
- För att förbättra hanterbarheten rekommenderar vi att du etablerar en dedikerad Microsoft Entra-grupp som administratör.
- Endast en Microsoft Entra-administratör (en användare eller grupp) kan konfigureras för en server i SQL Database eller Azure Synapse när som helst.
- Tillägget av Microsoft Entra-serverhuvudkonton (inloggningar) för SQL Managed Instance gör det möjligt att skapa flera Microsoft Entra-serverhuvudkonton (inloggningar) som kan läggas till i
sysadmin
rollen.
- Tillägget av Microsoft Entra-serverhuvudkonton (inloggningar) för SQL Managed Instance gör det möjligt att skapa flera Microsoft Entra-serverhuvudkonton (inloggningar) som kan läggas till i
- Endast en Microsoft Entra-administratör för servern kan först ansluta till servern eller den hanterade instansen med ett Microsoft Entra-konto. Microsoft Entra-administratören kan konfigurera efterföljande Microsoft Entra-databasanvändare.
- Microsoft Entra-användare och tjänsthuvudnamn (Microsoft Entra-program) som är medlemmar i fler än 2048 Microsoft Entra-säkerhetsgrupper stöds inte för att logga in på databasen i SQL Database, SQL Managed Instance eller Azure Synapse.
- Vi rekommenderar att du ställer in tidsgränsen för anslutningen till 30 sekunder.
- SQL Server 2016 Management Studio och SQL Server Data Tools för Visual Studio 2015 (version 14.0.60311.1April 2016 eller senare) stöder Microsoft Entra-autentisering. (Microsoft Entra-autentisering stöds av .NET Framework Data Provider för SqlServer, minst version .NET Framework 4.6). Därför kan de senaste versionerna av dessa verktyg och datanivåprogram (DAC och BACPAC) använda Microsoft Entra-autentisering.
- Från och med version 15.0.1 stöder sqlcmd-verktyget och bcp-verktyget Active Directory Interaktiv autentisering med multifaktorautentisering.
- SQL Server Data Tools för Visual Studio 2015 kräver minst april 2016-versionen av dataverktygen (version 14.0.60311.1). För närvarande visas inte Microsoft Entra-användare i SSDT Object Explorer. Som en lösning kan du visa användarna i sys.database_principals.
- Microsoft JDBC Driver 6.0 för SQL Server stöder Microsoft Entra-autentisering. Se även Ange egenskaper för Anslut ion.
- PolyBase kan inte autentisera med hjälp av Microsoft Entra-autentisering.
- Microsoft Entra-autentisering stöds för Azure SQL Database och Azure Synapse med hjälp av bladet Importera databas och exportera databas i Azure-portalen. Import och export med Microsoft Entra-autentisering stöds också från ett PowerShell-kommando.
- Microsoft Entra-autentisering stöds för SQL Database, SQL Managed Instance och Azure Synapse med hjälp av CLI. Mer information finns i Konfigurera och hantera Microsoft Entra-autentisering med SQL Database eller Azure Synapse och SQL Server – az sql server.
Nästa steg
- Information om hur du skapar och fyller i en Microsoft Entra-klientorganisation och sedan konfigurerar den med Azure SQL Database, Azure SQL Managed Instance eller Azure Synapse finns i Konfigurera och hantera Microsoft Entra-autentisering med SQL Database, SQL Managed Instance eller Azure Synapse.
- En självstudiekurs om hur du använder Microsoft Entra-serverhuvudkonton (inloggningar) med SQL Managed Instance finns i Microsoft Entra-serverhuvudkonton (inloggningar) med SQL Managed Instance
- En översikt över inloggningar, användare, databasroller och behörigheter i SQL Database finns i Inloggningar, användare, databasroller och behörigheter.
- Mer information om huvudkonton finns i Huvudkonton.
- Mer information om databasroller finns Databasroller.
- Syntax för att skapa Microsoft Entra-serverhuvudnamn (inloggningar) för SQL Managed Instance finns i SKAPA INLOGGNING.
- Mer information om brandväggsregler i SQL Database finns SQL Database-brandväggsregler.