Microsoft Entra-databaseverificatie inschakelen
In deze les ziet u hoe u Microsoft Entra ID gebruikt voor verificatie met Azure SQL Database, Azure SQL Managed Instance en Azure Synapse Analytics.
Opmerking
Microsoft Entra-id werd voorheen Azure Active Directory (Azure AD) genoemd.
U kunt ook Microsoft Entra-verificatie configureren voor SQL Server op virtuele Azure-machines.
Vereiste voorwaarden
Voor het gebruik van Microsoft Entra-verificatie met uw Azure SQL-resource hebt u de volgende vereisten nodig:
- Een Microsoft Entra-tenant die is gevuld met gebruikers en groepen.
- Een bestaande Azure SQL-resource, zoals Azure SQL Database of Azure SQL Managed Instance.
Een Microsoft Entra-tenant maken en vullen
Voordat u Microsoft Entra-verificatie voor uw Azure SQL-resource kunt configureren, moet u een Microsoft Entra-tenant maken en deze vullen met gebruikers en groepen. Microsoft Entra-tenants kunnen volledig worden beheerd in Azure of worden gebruikt voor de federatie van een on-premises Active Directory Domain Service.
Voor meer informatie, zie:
- Wat is Microsoft Entra ID?
- Uw on-premises identiteiten integreren met Microsoft Entra-id
- Uw domeinnaam toevoegen aan Microsoft Entra-id
- Wat is federatie met Microsoft Entra ID?
- Adreslijstsynchronisatie met Microsoft Entra-id
- Microsoft Entra-id beheren met Windows PowerShell
- Vereiste poorten en protocollen voor hybride identiteit
Microsoft Entra-beheerder instellen
Als u Microsoft Entra-verificatie met uw resource wilt gebruiken, moet de Microsoft Entra-beheerder zijn ingesteld. Hoewel conceptueel gezien de stappen hetzelfde zijn voor Azure SQL Database, Azure Synapse Analytics en Azure SQL Managed Instance, worden in deze sectie de verschillende API's en portalervaringen beschreven om dit per product te doen.
De Microsoft Entra-beheerder kan ook worden geconfigureerd wanneer de Azure SQL-resource wordt gemaakt. Als een Microsoft Entra-beheerder al is geconfigureerd, kunt u deze sectie overslaan.
Azure SQL Database en Azure Synapse Analytics
Als u de Microsoft Entra-beheerder instelt, wordt Microsoft Entra-verificatie ingeschakeld voor uw logische server voor Azure SQL Database en Azure Synapse Analytics. U kunt een Microsoft Entra-beheerder voor uw server instellen met behulp van Azure Portal, PowerShell, Azure CLI of REST API's.
In Azure Portal vindt u de naam van de logische server
- In het veld Servernaam op de pagina Overzicht van Azure SQL Database.
- In het veld Servernaam op de pagina Overzicht van uw zelfstandige toegewezen SQL-pool in Azure Synapse Analytics.
- In het relevante SQL-eindpunt op de overzichtspagina van uw Azure Synapse Analytics-werkruimte.
- Azure Portal
- PowerShell
- Azure-CLI
- REST API's
Voer de volgende stappen uit om de Microsoft Entra-beheerder in te stellen voor uw logische server in Azure Portal:
- Kies in het deelvenster Directory's en abonnementen van Azure Portal de map die uw Azure SQL-resource bevat als de huidige map.
- Zoek naar SQL-servers en selecteer vervolgens de logische server voor uw databaseresource om het deelvenster SQL-server te openen.
- Selecteer in het deelvenster SQL-server voor uw logische server Microsoft Entra-id onder Instellingen om het deelvenster Microsoft Entra-id te openen.
- Selecteer In het deelvenster Microsoft Entra-id de optie Beheerder instellen om het deelvenster Microsoft Entra-id te openen.
- In het deelvenster Microsoft Entra-id worden alle gebruikers, groepen en toepassingen in uw huidige map weergegeven en kunt u zoeken op naam, alias of id. Zoek de gewenste identiteit voor uw Microsoft Entra-beheerder en selecteer deze en klik vervolgens op Selecteren om het deelvenster te sluiten.
- Selecteer Opslaan bovenaan de pagina Microsoft Entra-id voor uw logische server.
De object-id wordt weergegeven naast de beheerdersnaam voor Microsoft Entra-gebruikers en -groepen. Voor toepassingen (service-principals) wordt de toepassings-id weergegeven.
Het wijzigen van de beheerder kan enkele minuten duren. Vervolgens wordt de nieuwe beheerder weergegeven in het microsoft-entra-beheerveld.
Als u de beheerder wilt verwijderen, selecteert u bovenaan de pagina Microsoft Entra-id de optie Beheerder verwijderen en selecteert u Opslaan. Als u de Microsoft Entra-beheerder verwijdert, wordt Microsoft Entra-verificatie voor uw logische server uitgeschakeld.
Opmerking
De Microsoft Entra-beheerder wordt opgeslagen in de hoofddatabase van de server als gebruiker (database-principal). Omdat database-principalnamen uniek moeten zijn, kan de weergavenaam van de beheerder niet hetzelfde zijn als de naam van een gebruiker in de hoofddatabase van de server. Als er al een gebruiker met de naam bestaat, mislukt de installatie van de Microsoft Entra-beheerder en wordt deze teruggedraaid, wat aangeeft dat de naam al in gebruik is.
Azure SQL Managed Instance (een beheerde database-instantie van Azure)
Als u de Microsoft Entra-beheerder instelt, wordt Microsoft Entra-verificatie ingeschakeld voor Azure SQL Managed Instance. U kunt een Microsoft Entra-beheerder instellen voor uw met SQL beheerde exemplaar met behulp van Azure Portal, PowerShell, Azure CLI of REST API's.
Als u uw met SQL beheerde exemplaar leesmachtigingen wilt verlenen aan Microsoft Entra ID met behulp van Azure Portal, meldt u zich aan als beheerder van bevoorrechte rollen en voert u de volgende stappen uit:
- In de Azure-portal, selecteer in de rechterbovenhoek uw account en kies vervolgens 'Schakelen tussen directories' om te bevestigen welke directory uw huidige directory is. Schakel indien nodig tussen mappen.
- Kies in het deelvenster Directory's en abonnementen van Azure Portal de map die uw beheerde exemplaar bevat als de huidige map.''
- Zoek naar met SQL beheerde exemplaren en selecteer vervolgens uw beheerde exemplaar om het deelvenster sql Managed Instance te openen. Selecteer vervolgens Microsoft Entra-id onder Instellingen om het deelvenster Microsoft Entra-id voor uw exemplaar te openen.
- Selecteer in het Microsoft Entra-beheervenster 'Beheerder instellen' in de navigatiebalk om het deelvenster Microsoft Entra ID te openen.
- Zoek in het deelvenster Microsoft Entra ID naar een gebruiker, vink het selectievakje aan naast de gebruiker of groep die als beheerder moet fungeren, en druk op Selecteren om het deelvenster te sluiten en terug te keren naar de Microsoft Entra-beheerpagina voor uw beheerde exemplaar. In het deelvenster Microsoft Entra-id worden alle leden en groepen in uw huidige map weergegeven. Grijs weergegeven gebruikers of groepen kunnen niet worden geselecteerd omdat ze niet worden ondersteund als Microsoft Entra-beheerders. Selecteer de identiteit die u als beheerder wilt toewijzen.
- Selecteer Opslaan op de navigatiebalk van de Microsoft Entra-beheerpagina voor uw beheerde exemplaar om uw Microsoft Entra-beheerder te bevestigen. Nadat de wijzigingsbewerking van de beheerder is voltooid, wordt de nieuwe beheerder weergegeven in het veld Microsoft Entra-beheerder. De object-id wordt weergegeven naast de beheerdersnaam voor Microsoft Entra-gebruikers en -groepen. Voor toepassingen (service-principals) wordt de toepassings-id weergegeven.
Aanbeveling
Als u de beheerder wilt verwijderen, selecteert u Beheerder verwijderen boven aan de pagina Microsoft Entra-id en selecteert u Opslaan.
Microsoft Graph-machtigingen toewijzen
SQL Managed Instance heeft machtigingen nodig om Microsoft Entra-id te lezen voor scenario's zoals het autoriseren van gebruikers die verbinding maken via lidmaatschap van beveiligingsgroepen en het maken van nieuwe gebruikers. Microsoft Entra-verificatie werkt alleen als u de identiteit van het beheerde exemplaar toewijst aan de rol Directory Readers. U kunt dit doen met behulp van Azure Portal of PowerShell.
Voor sommige bewerkingen hebben Azure SQL Database en Azure Synapse Analytics ook machtigingen nodig om een query uit te voeren op Microsoft Graph, zoals wordt uitgelegd in Microsoft Graph-machtigingen. Azure SQL Database en Azure Synapse Analytics bieden ondersteuning voor verfijnde Graph-machtigingen voor deze scenario's, terwijl voor SQL Managed Instance de rol Directory Readers is vereist. Fijnmazige machtigingen en hun toewijzing worden uitgebreid beschreven in het in staat stellen van service-principals om Microsoft Entra-gebruikers te creëren.
Rol Adreslijstlezers
Op de pagina Microsoft Entra ID voor SQL Managed Instance in de Azure Portal wordt een handige banner weergegeven wanneer aan het exemplaar geen Directory Reader-machtigingen zijn toegewezen.
- Selecteer de banner boven op de pagina Microsoft Entra-id en verwijs toestemming voor de door het systeem toegewezen of door de gebruiker toegewezen beheerde identiteit die uw exemplaar vertegenwoordigt. Alleen een beheerder van bevoorrechte rollen of een hogere rol in uw tenant kan deze bewerking uitvoeren.
- Wanneer de bewerking slaagt, verschijnt er een succesmelding in de rechterbovenhoek.
De Microsoft Entra-beheerder kan nu worden gebruikt om Microsoft Entra-server-principals (aanmeldingen) en database-principals (gebruikers) te maken. Zie Microsoft Entra-integratie met Azure SQL Managed Instance voor meer informatie.
Microsoft Entra-principals aanmaken in SQL
Als u verbinding wilt maken met een database in SQL Database of Azure Synapse Analytics met Microsoft Entra-verificatie, moet een gebruiker met die identiteit minimaal de machtiging CONNECT hebben op de database.
Machtigingen voor databasegebruikers
Wanneer een databasegebruiker wordt gemaakt, ontvangt deze standaard de machtiging CONNECT voor de database. Een databasegebruiker neemt ook machtigingen over in twee gevallen:
- Als de gebruiker lid is van een Microsoft Entra-groep waaraan ook machtigingen op de server zijn toegewezen.
- Als de gebruiker is gemaakt op basis van een aanmelding, neemt deze de door de server toegewezen machtigingen over van de aanmelding die van toepassing is op de database.
Het beheren van machtigingen voor server- en database-principals werkt hetzelfde, ongeacht het type principal (Microsoft Entra-id, SQL-verificatie, enzovoort). U wordt aangeraden machtigingen te verlenen aan databaserollen in plaats van rechtstreeks machtigingen te verlenen aan gebruikers. Vervolgens kunnen gebruikers worden toegevoegd aan rollen met de juiste machtigingen. Dit vereenvoudigt het beheer van langetermijnmachtigingen en vermindert de kans dat een identiteit toegang behoudt langer dan gepast is.
Voor meer informatie, zie:
- Machtigingen en voorbeelden van database-engine
- Blog: Basisprincipes van database-enginemachtigingen
- Speciale databasesrollen en aanmeldingen beheren in Azure SQL Database
Ingesloten databasegebruikers
Een ingesloten databasegebruiker is een type SQL-gebruiker dat niet is verbonden met een aanmelding in de hoofddatabase. Als u een in Microsoft Entra opgenomen databasegebruiker wilt maken, maakt u verbinding met de database met een Microsoft Entra-identiteit met ten minste de machtiging ALTER ANY USER. In het volgende T-SQL-voorbeeld wordt een database-principal Microsoft_Entra_principal_name gemaakt op basis van de Microsoft Entra-id.
SQL
CREATE USER [<Microsoft_Entra_principal_name>] FROM EXTERNAL PROVIDER;
SQL
CREATE USER [ICU Nurses] FROM EXTERNAL PROVIDER;
SQL
CREATE USER [appName] FROM EXTERNAL PROVIDER;
SQL
CREATE USER [adrian@contoso.com] FROM EXTERNAL PROVIDER;
Op aanmelding gebaseerde gebruikers
Opmerking
Microsoft Entra-server-principals (aanmeldingen) zijn momenteel beschikbaar als openbare preview voor Azure SQL Database en Azure Synapse Analytics. Microsoft Entra-aanmeldingen zijn algemeen beschikbaar voor Azure SQL Managed Instance en SQL Server 2022.
Microsoft Entra-serverprincipes (of inloggegevens) worden ondersteund, wat betekent dat uitgesloten databasegebruikers niet vereist zijn. Database-principals (gebruikers) kunnen worden gemaakt op basis van een server-principal, wat betekent dat Microsoft Entra-gebruikers toegewezen machtigingen van een aanmelding op serverniveau kunnen overnemen.
SQL
CREATE USER [appName] FROM LOGIN [appName];
Zie het overzicht van SQL Managed Instance voor meer informatie. Zie CREATE LOGIN voor syntaxis voor het maken van Microsoft Entra-server-principals (aanmeldingen).
Externe gebruikers
U kunt geen databasegebruiker maken voor een identiteit die wordt beheerd in een andere Microsoft Entra-tenant dan de tenant die is gekoppeld aan uw Azure-abonnement. Gebruikers in andere mappen kunnen echter als externe gebruikers worden geïmporteerd in de gekoppelde map. Ze kunnen vervolgens worden gebruikt om ingesloten databasegebruikers te maken die toegang hebben tot de database. Externe gebruikers kunnen ook toegang krijgen via lidmaatschap van Microsoft Entra-groepen.
Voorbeelden: Een ingesloten databasegebruiker maken die een federatieve of beheerde domeingebruiker van Microsoft Entra vertegenwoordigt:
SQL
CREATE USER [alice@fabrikam.com] FROM EXTERNAL PROVIDER;
Een federatief domeingebruikersaccount dat als externe gebruiker wordt geïmporteerd in een beheerd domein, moet de beheerde domeinidentiteit gebruiken.
Overwegingen voor naamgeving
Speciale tekens zoals dubbele punt: of ampersand wanneer opgenomen als gebruikersnamen in de T-SQL CREATE LOGIN en CREATE USER-instructies worden niet ondersteund.
Microsoft Entra ID en Azure SQL verschillen in hun ontwerp voor gebruikersbeheer op één belangrijke manier: Met Microsoft Entra ID kunnen weergavenamen in een tenant worden gedupliceerd, terwijl Voor Azure SQL alle server-principals op een server of exemplaar en alle database-principals in een database een unieke naam moeten hebben. Omdat Azure SQL direct de weergavenaam van Microsoft Entra van de identiteit gebruikt voor het aanmaken van principals, kan dit bij het maken van gebruikers tot fouten leiden. Om dit probleem op te lossen, heeft Azure SQL de uitbreiding WITH OBJECT_ID uitgebracht in preview, waarmee gebruikers de Microsoft Entra-object-id kunnen opgeven van de identiteit die wordt toegevoegd aan de server of het exemplaar.
Microsoft Graph-machtigingen
De opdracht CREATE USER ... FROM EXTERNAL PROVIDER vereist dat Azure SQL namens de aangemelde gebruiker toegang heeft tot Microsoft Entra ID (de "externe provider"). Soms ontstaan er omstandigheden waardoor Microsoft Entra-id een uitzondering retourneert naar Azure SQL.
- U kunt SQL-fout 33134 tegenkomen, die het microsoft-entra-id-specifieke foutbericht bevat. De fout geeft meestal aan dat de toegang wordt geweigerd, dat de gebruiker zich moet inschrijven bij MFA om toegang te krijgen tot de resource of dat toegang tussen toepassingen van de eerste partij moet worden afgehandeld via preauthorisatie. In de eerste twee gevallen wordt het probleem meestal veroorzaakt door beleidsregels voor voorwaardelijke toegang die zijn ingesteld in de Microsoft Entra-tenant van de gebruiker: ze voorkomen dat de gebruiker toegang krijgt tot de externe provider. Als u het beleid voor voorwaardelijke toegang bijwerkt om toegang tot de toepassing '00000003-0000-0000-c00000000000' (de toepassings-id van de Microsoft Graph API) toe te staan, moet het probleem worden opgelost. Als de fout aangeeft dat de toegang tussen toepassingen van derden moet worden verwerkt via verificatie vooraf, is het probleem omdat de gebruiker is aangemeld als een service-principal. De opdracht moet slagen als deze wordt uitgevoerd door een gebruiker.
- Als u een verbindingstime-out ontvangt die is verlopen, moet u mogelijk de parameter TransparentNetworkIPResolution van de verbindingsreeks instellen op false. Zie Verbindingstime-outprobleem met .NET Framework 4.6.1 - TransparentNetworkIPResolution voor meer informatie.
Zie CREATE USER voor meer informatie over het maken van ingesloten databasegebruikers op basis van Microsoft Entra-identiteiten.
Meervoudige verificatie configureren
Voor een betere beveiliging van uw Azure SQL-resource kunt u meervoudige verificatie (MFA) configureren, waardoor de gebruiker wordt gevraagd om een tweede alternatieve methode te gebruiken voor verificatie bij de database, zoals een telefoongesprek of een authenticator-app.
Als u meervoudige verificatie wilt gebruiken met uw Azure SQL-resource, schakelt u eerst meervoudige verificatie in en gebruikt u vervolgens een beleid voor voorwaardelijke toegang om MFA af te dwingen voor uw Azure SQL-resource.
Verbinding maken met Microsoft Entra
Nadat Microsoft Entra-verificatie is geconfigureerd, kunt u deze gebruiken om verbinding te maken met uw SQL-resource met Microsoft-hulpprogramma's zoals SQL Server Management Studio en SQL Server Data Tools, en clienttoepassingen te configureren om verbinding te maken met behulp van Microsoft Entra-identiteiten.
Problemen met Microsoft Entra-verificatie oplossen
Zie Blog: Problemen met betrekking tot Microsoft Entra-verificatie met Azure SQL Database en Azure Synapse oplossen voor hulp bij het oplossen van problemen.