Databasetoegang verlenen tot SQL Database, SQL Managed Instance, en Azure Synapse Analytics
Van toepassing op: Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics
In dit artikel krijgt u meer informatie over:
- Opties voor het configureren van Azure SQL Database, Azure SQL Managed Instance en Azure Synapse Analytics om gebruikers in staat te stellen beheertaken uit te voeren en toegang te krijgen tot de gegevens die zijn opgeslagen in deze databases.
- De toegangs- en autorisatieconfiguratie na het maken van een nieuwe server.
- Aanmeldingen en gebruikersaccounts toevoegen in de
master
database en gebruikersaccounts en deze accounts vervolgens beheerdersmachtigingen verlenen. - Gebruikersaccounts toevoegen in gebruikersdatabases, gekoppeld aan aanmeldingen of als ingesloten gebruikersaccounts.
- Configureer gebruikersaccounts met machtigingen in gebruikersdatabases met behulp van databaserollen en expliciete machtigingen.
Belangrijk
Databases in Azure SQL Database, Azure SQL Managed Instance en Azure Synapse worden gezamenlijk genoemd in de rest van dit artikel als databases en de server verwijst naar de logische server die databases beheert voor Azure SQL Database en Azure Synapse.
Notitie
Microsoft Entra-id is de nieuwe naam voor Azure Active Directory (Azure AD). Op dit moment wordt de documentatie bijgewerkt.
Verificatie en autorisatie
Verificatie is het proces waarmee kan worden bewezen dat de gebruiker is wie hij of zij beweert te zijn. Een gebruiker maakt verbinding met een database met behulp van een gebruikersaccount. Wanneer een gebruiker verbinding probeert te maken met een database, geeft deze een gebruikersaccount en verificatiegegevens op. De gebruiker wordt geverifieerd met behulp van een van de volgende twee verificatiemethoden:
-
Met deze verificatiemethode verzendt de gebruiker een gebruikersnaam en het bijbehorende wachtwoord om een verbinding tot stand te brengen. Dit wachtwoord wordt opgeslagen in de
master
database voor gebruikersaccounts die zijn gekoppeld aan een aanmelding of die zijn opgeslagen in de database met de gebruikersaccounts die niet zijn gekoppeld aan een aanmelding.Notitie
Azure SQL Database dwingt alleen wachtwoordcomplexiteit af voor wachtwoordbeleid. Zie veelgestelde vragen over azure SQL Managed Instance voor wachtwoordbeleid in Azure SQL Managed Instance.
-
Met deze verificatiemethode verzendt de gebruiker een gebruikersaccountnaam en vraagt deze aan dat de service de referentiegegevens gebruikt die zijn opgeslagen in Microsoft Entra-id (voorheen Azure Active Directory).
Aanmeldingen en gebruikers: een gebruikersaccount in een database kan worden gekoppeld aan een aanmelding die is opgeslagen in de master
database of kan een gebruikersnaam zijn die is opgeslagen in een afzonderlijke database.
- Een aanmelding is een afzonderlijk account in de
master
database, waaraan een gebruikersaccount in een of meer databases kan worden gekoppeld. Bij een aanmelding worden de aanmeldingsgegevens voor het gebruikersaccount bij de aanmelding opgeslagen. - Een gebruikersaccount is een afzonderlijk account in een database dat mogelijk aan een aanmelding is gekoppeld (dit is niet noodzakelijk). Bij een gebruikersaccount dat niet is gekoppeld aan een aanmelding, worden de aanmeldingsgegevens opgeslagen met het gebruikersaccount.
Autorisatie voor toegang tot gegevens en het uitvoeren van verschillende acties worden beheerd met behulp van databaserollen en expliciete machtigingen. Autorisatie verwijst naar de machtigingen die zijn toegewezen aan een gebruiker en bepaalt wat die gebruiker mag doen. Autorisatie wordt beheerd door de databaserollidmaatschappen en machtigingen op objectniveau van uw gebruikersaccount. Het wordt aanbevolen om gebruikers de minimaal benodigde bevoegdheden te verlenen.
Bestaande aanmeldingen en gebruikersaccounts na het maken van een nieuwe database
Wanneer u Azure SQL voor het eerst implementeert, kunt u een aanmeldingsnaam en een wachtwoord opgeven voor een speciaal type beheerdersaanmelding, de serverbeheerder. De volgende configuratie van aanmeldingen en gebruikers in de hoofd- en gebruikersdatabases vindt plaats tijdens de implementatie:
- Er wordt een SQL-aanmelding met beheerdersbevoegdheden gemaakt met behulp van de aanmeldingsnaam die u hebt opgegeven. Een aanmelding is een afzonderlijk account voor aanmelding bij SQL Database, SQL Managed Instance en Azure Synapse.
- Aan deze aanmelding worden volledige beheerdersmachtigingen verleend voor alle databases als principal op serverniveau. De aanmelding heeft alle beschikbare machtigingen en kan niet worden beperkt. In een met SQL beheerd exemplaar wordt deze aanmelding toegevoegd aan de vaste serverfunctie sysadmin (deze rol bestaat niet in Azure SQL Database).
- Wanneer dit account zich aanmeldt bij een database, worden deze gekoppeld aan het speciale gebruikersaccount (gebruikersaccount
dbo
, dat bestaat in elke gebruikersdatabase. De dbo-gebruiker heeft alle databasemachtigingen in de database en is lid van dedb_owner
vaste databaserol. Verderop in dit artikel worden aanvullende vaste databaserollen besproken.
Als u het serverbeheerdersaccount voor een logische server wilt identificeren, opent u Azure Portal en gaat u naar het tabblad Eigenschappen van uw server of beheerde exemplaar.
Belangrijk
De naam van het serverbeheerdersaccount kan niet worden gewijzigd nadat het is gemaakt. Als u het wachtwoord voor de serverbeheerder opnieuw wilt instellen, gaat u naar Azure Portal, klikt u op SQL-servers, selecteert u de server in de lijst en klikt u vervolgens op Wachtwoord opnieuw instellen. Als u het wachtwoord voor het met SQL beheerde exemplaar opnieuw wilt instellen, gaat u naar Azure Portal, klikt u op het exemplaar en klikt u op Wachtwoord opnieuw instellen. U kunt ook PowerShell of de Azure CLI gebruiken.
Extra aanmeldingen en gebruikers met beheerdersmachtigingen maken
Op dit moment is uw server of beheerd exemplaar alleen geconfigureerd voor toegang met één SQL-aanmeldings- en gebruikersaccount. Als u extra aanmeldingen wilt maken met volledige of gedeeltelijke beheerdersmachtigingen, hebt u de volgende opties (afhankelijk van uw implementatiemodus):
Een Microsoft Entra-beheerdersaccount maken met volledige beheerdersmachtigingen
Schakel Microsoft Entra-verificatie in en voeg een Microsoft Entra-beheerder toe. Eén Microsoft Entra-account kan worden geconfigureerd als beheerder van de Azure SQL-implementatie met volledige beheerdersmachtigingen. Dit account kan een afzonderlijk account of beveiligingsgroepaccount zijn. Een Microsoft Entra-beheerdermoet worden geconfigureerd als u Microsoft Entra-accounts wilt gebruiken om verbinding te maken met SQL Database, SQL Managed Instance of Azure Synapse. Zie de volgende artikelen voor gedetailleerde informatie over het inschakelen van Microsoft Entra-verificatie voor alle Typen Azure SQL-implementaties:
Maak in SQL Managed Instance SQL-aanmeldingen met volledige beheerdersmachtigingen
- Maak een extra SQL-aanmelding in de
master
database. - Voeg de aanmelding toe aan de vaste serverfunctie sysadmin met behulp van de instructie ALTER SERVER ROLE . Deze aanmelding heeft volledige beheerdersmachtigingen.
- U kunt ook een Microsoft Entra-aanmelding maken met behulp van de syntaxis CREATE LOGIN .
Notitie
De
dbmanager
rollen hebbenloginmanager
geen betrekking op implementaties van Azure SQL Managed Instance.- Maak een extra SQL-aanmelding in de
Maak in SQL Database SQL-aanmeldingen met beperkte beheerdersmachtigingen
- Maak een extra SQL-aanmelding in de
master
database. - Voeg de aanmelding toe aan de
##MS_DatabaseManager##
functies op serverniveau met##MS_DatabaseConnector##
behulp van de instructie ALTER SERVER ROLE.##MS_LoginManager##
Leden van speciale
master
databaserollen voor Azure SQL Database hebben de bevoegdheid om databases te maken en te beheren of om aanmeldingen te maken en te beheren. In databases die zijn gemaakt door een gebruiker die lid is van dedbmanager
rol, wordt het lid toegewezen aan dedb_owner
vaste databaserol en kan het zich aanmelden bij en beheren van die database met behulp van hetdbo
gebruikersaccount. Deze rollen hebben geen expliciete machtigingen buiten demaster
database.Belangrijk
U kunt geen extra SQL-aanmelding maken met volledige beheerdersmachtigingen in Azure SQL Database. Alleen het beheerdersaccount van de server of het Microsoft Entra-beheerdersaccount (dat een Microsoft Entra-groep kan zijn) kan andere aanmeldingen toevoegen aan of verwijderen van serverfuncties. Dit is specifiek voor Azure SQL Database.
- Maak een extra SQL-aanmelding in de
Maak in een toegewezen SQL-pool van Azure Synapse SQL-aanmeldingen met beperkte beheerdersmachtigingen
- Maak een extra SQL-aanmelding in de
master
database. - Maak een gebruikersaccount in de
master
database die is gekoppeld aan deze nieuwe aanmelding. - Voeg het gebruikersaccount toe aan de
dbmanager
database, deloginmanager
rol of beide in demaster
database met behulp van de instructie sp_addrolemember .
- Maak een extra SQL-aanmelding in de
Maak in een serverloze SQL-pool van Azure Synapse SQL-aanmeldingen met beperkte beheerdersmachtigingen
- Maak een extra SQL-aanmelding in de
master
database. - Voeg de SQL-aanmelding toe aan de vaste serverfunctie sysadmin met behulp van de instructie ALTER SERVER ROLE .
- U kunt ook een Microsoft Entra-aanmelding maken met behulp van de syntaxis CREATE LOGIN .
- Maak een extra SQL-aanmelding in de
Accounts maken voor niet-beheerdersgebruikers
U kunt accounts maken voor gebruikers zonder beheerdersrechten met behulp van een van de volgende twee methoden:
Een aanmelding maken
Maak een SQL-aanmelding in de
master
database. Maak vervolgens een gebruikersaccount in elke database waaraan die gebruiker toegang nodig heeft en koppel het gebruikersaccount aan die aanmelding. Deze methode heeft de voorkeur wanneer de gebruiker toegang moet hebben tot meerdere databases en u de wachtwoorden gesynchroniseerd wilt houden. Deze benadering heeft echter complexiteit wanneer deze wordt gebruikt met geo-replicatie, omdat de aanmelding moet worden gemaakt op zowel de primaire server als de secundaire server(s). Zie Azure SQL Database-beveiliging configureren en beheren voor geo-herstel of failover voor meer informatie.Een gebruikersaccount maken
Maak een gebruikersaccount in de database waartoe een gebruiker toegang nodig heeft (ook wel een ingesloten gebruiker genoemd).
- Met SQL Database kunt u altijd dit type gebruikersaccount maken.
- Met SQL Managed Instance dat Microsoft Entra-server-principals ondersteunt , kunt u gebruikersaccounts maken om te verifiëren bij sql Managed Instance zonder dat databasegebruikers moeten worden gemaakt als een ingesloten databasegebruiker.
Met deze methode worden de gebruikersverificatiegegevens in elke database opgeslagen en automatisch gerepliceerd naar geo-gerepliceerde databases. Als hetzelfde account echter bestaat in meerdere databases en u SQL-verificatie gebruikt, moet u de wachtwoorden handmatig gesynchroniseerd houden. Als een gebruiker een account in verschillende databases met verschillende wachtwoorden heeft, kan het onthouden van deze wachtwoorden een probleem worden.
Belangrijk
Als u ingesloten gebruikers wilt maken die zijn toegewezen aan Microsoft Entra-identiteiten, moet u zijn aangemeld met een Microsoft Entra-account in de database in Azure SQL Database. In SQL Managed Instance kan een SQL-aanmelding met sysadmin
machtigingen ook een Microsoft Entra-aanmelding of -gebruiker maken.
Zie voor voorbeelden van het maken van aanmeldingen en gebruikers:
- Aanmelding maken voor Azure SQL Database
- Aanmelding maken voor Azure SQL Managed Instance
- Aanmelding maken voor Azure Synapse
- Create user
- Microsoft Entra ingesloten gebruikers maken
Tip
Zie Zelfstudie: Azure SQL Database beveiligen voor een zelfstudie over het maken van gebruikers in Azure SQL Database.
Vaste en aangepaste databaserollen gebruiken
Nadat u een gebruikersaccount in een database hebt gemaakt, hetzij op basis van een aanmelding of als ingesloten gebruiker, kunt u die gebruiker autoriseren om verschillende acties uit te voeren en toegang te krijgen tot gegevens in een bepaalde database. U kunt de volgende methoden gebruiken om toegang te autoriseren:
Vaste databaserollen
Voeg het gebruikersaccount toe aan een vaste databaserol. Er zijn 9 vaste databaserollen, elk met een gedefinieerde set machtigingen. De meest voorkomende vaste databaserollen zijn: db_owner, db_ddladmin, db_datawriter, db_datareader, db_denydatawriter en db_denydatareader. db_owner wordt doorgaans gebruikt voor het verlenen van volledige machtigingen aan slechts enkele gebruikers. De andere vaste databaserollen zijn handig voor het snel verkrijgen van een eenvoudige database voor ontwikkeldoeleinden, maar worden niet aanbevolen voor de meeste productiedatabases. De db_datareader vaste databaserol verleent bijvoorbeeld leestoegang tot elke tabel in de database, wat meer is dan strikt noodzakelijk is.
Een gebruiker toevoegen aan een vaste databaserol:
- Gebruik in Azure SQL Database en een serverloze SQL-pool van Azure Synapse de instructie ALTER ROLE . Zie ALTER ROLE-voorbeelden voor voorbeelden
- Gebruik in de toegewezen SQL-pool van Azure Synapse de sp_addrolemember-instructie . Zie sp_addrolemember voorbeelden voor voorbeelden.
Aangepaste databaserol
Maak een aangepaste databaserol met behulp van de instructie CREATE ROLE . Met een aangepaste rol kunt u uw eigen door de gebruiker gedefinieerde databaserollen maken en elke rol zorgvuldig de minste machtigingen verlenen die nodig zijn voor de bedrijfsbehoefte. Vervolgens kunt u gebruikers toevoegen aan de aangepaste rol. Als een gebruiker lid is van meerdere rollen, worden de machtigingen van alle rollen samengevoegd.
Machtigingen rechtstreeks verlenen
Verdeel de gebruikersaccountmachtigingen rechtstreeks. Er zijn meer dan 100 machtigingen die afzonderlijk kunnen worden verleend of geweigerd in SQL Database. Veel van deze machtigingen zijn genest. De machtiging
UPDATE
voor een schema bevat bijvoorbeeld de machtigingUPDATE
voor elke tabel binnen dat schema. Net als bij de meeste machtigingssystemen gaat de weigering van een machtiging vóór toestemming. Vanwege de geneste aard en het aantal machtigingen kan een nauwkeurig onderzoek nodig zijn om een geschikt machtigingssysteem te ontwerpen voor een goede bescherming van uw database. Start met de lijst van machtigingen in Machtigingen (Database-engine) en controleer de afbeelding op postergrootte van de machtigingen.
Groepen gebruiken
Efficiënt toegangsbeheer maakt gebruik van machtigingen die zijn toegewezen aan Active Directory-beveiligingsgroepen en vaste of aangepaste rollen in plaats van aan afzonderlijke gebruikers.
Wanneer u Microsoft Entra-verificatie gebruikt, plaatst u Microsoft Entra-gebruikers in een Microsoft Entra-beveiligingsgroep. Maak voor de groep een ingesloten databasegebruiker. Voeg een of meer databasegebruikers toe als lid aan aangepaste of ingebouwde databaserollen met de specifieke machtigingen die geschikt zijn voor die groep gebruikers.
Wanneer u SQL-verificatie gebruikt, maakt u ingesloten databasegebruikers in de database. Plaats een of meer databasegebruikers in een aangepaste databaserol met specifieke machtigingen die geschikt zijn voor die groep gebruikers.
Notitie
U kunt ook groepen gebruiken voor niet-ingesloten databasegebruikers.
Zorg ervoor dat u de volgende functies kunt gebruiken voor het beperken of het verhogen van machtigingen:
- Imitatie en module-ondertekening kunnen worden gebruikt om machtigingen tijdelijk veilig te verhogen.
- Beveiliging op rijniveau kan worden gebruikt om de rijen waartoe een gebruiker toegang heeft te beperken.
- Gegevensmaskering kan worden gebruikt om de weergave van gevoelige gegevens te beperken.
- Opgeslagen procedures kunnen worden gebruikt om de acties die op de database kunnen worden uitgevoerd te beperken.
Volgende stappen
Zie Beveiligingsoverzicht voor een overzicht van alle beveiligingsfuncties van Azure SQL Database en SQL Managed Instance.