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.
Je kunt server-principals aanmaken en gebruiken uit Microsoft Entra ID (voorheen Azure Active Directory) als logins in de virtuele master database van een Azure Synapse Analytics dedicated SQL-pool.
Note
Microsoft Entra Server Principals zijn momenteel in preview voor Azure Synapse Analytics.
Er zijn verschillende voordelen aan het gebruik van Microsoft Entra-serverprincipals met een dedicated SQL-pool:
- Ondersteun serverrollen voor machtigingsbeheer.
- Ondersteun meerdere Microsoft Entra-gebruikers met speciale rollen voor Azure Synapse Analytics, zoals de
loginmanagerendbmanagerrollen. - Functionele pariteit tussen SQL-aanmeldingen en Microsoft Entra-aanmeldingen.
- Vergroot de ondersteuning voor functionele verbetering, bijvoorbeeld door Microsoft Entra-only authenticatie te gebruiken. Microsoft Entra-only authenticatie stelt je in staat om SQL-authenticatie uit te schakelen, wat de SQL-serverbeheerder, SQL-inloggegevens en gebruikers omvat.
- Gebruik Microsoft Entra-service-principal-accounts met speciale rollen om het volledige proces van het maken en onderhouden van gebruikers en databases te automatiseren met behulp van Microsoft Entra- toepassingen.
Voor meer informatie, zie Microsoft Entra authentication for Azure Synapse Analytics.
Permissions
Om Microsoft Entra-logins te gebruiken of aan te maken in de virtuele master database, heb je de volgende rechten nodig:
- Microsoft Entra-beheerdersmachtigingen of lidmaatschap van de
loginmanagerserverfunctie. Alleen de Microsoft Entra-beheerder kan de eerste Microsoft Entra-login aanmaken. - Moet lid zijn van Microsoft Entra ID binnen dezelfde directory die door Azure Synapse Analytics wordt gebruikt.
Standaard krijgen nieuw aangemaakte Microsoft Entra-aanmeldingen in de master database de machtiging VIEW ANY DATABASE verleend.
Syntaxis van Microsoft Entra-principalen
Gebruik de volgende syntaxis om Microsoft Entra-server- en database-principals te maken en te beheren.
Aanmelding maken
Met deze syntaxis maakt u een aanmelding op serverniveau op basis van een Microsoft Entra-identiteit. Alleen de Microsoft Entra-beheerder kan dit commando uitvoeren in de virtuele master database.
CREATE LOGIN login_name
{
FROM EXTERNAL PROVIDER [WITH OBJECT_ID = 'objectid']
| WITH <option_list> [,..]
}
<option_list> ::=
PASSWORD = { 'password' }
[ , SID = sid ]
De login_name geeft de Microsoft Entra-principal op, een Microsoft Entra-gebruiker, -groep of -toepassing.
Zie CREATE LOGIN (Transact-SQL)voor meer informatie.
Gebruiker aanmaken vanuit inloggegevens
Met de volgende T-SQL-syntaxis wordt een Microsoft Entra-principal op databaseniveau gemaakt die is toegewezen aan een Microsoft Entra-aanmelding in de virtuele master database. Vergelijkbaar met de syntaxis voor het maken van een Microsoft Entra-gebruiker in de database, is het enige verschil dat u FROM LOGIN [login_name] opgeeft in plaats van FROM EXTERNAL PROVIDER.
Gebruik de volgende syntaxis om een Microsoft Entra-gebruiker te maken op basis van een Microsoft Entra-aanmelding.
CREATE USER [user_name] FROM LOGIN [login_name]
U kunt de SID kolom uit sys.database_principals gebruiken om onderscheid te maken tussen een microsoft Entra-databasegebruiker en een Microsoft Entra-gebruiker die is gemaakt op basis van een aanmelding. Voor een ingesloten databasegebruiker is dit SID een binaire tekenreeks van lengte 16. Voor een gebruiker die zich aanmeldt, is de SID 18 tekens lang met een AADE achtervoegsel.
Note
Door het achtervoegsel AADE aan de SID toe te voegen, identificeer je een Microsoft Entra-gebruiker als gegenereerd op basis van een login. Dit betekent echter ook dat de SID's voor de login en de bijbehorende gebruikers niet overeenkomen tussen sys.server_principals en sys.database_principals. Om de gebruiker terug te koppelen aan zijn login, moet je eerst het AADE achtervoegsel verwijderen.
Zie ingesloten databasegebruikers voor meer informatie over het conceptuele verschil tussen gebruikers op basis van aanmeldingen en ingesloten databasegebruikers.
Zie CREATE USER (Transact-SQL) voor meer informatie over alle syntaxis voor het aanmaken van gebruikers.
Schakel een login uit of activeer een login door ALTER LOGIN te gebruiken
Gebruik de DDL-syntaxis ALTER LOGIN (Transact-SQL) om een Microsoft Entra login in een Azure Synapse Analytics speciale SQL-pool in of uit te schakelen.
ALTER LOGIN [login_name] DISABLE
Wanneer je een login uitschakelt, kan de server-principal geen verbinding meer maken. Het uitschakelen van een login voorkomt ook dat alle databaseprincipals (gebruikers) die je met die login hebt aangemaakt, verbinding maken met hun respectievelijke databases.
Note
ALTER LOGIN login_name DISABLEkan contained databasegebruikers niet beïnvloeden, omdat ze niet aan inloggegevens zijn gekoppeld.ALTER LOGIN login_name DISABLEDit wordt niet ondersteund voor Microsoft Entra-groepen.Een afzonderlijk uitgeschakelde aanmelding kan niet toebehoren aan een gebruiker die deel uitmaakt van een inloggroep die je in de
masterdatabase hebt aangemaakt (bijvoorbeeld een Microsoft Entra beheergroep).Om de
DISABLEofENABLEwijzigingen onmiddellijk in werking te stellen, wis je de authenticatiecache en deTokenAndPermUserStorecache met de volgende T-SQL-commando's:DBCC FLUSHAUTHCACHE DBCC FREESYSTEMCACHE('TokenAndPermUserStore') WITH NO_INFOMSGS
Beperkingen en opmerkingen
- De SQL Server-beheerder kan geen Microsoft Entra-aanmeldingen of -gebruikers maken in databases.
- Dedicated SQL pools in Azure Synapse Analytics workspaces gebruiken geen logische SQL-servers.
- Een SQL-beheerder of SQL-gebruiker kan de volgende Microsoft Entra-bewerkingen niet uitvoeren:
CREATE LOGIN [bob@contoso.com] FROM EXTERNAL PROVIDERCREATE USER [bob@contoso.com] FROM EXTERNAL PROVIDEREXECUTE AS USER [bob@contoso.com]ALTER AUTHORIZATION ON securable::name TO [bob@contoso.com]
- Impersonatie van Microsoft Entra server principals (logins) wordt niet ondersteund voor Azure Synapse Analytics:
- EXECUTE AS-clausule (Transact-SQL)
- EXECUTE AS (Transact-SQL)
- Impersonatie van Microsoft Entra-database-principals (gebruikers) in een gebruikersdatabase wordt ondersteund.
- Microsoft Entra-aanmeldingen kunnen niet overlappen met de Microsoft Entra-beheerder. De Microsoft Entra-beheerder heeft prioriteit boven elke aanmelding. Als een Microsoft Entra-account al toegang heeft tot de server als Microsoft Entra-beheerder, afzonderlijk of als onderdeel van een groep, heeft een aanmelding voor dit account geen effect. Het maken van aanmeldingen wordt echter niet geblokkeerd via T-SQL. Nadat het account zich heeft geauthenticeerd bij de server, heeft de login de effectieve rechten van een Microsoft Entra-beheerder, en niet van een nieuw aangemaakte login.
- Het wijzigen van rechten op een specifiek Microsoft Entra-loginobject wordt niet ondersteund:
GRANT <PERMISSION> ON LOGIN :: <Microsoft Entra account> TO <Any other login>
- Wanneer je de rechten voor een Microsoft Entra-login aanpast, worden de wijzigingen standaard pas van kracht de volgende keer dat de login verbinding maakt met de speciale SQL-pool. Eventuele bestaande open verbindingen met de aanmelding worden niet beïnvloed. Als u wilt afdwingen dat wijzigingen van machtigingen onmiddellijk van kracht worden, kunt u de verificatie en TokenAndPermUserStore handmatig wissen, zoals eerder beschreven in het uitschakelen of inschakelen van een aanmelding met ALTER LOGIN. Dit gedrag is ook van toepassing wanneer u wijzigingen aanbrengt in het lidmaatschap van de serverfunctie met ALTER SERVER ROLE.
- In SQL Server Management Studio controleert de scriptopdracht voor het maken van een gebruiker niet of er al een Microsoft Entra-aanmelding
mastermet dezelfde naam is. Het genereert altijd de T-SQL voor een ingesloten database Microsoft Entra-gebruiker. - Er kan een fout optreden als u probeert een login of gebruiker aan te maken vanuit een service-principal met een niet-unieke weergavenaam. Voor meer informatie over het beperken van deze fout, zie Naamoverwegingen.
- Databasegebruikers die zijn aangemaakt met Microsoft Entra-logins kunnen vertragingen ervaren bij het krijgen van rollen en permissies. Als je dit probleem tegenkomt, gebruik dan de volgende commando's:
- Verwijder de gebruiker uit de gebruikersdatabase.
- Voer
DBCC FREESYSTEMCACHE('TokenAndPermUserStore')uit om beveiligingscaches op de database te wissen. - Voer deze opdracht uit
DBCC FLUSHAUTHCACHEom de cache met federatieve verificatiecontext te wissen. - Maak de gebruiker op basis van de aanmelding.
Beperkingen van serverprincipals voor groepen in Microsoft Entra
De volgende beperkingen gelden voor Microsoft Entra group logins in Azure Synapse Analytics:
- Serverrollen worden niet ondersteund voor Microsoft Entra-groepen.
- Als je SQL-beheerder een Microsoft Entra-groep is, ondervinden gebruikers van die groep enkele beperkingen wanneer ze verbinding maken. Niet elke Microsoft Entra-gebruiker wordt afzonderlijk vermeld in de
sys.server_principalstabel. Deze beperking heeft verschillende gevolgen, waaronder aanroepen vanSUSER_SIDdieNULLretourneren. - Microsoft Entra-gebruikersaanmeldingen die deel uitmaken van Microsoft Entra-groepslogins worden niet impliciet aangemaakt. Deze gebruikers hebben geen standaardschema en kunnen geen operaties zoals
CREATE SCHEMAuitvoeren totdat je een login aanmaakt voor de Microsoft Entra-gebruiker of een standaardschema aan de groep toewijst. - Je kunt het eigendom van een database niet veranderen naar een Microsoft Entra-groep als database-eigenaar.
ALTER AUTHORIZATION ON database::<mydb> TO [my_aad_group]mislukt met een foutbericht:Msg 33181, Level 16, State 1, Line 4 The new owner cannot be Azure Active Directory group.