Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
              gäller för: SQL Server 2022 (16.x)
Den här artikeln beskriver en stegvis process för att konfigurera autentisering med Microsoft Entra-ID med appregistrering och visar hur du använder olika Microsoft Entra-autentiseringsmetoder.
Not
Microsoft Entra ID tidigare kallades Azure Active Directory (Azure AD).
I den här handledningen lär du dig:
- Skapa och registrera ett Microsoft Entra-program
- Bevilja behörigheter till Microsoft Entra-programmet
- Skapa och tilldela ett certifikat
- Konfigurera Microsoft Entra-autentisering för SQL Server via Azure-portalen
- Skapa inloggningar och användare
- Ansluta med en autentiseringsmetod som stöds
Förutsättningar
- En fysisk eller virtuell Windows Server lokalt med en instans av SQL Server 2022 (16.x). - Information om SQL Server på virtuella Azure-datorer finns i Aktivera Microsoft Entra-autentisering för SQL Server på virtuella Azure-datorer. 
- Servern och instansen som aktiveras av Azure Arc. Mer information finns i Ansluta SQL Server till Azure Arc. 
- Åtkomst till Microsoft Entra-ID är tillgängligt för autentisering. Mer information finns i Microsoft Entra-autentisering för SQL Server. 
- SQL Server Management Studio (SSMS) version 18.0 eller senare är installerad på klientdatorn. 
- Ett certifikat som stöds. 
- Nätverkskrav för aktivering av Entra ID-autentisering - Microsoft Entra ID stöder CSP-certifikat. Entra-ID stöder inte CNG-certifikat. 
Autentiseringskrav
Not
Du kan använda Azure för att automatiskt skapa Azure Key Vault-certifikatet och Microsoft Entra-programmet när du konfigurerar en Microsoft Entra-administratör för servern. Mer information finns i Handledning: Använda automatisering för att konfigurera Microsoft Entra-administratören för SQL Server.
- Microsoft Entra-programregistrering för SQL Server. Genom att registrera en SQL Server-instans som ett Microsoft Entra-program kan instansen köra frågor mot Microsoft Entra-ID och göra det möjligt för Microsoft Entra-programmet att autentisera åt SQL Server-instansen. Programregistrering kräver också några behörigheter som används av SQL Server för vissa frågor. 
- SQL Server använder ett certifikat för den här autentiseringen, som lagras i Azure Key Vault (AKV). Azure Arc-agenten laddar ner certifikatet till värddatorn för SQL Server-instansen. 
Varning
Anslutningar som autentiseras av Microsoft Entra-ID krypteras alltid. Om SQL Server använder ett självsignerat certifikat måste du lägga till trust server cert = true i anslutningssträngen. SQL Server- och Windows-autentiserade anslutningar kräver inte kryptering, men det rekommenderas starkt.
SQL Server ansluter direkt till Microsoft Entra-ID för autentisering. Antingen måste explicita brandväggs-URL:er öppnas för direkt åtkomst eller använda en proxyserver. Microsoft Entra-ID använder inte Arc Connected Machine Agent-proxyn för autentisering. Om datorn kräver att en proxyserver används kräver Microsoft Entra-ID att WinHTTP-proxyn på datornivå anges med hjälp av följande kommandon (ersätt <http://proxyserver:port> med lämpligt värde):
netsh winhttp set proxy proxy-server="<http://proxyserver:port>"
Microsoft Entra ID-autentisering använder inte proxyinställningen för Arc-agenten. Arc Agent-proxyn kan anges med hjälp av följande kommandon (ersätt <http://proxyserver:port> med lämpligt värde):
azcmagent config set proxy.url "<http://proxyserver:port>"
Skapa och registrera ett Microsoft Entra-program
- Gå till Azure-portalenoch välj Microsoft Entra ID>Appregistreringar>Ny registrering.
- Ange ett namn – Exemplet i den här artikeln använder SQLServer.
- Välj kontotyper som stöds och använd endast -konton i den här organisationskatalogen
- Ange inte en omdirigerings-URI
- Välj Registrera
 
Se ansökningsregistreringen nedan:
Bevilja applikationsbehörigheter
Välj det nyligen skapade programmet och välj API-behörigheterpå menyn till vänster.
- Välj Lägg till en behörighet>Microsoft Graph>Programbehörigheter
- Kontrollera Directory.Read.All
- Välj Lägg till behörigheter
 
Eller:
- Välj Lägg till en behörighet>Microsoft Graph>Programbehörigheter - Kontrollera Application.Read.All 
- Kontrollera Group.Read.All 
- Kontrollera User.Read.All 
- Välj Lägg till behörigheter 
 
- Välj Bevilja administratörsmedgivande 
Not
För att ge administratörsmedgivande till behörigheterna ovan kräver ditt Microsoft Entra-konto rollen Privilegierad rolladministratör eller högre behörigheter.
Skapa och tilldela ett certifikat
- Gå till Azure-portalen, välj Nyckelvalvoch välj det nyckelvalv som du vill använda eller skapa ett nytt. Välj certifikat>generera/importera - För metoden att skapa certifikat, använd Generera. 
- Lägg till ett certifikatnamn och ämne. Certifikatnamnet måste vara unikt. Ett certifikatnamn som matchar ett befintligt certifikat orsakar ett fel när inloggningen skapas. 
- Den rekommenderade giltighetsperioden är högst 12 månader. Resten av värdena kan lämnas som standard. 
- Välj Skapa. 
   - Not - När certifikatet har skapats kan det stå att det är inaktiverat. Uppdatera webbplatsen så visas certifikatet som aktiverat. 
- Gå till det nya certifikatet och välj raden för certifikatets senaste version. Välj Ladda ned i CER-format för att spara certifikatets offentliga nyckel.   - Not - Detta behöver inte göras på SQL Server-värden. Snarare, vilken klient som helst som får tillgång till Azure-portalen för nästa steg. 
- I Azure-portalen går du till appregistreringen som skapades ovan och väljer certifikat lista - Välj ladda upp certifikatet.
- Välj den offentliga nyckel (.cer fil) som laddades ned i det senaste steget.
- Välj Lägg till.
 
- Hämta objekt-ID för Azure Arc-datorn i Azure-portalen. 
- I portalen navigerar du till Azure Key Vault-instansen där certifikatet lagras och beviljar åtkomst till Azure Machine-resurserna. I navigeringsmenyn i Azure Key Vault går du till Inställningaroch Åtkomstkonfiguration. Detaljerade steg för att hantera rolltilldelningar finns i Tilldela Azure-roller med hjälp av Azure-portalen. - Din upplevelse beror på åtkomstkonfigurationen för nyckelvalvet: - Så här använder du rollbaserad åtkomstkontroll i Azure (rekommenderas): - Lägg till följande roller i resursen. - Key Vault-certifikatanvändare
- Användare av nyckelvalvshemligheter
 
- Kontrollera rollerna på den här platsen: 
 - Så här använder du Vault-åtkomstprincipen: - Välj Åtkomstprinciper på navigeringsmenyn. 
- Välj Skapa. 
- För Hemliga behörigheter, välj Hämta>Lista. 
- För certifikatbehörigheterväljer du Hämta>lista. 
- Välj Nästa. 
- För sidan Principal söker du efter namnet på din Machine – Azure Arc-instans, vilket är värdnamnet på SQL Server-värden. 
- Välj - Granska & skapa .
- Kontrollera att värdet för Principal>Object ID matchar Principal ID för den hanterade identitet som tilldelats instansen.   - Bekräfta genom att gå till resurssidan och välja JSON-vy längst upp till höger i rutan Essentials på sidan Översikt. Under identitet hittar du principalId 
- Välj Skapa. - Du måste välja Skapa för att säkerställa att behörigheterna tillämpas. För att säkerställa att behörigheter har lagrats uppdaterar du webbläsarfönstret och bekräftar att din Azure Arc-instans finns. 
 
Konfigurera Microsoft Entra-autentisering för SQL Server via Azure-portalen
Stegen i Azure-portalen gäller för SQL Server 2022 (16.x).
Stegen i Azure-portalen gäller inte för SQL Server 2025 (17.x) Preview.
Not
Du kan konfigurera Microsoft Entra-autentisering med någon av följande funktioner:
- Gå till Azure-portalen, och välj SQL Server – Azure Arc, och välj serverinstansen för din SQL Server-värd. 
- Kontrollera statusen för din SQL Server – Azure Arc resurs och se om den är ansluten genom att gå till menyn Egenskaper. Mer information finns i Verifiera SQL Server – Azure Arc-resurser. 
- Välj Microsoft Entra-ID och Purview- under Inställningar på resursmenyn. 
- Välj Ange administratör för att öppna panelen Microsoft Entra ID och välj ett konto som ska användas som administratörskonto för SQL Server. 
- Välj kundhanterat certifikat och Välj ett certifikat. 
- Välj Ändra certifikatoch välj din AKV-instans och ditt certifikat som du skapade tidigare i det nya fönstret. 
- Välj kundhanterad appregistrering. 
- Välj Ändra appregistreringoch välj den appregistrering som du skapade tidigare. 
- Välj Spara. Detta skickar en begäran till Arc-serveragenten, som konfigurerar Microsoft Entra-autentisering för den SQL Server-instansen. - Det tar flera minuter att ladda ned certifikat och konfigurera inställningar. När du har angett alla parametrar och valt Spara på Azure-portalen kan följande meddelande visas: - SQL Server's Azure Arc agent is currently processing a request. Values below may be incorrect. Please wait until the agent is done before continuing.- Vänta tills spara-processen har bekräftats med - Saved successfullyinnan du försöker logga in på Microsoft Entra.- Azure Arc-serveragenten kan bara uppdateras när den föregående åtgärden har slutförts. Det innebär att om du sparar en ny Microsoft Entra-konfiguration innan den senaste har slutförts kan det orsaka ett fel. Om du ser meddelandet utökat anrop misslyckades när du väljer Spara, vänta 5 minuter och försök igen. - När Microsoft Entra-administratörsinloggningen - sysadminhar beviljats rollen tar det inte bort den tidigare inloggningen som förblir som en- sysadminom du ändrar Microsoft Entra-administratören i Azure-portalen. Om du vill ta bort inloggningen måste den tas bort manuellt.- Microsoft Entra-administratörsändringen för SQL Server-instansen sker utan omstart av servern när processen har slutförts med SQL Server Azure Arc-agenten. För att den nya administratören ska visas i - sys.server_principalsmåste SQL Server-instansen startas om och tills dess visas den gamla administratören. Den aktuella Microsoft Entra-administratören kan kontrolleras i Azure-portalen.
Skapa inloggningar och användare
När Azure Arc-agenten på SQL Server-värden har slutfört åtgärden är det administratörskonto som valts i Microsoft Entra-ID-menyn i portalen en sysadmin på SQL Server-instansen. Logga in på SQL Server med Microsoft Entra-administratörskontot som har sysadmin behörighet på servern med hjälp av en klient som SSMS.
Not
Alla anslutningar till SQL Server som görs med Microsoft Entra-autentisering kräver en krypterad anslutning. Om databasadministratören (DBA) inte har konfigurerat ett betrott SSL/TLS-certifikat för servern misslyckas troligen inloggningarna med meddelandet:
The certificate chain was issued by an authority that is not trusted.
Du kan åtgärda detta genom att antingen konfigurera SQL Server-instansen så att den använder ett SSL/TLS-certifikat som är betrott av klienten eller väljer förtroendeservercertifikat i de avancerade anslutningsegenskaperna. Mer information finns i Konfigurera SQL Server Database Engine för kryptering av anslutningar.
Skapa inloggningssyntax
Samma syntax för att skapa Microsoft Entra-inloggningar och användare i Azure SQL Database och Azure SQL Managed Instance kan nu användas på SQL Server.
Not
På SQL Server kan alla Microsoft Entra-konton som har behörigheten ALTER ANY LOGIN eller ALTER ANY USER skapa Microsoft Entra-inloggningar respektive användare. Annars kan endast konton med sysadmin behörigheter skapa Microsoft Entra-inloggningar eller användare.
Om du vill skapa en inloggning för ett Microsoft Entra-konto kör du följande T-SQL-kommando i master-databasen:
CREATE LOGIN [principal_name] FROM EXTERNAL PROVIDER;
För användare måste huvudnamnet ha formatet user@tenant.com. I Microsoft Entra-ID är detta användarens huvudnamn. För alla andra kontotyper, till exempel Microsoft Entra-grupper eller program, är huvudnamnet namnet på Microsoft Entra-objektet.
Här är några exempel:
-- login creation for Microsoft Entra user
CREATE LOGIN [user@contoso.com] FROM EXTERNAL PROVIDER;
GO
-- login creation for Microsoft Entra group
CREATE LOGIN [my_group_name] FROM EXTERNAL PROVIDER;
GO
-- login creation for Microsoft Entra application
CREATE LOGIN [my_app_name] FROM EXTERNAL PROVIDER;
GO
Kör T-SQL-kommandot för att visa en lista över Microsoft Entra-inloggningar i master-databasen:
SELECT * FROM sys.server_principals
WHERE type IN ('E', 'X');
Om du vill bevilja ett Microsoft Entra-användarmedlemskap till rollen sysadmin (till exempel admin@contoso.com) kör du följande kommandon i master:
CREATE LOGIN [admin@contoso.com] FROM EXTERNAL PROVIDER;
GO
ALTER SERVER ROLE sysadmin ADD MEMBER [admin@contoso.com];
GO
Den lagrade proceduren sp_addsrvrolemember måste köras som medlem i serverrollen SQL Server sysadmin.
Skapa användarsyntax
Du kan skapa en databasanvändare från Microsoft Entra-ID antingen som en databasanvändare som är associerad med ett serverhuvudnamn (inloggning) eller som en innesluten databasanvändare.
Om du vill skapa en Microsoft Entra-användare från en Microsoft Entra-inloggning i en SQL Server-databas använder du följande syntax:
CREATE USER [principal_name] FROM LOGIN [principal_name];
Syntaxen för principal_name är densamma som för inloggningar.
Här följer några exempel:
-- for Azure AD user
CREATE USER [user@contoso.com] FROM LOGIN [user@contoso.com];
GO
-- for Azure AD group
CREATE USER [my_group_name] FROM LOGIN [my_group_name];
GO
-- for Azure AD application
CREATE USER [my_app_name] FROM LOGIN [my_app_name];
GO
Om du vill skapa en Microsoft Entra-innesluten databasanvändare, som är en användare som inte är kopplad till en serverinloggning, kan följande syntax köras:
CREATE USER [principal name] FROM EXTERNAL PROVIDER;
Använd Microsoft Entra-gruppnamnet eller Microsoft Entra-programnamnet som <principal name> när du skapar en Microsoft Entra-databasanvändare från en grupp eller ett program.
Här följer några exempel:
-- for Azure AD contained user
CREATE USER [user@contoso.com] FROM EXTERNAL PROVIDER;
GO
-- for Azure AD contained group
CREATE USER [my_group_name] FROM EXTERNAL PROVIDER;
GO
--for Azure AD contained application
CREATE USER [my_group_name] FROM EXTERNAL PROVIDER;
GO
Kör följande T-SQL-kommando för att lista de användare som skapats i databasen:
SELECT * FROM sys.database_principals;
En ny databas har standardbehörigheten Anslut. Alla andra SQL Server-behörigheter måste uttryckligen beviljas av auktoriserade beviljare.
Microsoft Entra-gästkonton
Syntaxen CREATE LOGIN och CREATE USER stöder även gästanvändare. Om testuser@outlook.com till exempel bjuds in till contoso.com-klientorganisationen, kan den läggas till som ett inloggningskonto i SQL Server med samma syntax som när du skapar någon annan Microsoft Entra-användare eller -inloggningskonto. När du skapar gästanvändare och inloggningar använder du gästkontots ursprungliga e-post, inte användarens huvudnamn i klientorganisationen. I dessa exempel ges outlook.com även om kontot är registrerat i contoso.com klientorganisation.
Skapa en gästanvändare från en befintlig inloggning
CREATE USER [testuser@outlook.com] FROM LOGIN [testuser@outlook.com];
Skapa en gästanvändare som en innesluten användare
CREATE USER [testuser@outlook.com] FROM EXTERNAL PROVIDER;
Ansluta med en autentiseringsmetod som stöds
SQL Server stöder flera Microsoft Entra-autentiseringsmetoder:
- Förvald
- Användarnamn och lösenord
- Integrerad
- Universell med multifaktorautentisering
- Tjänstens huvudnamn
- Hanterad identitet
- Åtkomsttoken
Använd någon av dessa metoder för att ansluta till SQL Server-instansen. Mer information finns i Microsoft Entra-autentisering för SQL Server.
Autentiseringsexempel med SSMS
Not
Även om Microsoft Entra ID är det nya namnet för Azure Active Directory (Azure AD), kvarstår Azure AD i vissa hårdkodade element, såsom gränssnittsfält, anslutningstjänsteleverantörer, felkoder och cmdletar, för att undvika störningar i befintliga miljöer. I den här artikeln är de två namnen utbytbara.
Nedan visas ögonblicksbilden av anslutningssidan för SQL Server Management Studio (SSMS) med hjälp av autentiseringsmetoden Azure Active Directory – Universal med MFA.
              
               
              
              
            
Under autentiseringsprocessen måste en databas där användaren skapades uttryckligen anges i SSMS. Expandera Alternativ>Anslutningsegenskaper>Anslut till databas: database_name.
För mer information, se Använda Microsoft Entra multifaktorautentisering.
SQL Server-verktyg som stöder Microsoft Entra-autentisering för Azure SQL stöds också för SQL Server 2022 (16.x).
Plats där Microsoft Entra ID-parametrar lagras
Varning
Microsoft Entra-ID-parametrar konfigureras av Azure Arc-agenten och bör inte konfigureras om manuellt.
I Linux lagras Microsoft Entra-ID-parametrar i mssql-conf. Mer information om konfigurationsalternativen i Linux finns i Konfigurera SQL Server på Linux med verktyget mssql-conf.
Kända problem
- Uppdatering av certifikat sprids inte: - När Microsoft Entra-autentisering har konfigurerats för SQL Server kan det hända att uppdatering av certifikatet i SQL Server – Azure Arc-resursens Microsoft Entra-ID och Purview-fönster kanske inte sprids helt. Detta resulterar i att spara blir lyckad men det gamla värdet visas fortfarande. Gör följande för att uppdatera certifikatet: - Välj Ta bort administratörs.
- Välj Spara.
- Välj Ange administratör och konfigurera om Microsoft Entra-autentisering med det nya certifikatet.
- Välj Spara.
 
 
 
              
               
              
               
              
               
              
               
              
               
              
              