Delen via


Microsoft Entra-verificatie configureren en beheren met Azure SQL

Van toepassing op:Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics

In dit artikel leest 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 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:

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-eindpuntop de overzichtspagina van uw Azure Synapse Analytics-werkruimte.

Voer de volgende stappen uit om de Microsoft Entra-beheerder in te stellen voor uw logische server in Azure Portal:

  1. Kies in het deelvenster Directory's en abonnementen van Azure Portal de map die uw Azure SQL-resource bevat als de huidige map.

  2. Zoek naar SQL-servers en selecteer vervolgens de logische server voor uw databaseresource om het deelvenster SQL-server te openen.

    Schermopname die laat zien hoe u SQL-servers kunt zoeken en selecteren.

  3. Selecteer in het deelvenster SQL-server voor uw logische server Microsoft Entra-id onder Instellingen om het deelvenster Microsoft Entra-id te openen.

  4. Selecteer In het deelvenster Microsoft Entra-id de optie Beheerder instellen om het deelvenster Microsoft Entra-id te openen.

    Schermopname van de optie voor het instellen van de Microsoft Entra-beheerder voor SQL-servers.

  5. 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 uw gewenste identiteit voor uw Microsoft Entra-beheerder en selecteer deze en selecteer vervolgens Selecteren om het deelvenster te sluiten.

  6. Selecteer Opslaan bovenaan de pagina Microsoft Entra-id voor uw logische server.

    Schermopname van de optie voor het opslaan van een 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.

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 als gebruiker (database-principal) opgeslagen in de database van master de server. Omdat database-principalnamen uniek moeten zijn, kan de weergavenaam van de beheerder niet hetzelfde zijn als de naam van een gebruiker in de database van master 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:

  1. Selecteer in azure Portal in de rechterbovenhoek uw account en kies vervolgens Schakelen tussen mappen om te bevestigen welke map uw huidige map is. Schakel indien nodig tussen mappen.

    Schermopname van Azure Portal waarin wordt weergegeven waar u uw directory kunt wijzigen.

  2. Kies in het deelvenster Directory's en abonnementen van Azure Portal de map die uw beheerde exemplaar bevat als de huidige map.''

  3. 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.

    Schermopname van Azure Portal met de Microsoft Entra-beheerpagina geopend voor het geselecteerde beheerde SQL-exemplaar.

  4. Selecteer In het microsoft Entra-beheervenster De beheerder instellen in de navigatiebalk om het deelvenster Microsoft Entra-id te openen.

    Schermopname van de opdracht Beheerder instellen gemarkeerd op de Microsoft Entra-beheerpagina voor het geselecteerde beheerde SQL-exemplaar.

  5. Zoek in het deelvenster Microsoft Entra-id naar een gebruiker, schakel het selectievakje in naast de gebruiker of groep als beheerder en druk op Selecteren om het deelvenster te sluiten en terug te gaan 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.

  6. Selecteer Opslaan op de navigatiebalk van de Microsoft Entra-beheerpagina voor uw beheerde exemplaar om uw Microsoft Entra-beheerder te bevestigen.

    Schermopname van de Microsoft Entra-beheerpagina met de knop Opslaan in de bovenste rij naast de knoppen Beheerder instellen en Beheerder verwijderen.

    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 inschakelen van service-principals om Microsoft Entra-gebruikers te maken.

Rol Adreslijstlezers

Op de pagina Microsoft Entra-id voor SQL Managed Instance in Azure Portal wordt een handige banner weergegeven wanneer aan het exemplaar geen machtigingen voor directorylezer zijn toegewezen.

  1. 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.

    Schermopname van het dialoogvenster voor het verlenen van machtigingen aan een met SQL beheerd exemplaar voor toegang tot Microsoft Entra-id met de knop Machtigingen verlenen geselecteerd.

  2. Wanneer de bewerking is geslaagd, wordt in de rechterbovenhoek een melding geslaagd weergegeven:

    Schermopname van een melding waarin wordt bevestigd dat leesmachtigingen voor Microsoft Entra-id zijn bijgewerkt voor het beheerde exemplaar.

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 maken in SQL

Als u verbinding wilt maken met een database in SQL Database of Azure Synapse Analytics met Microsoft Entra-verificatie, moet een principal worden geconfigureerd op de database voor die identiteit met ten minste de CONNECT machtiging.

Machtigingen voor databasegebruikers

Wanneer een databasegebruiker wordt gemaakt, ontvangt deze standaard de CONNECT machtiging 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 machtigingen op lange termijn en vermindert de kans dat een identiteit de toegang behoudt wanneer dat nodig is.

Voor meer informatie, zie:

Ingesloten databasegebruikers

Een ingesloten databasegebruiker is een type SQL-gebruiker dat niet is verbonden met een aanmelding in de master database. Als u een beheerde Microsoft Entra-databasegebruiker wilt creëren, maakt u verbinding met de database met een Microsoft Entra-identiteit die ten minste de machtiging ELKE GEBRUIKER** heeft. In het volgende T-SQL-voorbeeld wordt een database-principal Microsoft_Entra_principal_name gemaakt op basis van Microsoft Entra-id.

CREATE USER [<Microsoft_Entra_principal_name>] FROM EXTERNAL PROVIDER;

Als u een ingesloten databasegebruiker voor een Microsoft Entra-groep wilt maken, voert u de weergavenaam van de groep in:

CREATE USER [ICU Nurses] FROM EXTERNAL PROVIDER;

Als u een ingesloten databasegebruiker wilt maken voor een beheerde identiteit of service-principal, voert u de weergavenaam van de identiteit in:

CREATE USER [appName] FROM EXTERNAL PROVIDER;

Als u een ingesloten databasegebruiker wilt maken voor een Microsoft Entra-gebruiker, voert u de principal-naam van de gebruiker van de identiteit in:

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-server-principals (of aanmeldingen) worden ondersteund, wat betekent dat ingesloten 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.

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:

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 namen

Speciale tekens, zoals dubbele punt : of ampersand & , wanneer deze worden 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 rechtstreeks gebruikmaakt van de weergavenaam van Microsoft Entra van de identiteit bij het maken van principals, kan dit leiden tot fouten bij het maken van gebruikers. Om dit probleem op te lossen, heeft Azure SQL de WITH OBJECT_ID verbeteringen uitgebracht die momenteel beschikbaar zijn in preview, zodat gebruikers de Microsoft Entra-object-id kunnen opgeven van de identiteit die wordt toegevoegd aan de server of het exemplaar.

Microsoft Graph-machtigingen

Voor CREATE USER ... FROM EXTERNAL PROVIDER de opdracht is Azure SQL-toegang tot Microsoft Entra ID (de externe provider) vereist namens de aangemelde gebruiker. 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 time-out voor de verbinding krijgt verlopen, moet u mogelijk de TransparentNetworkIPResolution parameter 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.