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:Azure SQL Managed Instance
In dit artikel leert u hoe u server-principals (aanmeldingen) gebruikt die worden ondersteund door Microsoft Entra ID (voorheen Azure Active Directory) om een met Azure SQL beheerd exemplaar te beveiligen.
In deze handleiding leer je hoe je:
- Maak een Microsoft Entra-aanmelding voor een met SQL beheerd exemplaar.
- Verken machtigingen voor aanmeldingen in een met SQL beheerd exemplaar.
- Microsoft Entra-gebruikers maken op basis van aanmeldingen.
- Wijs machtigingen toe aan gebruikers en beheer databasebeveiliging.
- Imitatie gebruiken voor gebruikers.
- Gebruik query's voor meerdere databases met gebruikers.
- Meer informatie over beveiligingsfuncties, zoals beveiliging tegen bedreigingen, controle, gegevensmaskering en versleuteling.
Opmerking
Microsoft Entra-id werd voorheen Azure Active Directory (Azure AD) genoemd.
Vereiste voorwaarden
Zorg ervoor dat u aan de volgende vereisten voldoet om de zelfstudie te voltooien:
- SQL Server Management Studio (SSMS)
- Een met SQL beheerd exemplaar
- Volg dit artikel: Quickstart: Een met SQL beheerd exemplaar maken
- U hebt toegang tot uw met SQL beheerde exemplaar en een Microsoft Entra-beheerder ingericht voor het met SQL beheerde exemplaar. Zie voor meer informatie:
Toegang beperken
Beheerde SQL-exemplaren kunnen worden geopend via een privé-IP-adres. Net als een geïsoleerde SQL Server-omgeving hebben toepassingen of gebruikers toegang nodig tot het SQL Managed Instance-netwerk (VNet) voordat een verbinding tot stand kan worden gebracht. Zie Uw toepassing verbinden met SQL Managed Instance voor meer informatie.
Het is ook mogelijk om een service-eindpunt te configureren op een met SQL beheerd exemplaar, waardoor openbare verbindingen op dezelfde manier mogelijk zijn als voor Azure SQL Database. Zie Openbaar eindpunt configureren in Azure SQL Managed Instance voor meer informatie.
Een Microsoft Entra-aanmelding maken met behulp van SSMS
De SQL-beheerder kan de eerste Microsoft Entra-aanmelding maken of de Microsoft Entra-beheerder die is gemaakt tijdens het inrichten. Zie Een Microsoft Entra-beheerder inrichten voor SQL Managed Instance voor meer informatie.
Zie de volgende artikelen voor voorbeelden van het maken van verbinding met SQL Managed Instance:
- Quickstart: Azure VM configureren om verbinding te maken met SQL Managed Instance
- Quickstart: Een punt-naar-site-verbinding met SQL Managed Instance configureren vanuit on-premises
Maak verbinding met uw met SQL beheerde exemplaar met een sysadmin SQL-aanmelding of de Microsoft Entra-beheerder met behulp van SQL Server Management Studio (SSMS).
Klik in Objectverkenner met de rechtermuisknop op de server en kies Nieuwe query.
Gebruik in het queryvenster de volgende syntaxis om een aanmelding te maken voor een lokaal Microsoft Entra-account:
USE master GO CREATE LOGIN login_name FROM EXTERNAL PROVIDER GOIn dit voorbeeld wordt een aanmelding voor het account
nativeuser@aadsqlmi.onmicrosoft.comgemaakt.USE master GO CREATE LOGIN [nativeuser@aadsqlmi.onmicrosoft.com] FROM EXTERNAL PROVIDER GOSelecteer Uitvoeren op de werkbalk om de aanmelding te maken.
Controleer de zojuist toegevoegde aanmelding door de volgende T-SQL-opdracht uit te voeren:
SELECT * FROM sys.server_principals; GO
Zie CREATE LOGIN voor meer informatie.
Machtigingen verlenen om aanmeldingen te maken
Bestaande aanmeldingen moeten over de juiste machtigingen beschikken of deel uitmaken van de juiste serverfuncties om andere Microsoft Entra-aanmeldingen te kunnen maken.
Aanmeldingen voor SQL-verificatie
Als de aanmelding een server-principal op basis van SQL-verificatie is, moet de rol sysadmin worden toegewezen om aanmeldingen voor Microsoft Entra-accounts te maken.
Aanmeldingen voor Microsoft Entra-verificatie
- Als de aanmelding een Microsoft Entra-server-principal is, moet deze worden toegewezen aan de serverrol sysadmin of securityadmin om aanmeldingen te maken voor andere Microsoft Entra-gebruikers, -groepen en -toepassingen.
- Minimaal moet de
ALTER ANY LOGINmachtiging worden verleend om andere Microsoft Entra-aanmeldingen te maken. - Standaard zijn
CONNECT SQLde standaardmachtigingen die zijn verleend aan nieuw gemaakte Microsoft Entra-aanmeldingenmasterenVIEW ANY DATABASE. - De sysadmin-serverrol kan worden verleend aan veel Microsoft Entra-aanmeldingen binnen een beheerd SQL-exemplaar.
Ga als volgende te werk om de aanmelding toe te voegen aan de sysadmin-serverfunctie :
Meld u opnieuw aan bij het met SQL beheerde exemplaar of gebruik de bestaande verbinding met de Microsoft Entra-beheerder of SQL-principal die een sysadmin is.
Klik in Objectverkenner met de rechtermuisknop op de server en kies Nieuwe query.
Verdeel de Microsoft Entra-aanmelding de sysadmin-serverfunctie met behulp van de volgende T-SQL-syntaxis:
ALTER SERVER ROLE sysadmin ADD MEMBER login_name GOIn het volgende voorbeeld wordt de sysadmin-serverfunctie aan de aanmelding
nativeuser@aadsqlmi.onmicrosoft.comverleend:ALTER SERVER ROLE sysadmin ADD MEMBER [nativeuser@aadsqlmi.onmicrosoft.com] GO
Aanvullende Microsoft Entra-aanmeldingen maken met behulp van SSMS
Zodra de Microsoft Entra-aanmelding is gemaakt en sysadmin-bevoegdheden heeft verleend, kan die aanmelding extra aanmeldingen maken met behulp van de FROM EXTERNAL PROVIDER component met CREATE LOGIN.
Maak verbinding met het beheerde SQL-exemplaar met de microsoft Entra-aanmelding door Verbinding maken met server te selecteren in SQL Server Management Studio (SSMS).
- Voer de hostnaam van uw SQL Managed Instance in servernaam in.
- Voor verificatie selecteert u Microsoft Entra MFA om een aanmeldingsvenster met meervoudige verificatie weer te geven. Meld u aan. Zie Universal Authentication (SSMS-ondersteuning voor meervoudige verificatie) voor meer informatie.
Klik in Objectverkenner met de rechtermuisknop op de server en kies Nieuwe query.
Gebruik in het queryvenster de volgende syntaxis om een aanmelding te maken voor een ander Microsoft Entra-account:
USE master GO CREATE LOGIN login_name FROM EXTERNAL PROVIDER GOIn dit voorbeeld wordt een aanmelding gemaakt voor de Microsoft Entra-gebruiker
bob@aadsqlmi.net, waarvan het domeinaadsqlmi.netis gefedereerd met het Microsoft Entra-domeinaadsqlmi.onmicrosoft.com.Voer de volgende T-SQL-opdracht uit. Federatieve Microsoft Entra-accounts zijn de vervangingen van SQL Managed Instance voor on-premises Windows-aanmeldingen en -gebruikers.
USE master GO CREATE LOGIN [bob@aadsqlmi.net] FROM EXTERNAL PROVIDER GOMaak een database in het beheerde SQL-exemplaar met behulp van de syntaxis CREATE DATABASE . Deze database wordt gebruikt om aanmeldingen van gebruikers in de volgende sectie te testen.
Klik in Objectverkenner met de rechtermuisknop op de server en kies Nieuwe query.
Gebruik in het queryvenster de volgende syntaxis om een database met de naam MyMITestDB te maken.
CREATE DATABASE MyMITestDB; GO
Maak een sql Managed Instance-aanmelding voor een groep in Microsoft Entra-id. De groep moet bestaan in De Microsoft Entra-id voordat u de aanmelding toevoegt aan SQL Managed Instance. Zie Een basisgroep maken en leden toevoegen met behulp van Microsoft Entra-id. Maak een groep mygroup en voeg leden toe aan deze groep.
Open een nieuw queryvenster in SQL Server Management Studio.
In dit voorbeeld wordt ervan uitgegaan dat er een groep bestaat met de naam mygroup in Microsoft Entra-id. Voer de volgende opdracht uit:
USE master GO CREATE LOGIN [mygroup] FROM EXTERNAL PROVIDER GOMeld u als test aan bij het met SQL beheerde exemplaar met de zojuist gemaakte aanmelding of groep. Open een nieuwe verbinding met het beheerde SQL-exemplaar en gebruik de nieuwe aanmelding bij het verifiëren.
Klik in Objectverkenner met de rechtermuisknop op de server en kies Nieuwe query voor de nieuwe verbinding.
Controleer de servermachtigingen voor de zojuist gemaakte Microsoft Entra-aanmelding door de volgende opdracht uit te voeren:
SELECT * FROM sys.fn_my_permissions (NULL, 'DATABASE') GO
De ondersteuning van Microsoft Entra-principals van Azure SQL naarmate gebruikers en aanmeldingen worden uitgebreid tot interne en externe gastgebruikers van Microsoft Entra . Gastgebruikers, zowel afzonderlijk als als als onderdeel van een groep, kunnen hetzelfde worden gebruikt als elke andere Microsoft Entra-gebruiker in Azure SQL. Als u wilt dat gastgebruikers andere microsoft Entra-serveraanmeldings- of databasegebruikers kunnen maken, moeten ze gemachtigd zijn om andere identiteiten te lezen in de Microsoft Entra-directory. Deze machtiging is geconfigureerd op mapniveau. Zie machtigingen voor gasttoegang in Microsoft Entra ID voor meer informatie.
Een Microsoft Entra-gebruiker maken op basis van de Microsoft Entra-aanmelding
Autorisatie voor afzonderlijke databases werkt op dezelfde manier in SQL Managed Instance als bij databases in SQL Server. U kunt een gebruiker maken op basis van een bestaande aanmelding in een database waaraan machtigingen zijn verleend voor die database of die is toegevoegd aan een databaserol.
Nu we een database met de naam MyMITestDB en een aanmelding met alleen standaardmachtigingen hebben gemaakt, is de volgende stap het maken van een gebruiker op basis van die aanmelding. Op dit moment kan de aanmelding verbinding maken met het beheerde SQL-exemplaar en alle databases zien, maar kan deze niet communiceren met de databases. Als u zich aanmeldt met het Microsoft Entra-account met de standaardmachtigingen en de zojuist gemaakte database probeert uit te vouwen, ziet u de volgende fout:
Zie Aan de slag met database-enginemachtigingen voor meer informatie over het verlenen van databasemachtigingen.
Een Microsoft Entra-gebruiker maken en een voorbeeldtabel maken
Opmerking
Er gelden enkele beperkingen wanneer een gebruiker zich aanmeldt als onderdeel van een Microsoft Entra-groep.
Bijvoorbeeld een aanroep om terug te SUSER_SID keren NULL, omdat de opgegeven Microsoft Entra-gebruiker geen deel uitmaakt van de sys.server_principals tabel.
Daarom kan de toegang tot bepaalde opgeslagen procedures of een lijst met verleende machtigingen in dit geval worden beperkt.
Meld u aan bij uw met SQL beheerde exemplaar met een sysadmin-account in SQL Server Management Studio.
Klik in Objectverkenner met de rechtermuisknop op de server en kies Nieuwe query.
Gebruik in het queryvenster de volgende syntaxis om een gebruiker te maken op basis van een Microsoft Entra-aanmelding:
USE <Database Name> -- provide your database name GO CREATE USER user_name FROM LOGIN login_name GOIn het volgende voorbeeld wordt een gebruiker
bob@aadsqlmi.netgemaakt op basis van de aanmeldingbob@aadsqlmi.net:USE MyMITestDB GO CREATE USER [bob@aadsqlmi.net] FROM LOGIN [bob@aadsqlmi.net] GOHet wordt ook ondersteund om een Microsoft Entra-gebruiker te maken op basis van een Microsoft Entra-aanmelding die een groep is.
In het volgende voorbeeld wordt een aanmelding gemaakt voor de Microsoft Entra-groep mygroup die bestaat in uw Microsoft Entra-tenant:
USE MyMITestDB GO CREATE USER [mygroup] FROM LOGIN [mygroup] GOAlle gebruikers die tot mygroup behoren, hebben toegang tot de MyMITestDB-database .
Belangrijk
Wanneer u een gebruiker maakt op basis van een Microsoft Entra-aanmelding, geeft u de user_name op als dezelfde login_name.
LOGINZie CREATE USERvoor meer informatie.
Maak in een nieuw queryvenster een testtabel met behulp van de volgende T-SQL-opdracht:
USE MyMITestDB GO CREATE TABLE TestTable ( AccountNum varchar(10), City varchar(255), Name varchar(255), State varchar(2) );Maak een verbinding in SSMS met de gebruiker die is gemaakt. U ziet dat u de tabel TestTable die eerder door de systeembeheerder is gemaakt, niet kunt zien. We moeten de gebruiker machtigingen geven om gegevens uit de database te kunnen lezen.
U kunt de huidige machtiging controleren die de gebruiker heeft door de volgende opdracht uit te voeren:
SELECT * FROM sys.fn_my_permissions('MyMITestDB','DATABASE') GO
Gebruikers toevoegen aan rollen op databaseniveau
Om de gebruiker gegevens in de database te laten zien, kunnen we rollen op databaseniveau aan de gebruiker leveren.
Meld u aan bij uw met SQL beheerde exemplaar met een sysadmin-account met behulp van SQL Server Management Studio.
Klik in Objectverkenner met de rechtermuisknop op de server en kies Nieuwe query.
Verdeel de Microsoft Entra-gebruiker de db_datareader-databaserol met behulp van de volgende T-SQL-syntaxis:
Use <Database Name> -- provide your database name ALTER ROLE db_datareader ADD MEMBER user_name GOHet volgende voorbeeld bevat de gebruiker
bob@aadsqlmi.neten de groep mygroupdb_datareader machtigingen voor de MyMITestDB-database :USE MyMITestDB GO ALTER ROLE db_datareader ADD MEMBER [bob@aadsqlmi.net] GO ALTER ROLE db_datareader ADD MEMBER [mygroup] GOControleer of de Microsoft Entra-gebruiker die in de database is gemaakt, bestaat door de volgende opdracht uit te voeren:
SELECT * FROM sys.database_principals GOMaak een nieuwe verbinding met het met SQL beheerde exemplaar met de gebruiker die is toegevoegd aan de db_datareader rol.
Vouw de database uit in Objectverkenner om de tabel te zien.
Open een nieuw queryvenster en voer de volgende
SELECTinstructie uit:SELECT * FROM TestTableKunt u gegevens uit de tabel zien? Als het goed is, ziet u dat de kolommen worden geretourneerd zoals wordt weergegeven in de volgende schermopname:
Microsoft Entra-aanmeldingen imiteren
SQL Managed Instance ondersteunt de imitatie van Microsoft Entra-aanmeldingen.
Imitatie testen
Meld u aan bij uw met SQL beheerde exemplaar met een sysadmin-account met behulp van SQL Server Management Studio.
Klik in Objectverkenner met de rechtermuisknop op de server en kies Nieuwe query.
Gebruik in het queryvenster de volgende opdracht om een nieuwe opgeslagen procedure te maken:
USE MyMITestDB GO CREATE PROCEDURE dbo.usp_Demo WITH EXECUTE AS 'bob@aadsqlmi.net' AS SELECT user_name(); GOGebruik de volgende opdracht om te zien dat de gebruiker die u nabootst tijdens het uitvoeren van de opgeslagen procedure is
bob@aadsqlmi.net.Exec dbo.usp_DemoTest imitatie met behulp van de
EXECUTE AS LOGINinstructie:EXECUTE AS LOGIN = 'bob@aadsqlmi.net' GO SELECT SUSER_SNAME() REVERT GO
Opmerking
Alleen aanmeldingen op SQL-serverniveau die deel uitmaken van de rol sysadmin , kunnen de volgende bewerkingen uitvoeren die gericht zijn op Microsoft Entra-principals:
EXECUTE AS USEREXECUTE AS LOGIN
Query's voor meerdere databases gebruiken
Query's tussen databases worden ondersteund voor Microsoft Entra-accounts met Microsoft Entra-aanmeldingen. Als u een query voor meerdere databases wilt testen met een Microsoft Entra-groep, moet u een andere database en tabel maken. U kunt het maken van een andere database en tabel overslaan als deze al bestaat.
Meld u aan bij uw met SQL beheerde exemplaar met een sysadmin-account met behulp van SQL Server Management Studio.
Klik in Objectverkenner met de rechtermuisknop op de server en kies Nieuwe query.
Gebruik in het queryvenster de volgende opdracht om een database met de naam MyMITestDB2 en tabel met de naam TestTable2 te maken:
CREATE DATABASE MyMITestDB2; GO USE MyMITestDB2 GO CREATE TABLE TestTable2 ( EmpId varchar(10), FirstName varchar(255), LastName varchar(255), Status varchar(10) );Voer in een nieuw queryvenster de volgende opdracht uit om de gebruiker mygroup te maken in de nieuwe database MyMITestDB2 en machtigingen voor die database te verlenen
SELECTaan mygroup:USE MyMITestDB2 GO CREATE USER [mygroup] FROM LOGIN [mygroup] GO GRANT SELECT TO [mygroup] GOMeld u aan bij het beheerde SQL-exemplaar met BEHULP van SQL Server Management Studio als lid van de Microsoft Entra-groep mygroup. Open een nieuw queryvenster en voer de instructie voor meerdere databases
SELECTuit:USE MyMITestDB SELECT * FROM MyMITestDB2..TestTable2 GOU ziet nu de tabelresultaten van TestTable2.
Aanvullende ondersteunde scenario's
- SQL Agent-beheer en taakuitvoeringen worden ondersteund voor Microsoft Entra-aanmeldingen.
- Microsoft Entra-aanmeldingen kunnen databaseback-up- en herstelbewerkingen uitvoeren.
- Controle van alle instructies met betrekking tot Microsoft Entra-aanmeldingen en verificatie-gebeurtenissen.
- Toegewezen beheerdersverbinding voor Microsoft Entra-aanmeldingen die lid zijn van de serverrol sysadmin .
- Microsoft Entra-aanmeldingen worden ondersteund met behulp van het hulpprogramma sqlcmd en het hulpprogramma SQL Server Management Studio .
- Aanmeldingstriggers worden ondersteund voor aanmeldingsevenementen die afkomstig zijn van Microsoft Entra-aanmeldingen.
- Service Broker en DB-e-mail kunnen worden ingesteld met behulp van Microsoft Entra-aanmeldingen.
Verwante inhoud
- Beveiligingsfuncties van SQL Managed Instance
- Aan de slag met azure SQL Managed Instance-controle
- Always Encrypted
- Advanced Threat Protection configureren in Azure SQL Managed Instance
- Dynamische gegevensmaskering
- Beveiliging op rijniveau
- TDE (Transparent Data Encryption)
- Wat is Azure SQL Managed Instance?