Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op: Alleen SQL Server 2022 (16.x).
In dit artikel wordt een stapsgewijs proces beschreven voor het instellen van verificatie met Microsoft Entra-id en wordt gedemonstreerd hoe u verschillende Microsoft Entra-verificatiemethoden gebruikt.
Notitie
Microsoft Entra ID voorheen Azure Active Directory (Azure AD) werd genoemd.
In deze zelfstudie leert u het volgende:
- Een Microsoft Entra-toepassing maken en registreren
- Machtigingen verlenen aan de Microsoft Entra-toepassing
- Een certificaat maken en toewijzen
- Microsoft Entra-verificatie configureren voor SQL Server via Azure Portal
- Aanmeldingen en gebruikers maken
- Verbinding maken met een ondersteunde verificatiemethode
Voorwaarden
Een fysieke of virtuele Windows Server on-premises met een exemplaar van SQL Server 2022 (16.x).
Raadpleeg Microsoft Entra-verificatie inschakelen voor SQL Server op Azure-VM's.
De server en het exemplaar dat zijn ingeschakeld door Azure Arc. Zie Uw SQL Server verbinden met Azure Arcvoor meer informatie.
Toegang tot Microsoft Entra-id is beschikbaar voor verificatiedoeleinden. Zie Microsoft Entra-verificatie voor SQL Server-voor meer informatie.
SQL Server Management Studio (SSMS) versie 18.0 of hoger is geïnstalleerd op de clientcomputer.
Een ondersteund certificaat.
Netwerkvereisten voor het inschakelen van Entra ID-verificatie
Microsoft Entra ID ondersteunt CSP-certificaten. Entra-id biedt geen ondersteuning voor CNG-certificaten.
Verificatievereisten
Notitie
U kunt Azure gebruiken om automatisch het Azure Key Vault-certificaat en de Microsoft Entra-toepassing te maken wanneer u een Microsoft Entra-beheerder voor de server instelt. Zie Zelfstudie: Automatisering gebruiken om de Microsoft Entra-beheerder voor SQL Server-in te stellen voor meer informatie.
Registratie van Microsoft Entra-toepassingen voor SQL Server. Als u een SQL Server-exemplaar registreert als een Microsoft Entra-toepassing, kan het exemplaar een query uitvoeren op Microsoft Entra-id en kan de Microsoft Entra-toepassing worden geverifieerd namens het SQL Server-exemplaar. Voor toepassingsregistratie zijn ook enkele machtigingen vereist, die worden gebruikt door SQL Server voor bepaalde query's.
SQL Server gebruikt een certificaat voor deze verificatie, dat is opgeslagen in Azure Key Vault (AKV). De Azure Arc-agent downloadt het certificaat naar de SQL Server-exemplaarhost.
Waarschuwing
Verbindingen die worden geverifieerd door de Microsoft Entra-id, worden altijd versleuteld. Als SQL Server een zelfondertekend certificaat gebruikt, moet u trust server cert = true
toevoegen aan de verbindingsreeks. Voor geverifieerde SQL Server- en Windows-verbindingen is geen versleuteling vereist, maar het wordt sterk aanbevolen.
SQL Server maakt rechtstreeks verbinding met Microsoft Entra ID voor verificatie.
Expliciete firewall-URL's moeten worden geopend voor directe toegang, of een proxyserver moet worden gebruikt. Microsoft Entra ID maakt geen gebruik van de proxy van de Arc Connected Machine Agent voor verificatie. Als voor de computer een proxyserver is vereist, vereist Microsoft Entra ID dat de WinHTTP-proxy op computerniveau is ingesteld met behulp van de volgende opdrachten (vervang <http://proxyserver:port>
door de juiste waarde):
netsh winhttp set proxy proxy-server="<http://proxyserver:port>"
Microsoft Entra ID-verificatie maakt geen gebruik van de proxy-instelling voor de Arc-agent. De Arc Agent-proxy kan worden ingesteld met behulp van de volgende opdrachten (vervang <http://proxyserver:port>
door de juiste waarde):
azcmagent config set proxy.url "<http://proxyserver:port>"
Een Microsoft Entra-toepassing maken en registreren
- Ga naar de Azure Portalen selecteer Microsoft Entra ID>App-registraties>Nieuwe registratie.
- Geef een naam op: in het voorbeeld in dit artikel wordt SQLServerCTP1-gebruikt.
- Selecteer Ondersteunde accounttypen en gebruik alleen Accounts in deze organisatiemap
- Stel geen omleidings-URI in
- Selecteer Registreren
Zie de onderstaande toepassingsregistratie:
Applicatiemachtigingen verlenen
Selecteer de zojuist gemaakte toepassing en selecteer in het menu aan de linkerkant API-machtigingen.
- Selecteer Een machtiging toevoegen>Microsoft Graph>Toepassingsmachtigingen
- Controleer de toegang tot Directory.Read.All
- Selecteer Machtigingen toevoegen
Of
Selecteer Een machtiging toevoegen>Microsoft Graph>Toepassingsmachtigingen
Controleer Application.Read.All
Controleer Group.Read.All
Controleer User.Read.All
Selecteer Machtigingen toevoegen
Selecteer Beheerderstoestemming verlenen
Notitie
Als u beheerderstoestemming wilt verlenen aan de bovenstaande machtigingen, vereist uw Microsoft Entra-account de rol Beheerder met bevoorrechte rollen of hogere machtigingen.
Een certificaat maken en toewijzen
Ga naar de Azure-portal, selecteer Sleutelkluizenen selecteer de sleutelkluis die u wilt gebruiken of maak een nieuwe sleutelkluis. Selecteer certificaten> genereren/importeren
Gebruik voor de methode voor het maken van certificatenGenereren.
Voeg een certificaatnaam en onderwerp toe. De certificaatnaam moet uniek zijn. Een certificaatnaam die overeenkomt met een bestaand certificaat veroorzaakt een fout wanneer de aanmelding wordt gemaakt.
De aanbevolen geldigheidsperiode is maximaal 12 maanden. De rest van de waarden kan standaard worden achtergelaten.
Selecteer maak.
Notitie
Zodra het certificaat is gemaakt, kan dit zeggen dat het is uitgeschakeld. Vernieuw de site en het certificaat wordt weergegeven als ingeschakeld.
Navigeer naar het nieuwe certificaat en selecteer de rij voor de nieuwste versie van het certificaat. Selecteer Downloaden in CER-indeling om de openbare sleutel van het certificaat op te slaan.
Notitie
Dit hoeft niet te worden gedaan op de SQL Server-host. Integendeel, elke client die toegang zal hebben tot de Azure-portal voor de volgende stap.
Navigeer in Azure Portal naar de app-registratie die hierboven is gemaakt en selecteer certificaten lijst
- Selecteer uploadcertificaat.
- Selecteer de openbare sleutel (.cer bestand) die u in de laatste stap hebt gedownload.
- Selecteer toevoegen.
Haal in Azure Portal de object-id van de Azure Arc-machine op.
Navigeer in de portal naar het Azure Key Vault-exemplaar waar het certificaat is opgeslagen en verkreeg toegang tot de Azure Machine-resource(s). Navigeer in het navigatiemenu van Azure Key Vault naar Instellingenen Access-configuratie. Raadpleeg Azure-rollen toewijzen met behulp van de Azure-portalvoor gedetailleerde stappen voor het beheren van roltoewijzingen.
Uw ervaring is afhankelijk van de toegangsconfiguratie van uw sleutelkluis:
op rollen gebaseerd toegangsbeheer van Azure gebruiken (aanbevolen):
Voeg de volgende rollen toe aan uw resource.
- Key Vault-certificaatgebruiker
- Key Vault-geheimengebruiker
Controleer de rollen op deze locatie:
Vault-toegangsbeleid gebruiken:
Selecteer Toegangsbeleid in het navigatiemenu.
Selecteer maak.
Voor geheime machtigingenselecteert u Ophalen>Lijst.
Voor certificaatmachtigingen selecteer Ophalen>Lijst.
Selecteer Volgende.
Zoek voor Principal-pagina naar de naam van uw Machine - Azure Arc-exemplaar. Dit is de hostnaam van de SQL Server-host.
Selecteer Beoordelen + maken.
Controleer of de waarde voor Principal>Object-id overeenkomt met de Principal-id van de beheerde identiteit die is toegewezen aan het exemplaar.
Als u dit wilt bevestigen, gaat u naar de resourcepagina en selecteert u JSON-weergave in de rechterbovenhoek van het vak Essentials op de pagina Overzicht. Onder identiteit vind je de principalId
Selecteer maak.
U moet Creëren selecteren om ervoor te zorgen dat de toestemmingen worden toegepast. Als u wilt controleren of machtigingen zijn opgeslagen, vernieuwt u het browservenster en controleert u of uw Azure Arc-exemplaar aanwezig is.
Microsoft Entra-verificatie configureren voor SQL Server via Azure Portal
De stappen in Azure Portal zijn van toepassing op SQL Server 2022 (16.x).
De stappen in Azure Portal zijn niet van toepassing op SQL Server 2025 (17.x) Preview.
Notitie
U kunt Microsoft Entra-verificatie configureren met een van de volgende ervaringen:
- Azure CLI
- PowerShell
- ARM-sjabloon
Ga naar de Azure-portalen selecteer SQL Server – Azure Arcen selecteer het exemplaar voor uw SQL Server-host.
Controleer de status van uw SQL Server - Azure Arc-resource en kijk of deze is verbonden door naar het menu Eigenschappen te gaan. Zie De SQL Server - Azure Arc-resourcesvalideren voor meer informatie.
Selecteer Microsoft Entra-id en Purview- onder Instellingen in het resourcemenu.
Selecteer Stel Beheerder in om het deelvenster Microsoft Entra ID te openen en kies een account om te gebruiken als beheerdersaanmelding voor SQL Server.
Selecteer door de klant beheerde certificaat en Selecteer een certificaat.
Selecteer Wijzig certificaaten kies uw AKV-exemplaar en certificaat dat u eerder hebt gemaakt in het nieuwe deelvenster.
Selecteer door de klant beheerde app-registratie.
Selecteer App-registratie wijzigenen selecteer de app-registratie die u eerder hebt gemaakt.
Selecteer opslaan. Hiermee wordt een aanvraag verzonden naar de Arc-serveragent, waarmee Microsoft Entra-verificatie voor dat SQL Server-exemplaar wordt geconfigureerd.
Het duurt enkele minuten om certificaten te downloaden en instellingen te configureren. Nadat u alle parameters hebt ingesteld en Opslaan hebt geselecteerd in Azure Portal, wordt het volgende bericht weergegeven:
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.
Wacht totdat het opslagproces is bevestigd met
Saved successfully
, voordat u een Microsoft Entra-aanmelding probeert uit te voeren.De Azure Arc-serveragent kan alleen worden bijgewerkt nadat de vorige actie is voltooid. Dit betekent dat het opslaan van een nieuwe Microsoft Entra-configuratie voordat de laatste configuratie is voltooid een fout kan veroorzaken. Als het bericht uitgebreide oproep is mislukt wordt weergegeven wanneer u Opslaanselecteert, wacht u vijf minuten en probeert u het opnieuw.
Wanneer de Microsoft Entra-beheerdersaanmelding de rol
sysadmin
heeft gekregen, wordt de vorige aanmelding, die als eensysadmin
blijft, niet verwijderd wanneer u de Microsoft Entra-beheerder wijzigt in de Azure-portal. Als u de aanmelding wilt verwijderen, moet deze handmatig worden verwijderd.De Microsoft Entra-beheerderwijziging voor het SQL Server-exemplaar vindt plaats zonder opnieuw opstarten van de server, zodra het proces is voltooid met de Azure Arc-agent van SQL Server. Om de nieuwe beheerder weer te geven in
sys.server_principals
, moet het SQL Server-exemplaar opnieuw worden opgestart en tot die tijd wordt de oude beheerder weergegeven. De huidige Microsoft Entra-beheerder kan worden ingecheckt in Azure Portal.
Aanmeldingen en gebruikers maken
Nadat de Azure Arc-agent op de SQL Server-host de bewerking heeft voltooid, is het beheerdersaccount dat is geselecteerd in het menu Microsoft Entra ID in de portal een sysadmin
op het SQL Server-exemplaar. Meld u aan bij SQL Server met het Microsoft Entra-beheerdersaccount met sysadmin
machtigingen op de server met behulp van een client zoals SSMS.
Notitie
Alle verbindingen met SQL Server die worden uitgevoerd met Microsoft Entra-verificatie, vereisen een versleutelde verbinding. Als de databasebeheerder (DBA) geen vertrouwd SSL/TLS-certificaat voor de server heeft ingesteld, mislukken aanmeldingen waarschijnlijk met het bericht:
The certificate chain was issued by an authority that is not trusted.
U kunt dit oplossen door het SQL Server-exemplaar te configureren voor het gebruik van een SSL/TLS-certificaat dat wordt vertrouwd door de client of selecteert u het certificaat van de vertrouwensserver in de geavanceerde verbindingseigenschappen. Zie SQL Server Database Engine configureren voor het versleutelen van verbindingenvoor meer informatie.
Aanmeldingssyntaxis maken
Dezelfde syntaxis voor het maken van Microsoft Entra-aanmeldingen en -gebruikers in Azure SQL Database en Azure SQL Managed Instance kan nu worden gebruikt op SQL Server.
Notitie
Op SQL Server kan elk Microsoft Entra-account met de ALTER ANY LOGIN
of ALTER ANY USER
machtiging microsoft Entra-aanmeldingen of -gebruikers maken. Anders kunnen alleen accounts met sysadmin
machtigingen Microsoft Entra-aanmeldingen of -gebruikers maken.
Als u een aanmelding voor een Microsoft Entra-account wilt maken, voert u de volgende T-SQL-opdracht uit in de master
-database:
CREATE LOGIN [principal_name] FROM EXTERNAL PROVIDER;
Voor gebruikers moet de hoofdnaam de indeling user@tenant.com
hebben. In Microsoft Entra ID is dit de principal-naam van de gebruiker. Voor alle andere accounttypen, zoals Microsoft Entra-groepen of -toepassingen, is de principal-naam de naam van het Microsoft Entra-object.
Hier volgen enkele voorbeelden:
-- 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
Als u de Microsoft Entra-aanmeldingen in de master
-database wilt weergeven, voert u de T-SQL-opdracht uit:
SELECT * FROM sys.server_principals
WHERE type IN ('E', 'X');
Als u een Microsoft Entra-gebruikerslidmaatschap wilt verlenen aan de sysadmin
-rol (bijvoorbeeld admin@contoso.com
), voert u de volgende opdrachten uit in master
:
CREATE LOGIN [admin@contoso.com] FROM EXTERNAL PROVIDER;
GO
ALTER SERVER ROLE sysadmin ADD MEMBER [admin@contoso.com];
GO
De sp_addsrvrolemember
opgeslagen procedure moet worden uitgevoerd als lid van de SQL Server-sysadmin
-serverfunctie.
Gebruikerssyntaxis maken
U kunt een databasegebruiker maken op basis van Microsoft Entra ID als een databasegebruiker die is gekoppeld aan een server-principal (aanmelding) of als een ingesloten databasegebruiker.
Als u een Microsoft Entra-gebruiker wilt maken vanuit een Microsoft Entra-aanmelding in een SQL Server-database, gebruikt u de volgende syntaxis:
CREATE USER [principal_name] FROM LOGIN [principal_name];
De principal_name
-syntaxis is hetzelfde als voor inloggen.
Hier volgen enkele voorbeelden:
-- 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
Als u een in Microsoft Entra opgenomen databasegebruiker wilt maken, die een gebruiker is die niet is gekoppeld aan een serveraanmelding, kan de volgende syntaxis worden uitgevoerd:
CREATE USER [principal name] FROM EXTERNAL PROVIDER;
Gebruik de microsoft Entra-groepsnaam of microsoft Entra-toepassingsnaam als <principal name>
bij het maken van een Microsoft Entra-databasegebruiker van een groep of toepassing.
Hier volgen enkele voorbeelden:
-- 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
Voer de volgende T-SQL-opdracht uit om de gebruikers weer te geven die in de database zijn gemaakt:
SELECT * FROM sys.database_principals;
Een nieuwe database heeft standaard connect--machtiging. Alle andere SQL Server-machtigingen moeten expliciet worden verleend door geautoriseerde grantors.
Microsoft Entra-gastaccounts
De syntaxis van de CREATE LOGIN
en CREATE USER
ondersteunt ook gastgebruikers. Als testuser@outlook.com
bijvoorbeeld wordt uitgenodigd voor de contoso.com
-tenant, kan deze worden toegevoegd als een aanmelding bij SQL Server met dezelfde syntaxis als het maken van een andere Microsoft Entra-gebruiker of aanmelding. Wanneer u gastgebruikers en aanmeldingen maakt, gebruikt u de oorspronkelijke e-mail van het gastaccount, niet de principal-naam van de gebruiker in de tenant. In de voorbeelden wordt outlook.com
opgegeven, ook al is het account geregistreerd in de contoso.com
tenant.
Een gastgebruiker maken op basis van een bestaande aanmelding
CREATE USER [testuser@outlook.com] FROM LOGIN [testuser@outlook.com];
Een gastgebruiker maken als een ingesloten gebruiker
CREATE USER [testuser@outlook.com] FROM EXTERNAL PROVIDER;
Verbinding maken met een ondersteunde verificatiemethode
SQL Server ondersteunt verschillende Microsoft Entra-verificatiemethoden:
- Verstek
- Gebruikersnaam en wachtwoord
- Geïntegreerd
- Universeel met meervoudige verificatie
- Service-principal
- Beheerde identiteit
- Toegangstoken
Gebruik een van deze methoden om verbinding te maken met het SQL Server-exemplaar. Zie Microsoft Entra-verificatie voor SQL Server-voor meer informatie.
Verificatievoorbeeld met behulp van SSMS
Notitie
Hoewel Microsoft Entra ID de nieuwe naam is voor Azure Active Directory (Azure AD), om te voorkomen dat bestaande omgevingen worden onderbroken, blijft Azure AD in sommige hardcoded elementen, zoals ui-velden, verbindingsproviders, foutcodes en cmdlets. In dit artikel zijn de twee namen uitwisselbaar.
Hieronder ziet u de momentopname van de SSMS-verbindingspagina (SQL Server Management Studio) met behulp van de verificatiemethode Azure Active Directory - Universeel met MFA-.
Tijdens het verificatieproces moet een database waarin de gebruiker is gemaakt expliciet worden aangegeven in SSMS.
> Optiesvoor verbindingseigenschappen uitvouwen>: Verbinding maken met database: database_name
.
Zie Microsoft Entra-meervoudige verificatie gebruikenvoor meer informatie.
SQL Server-hulpprogramma's die ondersteuning bieden voor Microsoft Entra-verificatie voor Azure SQL, worden ook ondersteund voor SQL Server 2022 (16.x).
Locatie waar Microsoft Entra ID-parameters worden opgeslagen
Waarschuwing
Microsoft Entra ID-parameters worden geconfigureerd door de Azure Arc-agent en moeten niet handmatig opnieuw worden geconfigureerd.
In Linux worden microsoft Entra ID-parameters opgeslagen in mssql-conf
. Zie SQL Server configureren in Linux met het hulpprogramma mssql-confvoor meer informatie over de configuratieopties in Linux.
Bekende problemen
- Het bijwerken van het certificaat wordt niet gerepliceerd:
Zodra de Microsoft Entra-verificatie is geconfigureerd voor SQL Server, kan het bijwerken van het certificaat in het deelvenster Microsoft Entra ID en Purview van de SQL Server - Azure Arc-resource mogelijk niet volledig worden doorgevoerd. Dit resulteert in het opslaan is geslaagd, maar de oude waarde wordt nog steeds weergegeven. Ga als volgt te werk om het certificaat bij te werken:
- Selecteer Admin verwijderen.
- Selecteer opslaan.
- Selecteer Beheer- instellen en configureer Microsoft Entra-verificatie opnieuw met het nieuwe certificaat.
- Selecteer opslaan.