Toegangsbeheer instellen voor uw Azure Synapse-werkruimte
In dit artikel leert u hoe u de toegang tot een Microsoft Azure Synapse-werkruimte beheert. We gebruiken een combinatie van Azure-rollen, Azure Synapse-rollen, SQL-machtigingen en Git-machtigingen om dit te bereiken.
In deze handleiding stelt u een werkruimte in en configureert u een eenvoudig toegangsbeheersysteem. U kunt deze informatie gebruiken in veel soorten Synapse-projecten. U vindt ook geavanceerde opties voor fijnmazige controle als u dit nodig hebt.
Synapse-toegangsbeheer kan worden vereenvoudigd door rollen en persona's in uw organisatie uit te lijnen met beveiligingsgroepen. Hiermee kunt u de toegang tot beveiligingsgroepen beheren door gebruikers toe te voegen en te verwijderen.
Lees voordat u aan deze procedure begint het overzicht van azure Synapse-toegangsbeheer om vertrouwd te raken met mechanismen voor toegangsbeheer die worden gebruikt door Synapse Analytics.
Mechanismen voor toegangsbeheer
Notitie
De methode in deze handleiding is het maken van beveiligingsgroepen. Wanneer u rollen toewijst aan deze beveiligingsgroepen, hoeft u alleen lidmaatschappen binnen die groepen te beheren om de toegang tot werkruimten te beheren.
Als u een Synapse-werkruimte wilt beveiligen, configureert u de volgende items:
- Beveiligingsgroepen om gebruikers te groeperen met vergelijkbare toegangsvereisten.
- Azure-rollen om te bepalen wie SQL-pools, Apache Spark-pools en integratieruntimes kan maken en beheren en toegang kan krijgen tot ADLS Gen2-opslag.
- Synapse-rollen voor het beheren van de toegang tot gepubliceerde codeartefacten, het gebruik van Apache Spark-rekenresources en integratieruntimes.
- SQL-machtigingen om de administratieve en gegevensvlak-toegang tot SQL-pools te beheren.
- Git-machtigingen om te bepalen wie toegang heeft tot codeartefacten in broncodebeheer als u Git-ondersteuning voor werkruimten configureert.
Stappen voor het beveiligen van een Synapse-werkruimte
In dit document worden standaardnamen gebruikt om instructies te vereenvoudigen. Vervang ze door de namen van uw keuze.
Instelling | Standaardnaam | Beschrijving |
---|---|---|
Synapse-werkruimte | workspace1 |
De naam die de Azure Synapse-werkruimte heeft. |
ADLSGEN2-account | storage1 |
Het ADLS-account dat u met uw werkruimte wilt gebruiken. |
Container | container1 |
De container in storage1 die door de werkruimte standaard wordt gebruikt. |
Microsoft Entra ID-tenant | contoso |
De naam van de Microsoft Entra ID-tenant. |
Service/principal | SERVICEPRINCIPAL |
Een service-principal in uw Microsoft Entra ID-tenant. |
Stap 1: Beveiligingsgroepen instellen
Tip
U wordt aangeraden gedetailleerde opties te gebruiken om de toegang tot uw werkruimte te beheren, zodat ontwikkelaars toegang krijgen tot afzonderlijke resources in plaats van een hele werkruimte. Meer informatie over Synapse RBAC.
Maak de volgende beveiligingsgroepen voor uw werkruimte:
workspace1_SynapseAdministrators
, voor gebruikers die volledige controle over een werkruimte nodig hebben. Voeg uzelf toe aan deze beveiligingsgroep, ten minste in eerste instantie.workspace1_SynapseContributors
, voor ontwikkelaars die code moeten ontwikkelen, fouten opsporen en publiceren naar een service.workspace1_SynapseComputeOperators
, voor gebruikers die Apache Spark-pools en Integration Runtimes moeten beheren en bewaken.workspace1_SynapseCredentialUsers
, voor gebruikers die fouten moeten opsporen en orchestration-pijplijnen moeten uitvoeren met behulp van referenties voor werkruimte-MSI (Managed Service Identity) en pijplijnuitvoeringen moeten annuleren.
U wijst synapse-rollen binnenkort toe aan deze groepen in het werkruimtebereik.
Maak ook deze beveiligingsgroep:
workspace1_SQLAdmins
, groep voor gebruikers die SQL Active Directory-beheerinstantie nodig hebben, binnen SQL-pools in de werkruimte.
De workspace1_SQLAdmins
groep voor het configureren van SQL-machtigingen wanneer u SQL-pools maakt.
Deze vijf groepen zijn voldoende voor een eenvoudige installatie. Later kunt u beveiligingsgroepen toevoegen om gebruikers te verwerken die meer gespecialiseerde toegang nodig hebben of alleen toegang tot afzonderlijke resources beperken.
Notitie
- Meer informatie over het maken van een beveiligingsgroep in dit artikel: Een basisgroep maken en leden toevoegen met behulp van Microsoft Entra-id.
- Meer informatie over het toevoegen van een beveiligingsgroep uit een andere beveiligingsgroep in dit artikel: Een groep toevoegen aan of verwijderen uit een andere groep met behulp van Microsoft Entra-id.
- Wanneer u een beveiligingsgroep maakt, moet u ervoor zorgen dat het groepstype Beveiliging is. Microsoft 365-groepen worden niet ondersteund voor Azure SQL.
Tip
Afzonderlijke Synapse-gebruikers kunnen Microsoft Entra-id in Azure Portal gebruiken om hun groepslidmaatschappen weer te geven. Hierdoor kunnen ze bepalen welke rollen ze hebben gekregen.
Stap 2: uw ADLS Gen2-opslagaccount voorbereiden
Synapse-werkruimten maken gebruik van standaardopslagcontainers voor:
- Opslag van back-upgegevensbestanden voor Spark-tabellen
- Uitvoeringslogboeken voor Spark-taken
- Beheer van bibliotheken die u wilt installeren
Identificeer de volgende informatie over uw opslag:
Het ADLS Gen2-account dat moet worden gebruikt voor uw werkruimte. Dit document noemt het
storage1
.storage1
wordt beschouwd als het primaire opslagaccount voor uw werkruimte.De container in
storage1
die uw Synapse-werkruimte standaard gebruikt. Dit document noemt hetcontainer1
.Klik op Toegangsbeheer (IAM) .
Selecteer Toevoegen>Roltoewijzing toevoegen om het deelvenster Roltoewijzing toevoegen te openen.
Wijs de volgende rol toe. Raadpleeg Azure-rollen toewijzen met Azure Portal voor informatie over het toewijzen van rollen.
Instelling Weergegeven als Role Inzender voor opslagblobgegevens Toegang toewijzen aan SERVICEPRINCIPAL
Leden workspace1_SynapseAdministrators, workspace1_SynapseContributors en workspace1_SynapseComputeOperators
Stap 3: Uw Synapse-werkruimte maken en configureren
Maak in Azure Portal een Synapse-werkruimte:
Selecteer uw abonnement
Selecteer of maak een resourcegroep waarvoor u de rol Azure-eigenaar hebt.
De werkruimte een naam opgeven
workspace1
Kiezen
storage1
voor het opslagaccountKies
container1
voor de container die wordt gebruikt als bestandssysteem.Openen
workspace1
in Synapse StudioNavigeer in Synapse Studio naar Toegangsbeheer beheren>. Wijs synapse-rollen in werkruimtebereik als volgt toe aan beveiligingsgroepen:
- De rol Synapse-beheerder toewijzen aan
workspace1_SynapseAdministrators
- De rol Synapse-inzender toewijzen aan
workspace1_SynapseContributors
- De rol Synapse Compute-operator toewijzen aan
workspace1_SynapseComputeOperators
- De rol Synapse-beheerder toewijzen aan
Stap 4: De MSI-werkruimte toegang verlenen tot de standaardopslagcontainer
Als u pijplijnen wilt uitvoeren en systeemtaken wilt uitvoeren, heeft Azure Synapse beheerde service-identiteit (MSI) nodig om toegang te hebben tot container1
het standaard ADLS Gen2-account voor de werkruimte. Zie de beheerde identiteit van de Azure Synapse-werkruimte voor meer informatie.
Open de Azure-portal
Zoek het opslagaccount en
storage1
vervolgenscontainer1
.Klik op Toegangsbeheer (IAM) .
Als u de pagina Roltoewijzing toevoegen wilt openen, selecteert u Roltoewijzing toevoegen>.
Wijs de volgende rol toe. Raadpleeg Azure-rollen toewijzen met Azure Portal voor informatie over het toewijzen van rollen.
Instelling Weergegeven als Role Inzender voor opslagblobgegevens Toegang toewijzen aan MANAGEDIDENTITY Leden naam van beheerde identiteit Notitie
De naam van de beheerde identiteit is ook de naam van de werkruimte.
Stap 5: Synapse-beheerders een Azure-inzenderrol verlenen voor de werkruimte
Om SQL-pools, Apache Spark-pools en Integration Runtimes te maken, hebben gebruikers minimaal een Azure-inzenderrol nodig voor de werkruimte. Met de rol Inzender kunnen gebruikers ook resources beheren, waaronder onderbreken en schalen. Als u Azure Portal of Synapse Studio wilt gebruiken om SQL-pools, Apache Spark-pools en Integration Runtimes te maken, hebt u een rol Inzender nodig op het niveau van de resourcegroep.
Open de Azure-portal
Zoek de werkruimte,
workspace1
Klik op Toegangsbeheer (IAM) .
Als u de pagina Roltoewijzing toevoegen wilt openen, selecteert u Roltoewijzing toevoegen>.
Wijs de volgende rol toe. Raadpleeg Azure-rollen toewijzen met Azure Portal voor informatie over het toewijzen van rollen.
Instelling Weergegeven als Role Inzender (vermeld onder Bevoorrechte beheerdersrollen) Toegang toewijzen aan SERVICEPRINCIPAL
Leden workspace1_SynapseAdministrators
Stap 6: Een SQL Active Directory-beheerdersrol toewijzen
De maker van de werkruimte wordt automatisch toegewezen als SQL Active Directory-beheerder voor de werkruimte. Aan slechts één gebruiker of groep kan deze rol worden toegekend. In deze stap wijst u de SQL Active Directory-beheerder voor de werkruimte toe aan de workspace1_SQLAdmins
beveiligingsgroep. Hierdoor heeft de groep maximaal uitgebreide beheerderstoegang tot alle SQL-pools en -databases in de werkruimte.
- Open de Azure-portal
- Ga naar
workspace1
- Selecteer onder Instellingen de Id van Microsoft Entra
- Selecteer Beheerder instellen en kies
workspace1_SQLAdmins
Notitie
Stap 6 is optioneel. U kunt ervoor kiezen om de workspace1_SQLAdmins
groep een minder bevoorrechte rol te verlenen. Als u sql-rollen of andere SQL-rollen wilt toewijzen db_owner
, moet u scripts uitvoeren op elke SQL-database.
Stap 7: Toegang verlenen tot SQL-pools
Synapse Administrator krijgt standaard de SQL-rol db_owner
voor serverloze SQL-pools in de werkruimte.
Toegang tot SQL-pools voor andere gebruikers wordt beheerd door SQL-machtigingen. Voor het toewijzen van SQL-machtigingen moeten SQL-scripts worden uitgevoerd op elke SQL-database na het maken. Hier volgen enkele voorbeelden waarvoor u deze scripts moet uitvoeren:
Als u gebruikers toegang wilt verlenen tot de serverloze SQL-pool, 'Ingebouwd' en de bijbehorende databases.
Gebruikers toegang verlenen tot toegewezen SQL-pooldatabases. Voorbeelden van SQL-scripts worden verderop in dit artikel opgenomen.
Als u toegang wilt verlenen tot een toegewezen SQL-pooldatabase, kunnen scripts worden uitgevoerd door de maker van de werkruimte of een lid van de
workspace1_SynapseAdministrators
groep.Als u toegang wilt verlenen tot de serverloze SQL-pool, 'Ingebouwd', kunnen scripts worden uitgevoerd door elk lid van de
workspace1_SQLAdmins
groep of deworkspace1_SynapseAdministrators
groep.
Tip
U kunt toegang verlenen tot alle SQL-databases door de volgende stappen uit te voeren voor elke SQL-pool. Sectie Werkruimtemachtigingen configureren is een uitzondering op de regel en hiermee kunt u een gebruiker een sysadmin-rol toewijzen op werkruimteniveau.
Stap 7a: Serverloze SQL-pool, ingebouwd
U kunt de scriptvoorbeelden in deze sectie gebruiken om gebruikers toegang te geven tot een afzonderlijke database of alle databases in de serverloze SQL-pool. Built-in
Notitie
Vervang in de scriptvoorbeelden alias door de alias van de gebruiker of groep die toegang krijgt. Vervang het domein door het bedrijfsdomein dat u gebruikt.
Databasemachtigingen configureren
U kunt gebruikers toegang verlenen tot één serverloze SQL-database met de stappen die in dit voorbeeld worden beschreven:
Maak een aanmelding. Ga naar de
master
databasecontext.--In the master database CREATE LOGIN [alias@domain.com] FROM EXTERNAL PROVIDER;
Maak een gebruiker in uw database. Wijzig de context in uw database.
-- In your database CREATE USER alias FROM LOGIN [alias@domain.com];
Voeg de gebruiker toe als lid van de opgegeven rol in uw database (in dit geval de db_owner rol).
ALTER ROLE db_owner ADD member alias; -- Type USER name from step 2
Machtigingen voor werkruimtebereik configureren
U kunt volledige toegang verlenen tot alle serverloze SQL-pools in de werkruimte. Voer het script uit in dit voorbeeld in de master
database:
CREATE LOGIN [alias@domain.com] FROM EXTERNAL PROVIDER;
ALTER SERVER ROLE sysadmin ADD MEMBER [alias@domain.com];
Stap 7b: Toegewezen SQL-pools configureren
U kunt toegang verlenen tot één toegewezen SQL-pooldatabase. Gebruik deze stappen in de Azure Synapse SQL-scripteditor:
Maak een gebruiker in de database door de volgende opdrachten uit te voeren. Selecteer de doeldatabase in de vervolgkeuzelijst Verbinding maken met :
--Create user in the database CREATE USER [<alias@domain.com>] FROM EXTERNAL PROVIDER; -- For Service Principals you would need just the display name and @domain.com is not required
Zo kent u de gebruiker een rol toe om toegang te krijgen tot de database:
--Grant role to the user in the database EXEC sp_addrolemember 'db_owner', '<alias@domain.com>';
Belangrijk
db_datareader en db_datawriter databaserollen kunnen lees-/schrijfmachtigingen bieden wanneer u geen db_owner machtigingen wilt verlenen. Db_owner machtiging is echter nodig voor Spark-gebruikers om rechtstreeks vanuit Spark naar of vanuit een SQL-pool te lezen en schrijven.
U kunt query's uitvoeren om te bevestigen dat serverloze SQL-pools een query kunnen uitvoeren op opslagaccounts nadat u uw gebruikers hebt gemaakt.
Stap 8: Gebruikers toevoegen aan beveiligingsgroepen
De eerste configuratie voor uw toegangsbeheersysteem is nu voltooid.
U kunt nu gebruikers toevoegen aan en verwijderen uit de beveiligingsgroepen die u hebt ingesteld, om de toegang tot hen te beheren. U kunt gebruikers handmatig toewijzen aan Azure Synapse-rollen, maar hiermee worden machtigingen inconsistent ingesteld. In plaats daarvan kunt u alleen gebruikers toevoegen aan of verwijderen uit uw beveiligingsgroepen.
Stap 9: Netwerkbeveiliging
Als laatste stap om uw werkruimte te beveiligen, moet u netwerktoegang beveiligen met behulp van de firewall van de werkruimte.
- Met en zonder een beheerd virtueel netwerk kunt u verbinding maken met uw werkruimte vanuit openbare netwerken. Zie Connectiviteitsinstellingen voor meer informatie.
- Toegang vanuit openbare netwerken kan worden beheerd door de functie voor openbare netwerktoegang of de firewall van de werkruimte in te schakelen.
- U kunt ook verbinding maken met uw werkruimte met behulp van een beheerd privé-eindpunt en private Link. Azure Synapse-werkruimten zonder het beheerde virtuele netwerk van Azure Synapse Analytics hebben niet de mogelijkheid om verbinding te maken via beheerde privé-eindpunten.
Stap 10: Voltooiing
Uw werkruimte is nu volledig geconfigureerd en beveiligd.
Meer geavanceerde scenario's ondersteunen
Deze handleiding heeft zich gericht op het instellen van een eenvoudig toegangsbeheersysteem. U kunt geavanceerdere scenario's ondersteunen door andere beveiligingsgroepen te maken en deze groepen gedetailleerdere rollen toe te wijzen op specifiekere bereiken. Houd rekening met de volgende gevallen:
Schakel Git-ondersteuning in voor de werkruimte voor meer geavanceerde ontwikkelscenario's, waaronder CI/CD. In de Git-modus bepalen Git-machtigingen en Synapse RBAC of een gebruiker wijzigingen kan doorvoeren in de werkbranch. Publiceren naar de service vindt alleen plaats vanuit de samenwerkingsbranch. Overweeg om een beveiligingsgroep te maken voor ontwikkelaars die updates in een werkende vertakking moeten ontwikkelen en er fouten in moeten opsporen, maar die geen wijzigingen in de liveservice hoeven te publiceren.
Beperk de toegang van ontwikkelaars tot specifieke resources. Maak andere verfijnde beveiligingsgroepen voor ontwikkelaars die alleen toegang nodig hebben tot specifieke resources. Wijs deze groepen de juiste Azure Synapse-rollen toe die zijn afgestemd op specifieke Spark-pools, Integration Runtimes of referenties.
Beperk operators om toegang te krijgen tot codeartefacten. Maak beveiligingsgroepen voor operators die de operationele status van Synapse-rekenresources moeten bewaken en logboeken moeten bekijken, maar die geen toegang nodig hebben tot code of om updates naar de service te publiceren. Wijs deze groepen de rol Compute Operator toe die is gericht op specifieke Spark-pools en Integration Runtimes.
Lokale verificatie uitschakelen. Door alleen Microsoft Entra-verificatie toe te staan, kunt u de toegang tot Azure Synapse-resources, zoals SQL-pools, centraal beheren. Lokale verificatie voor alle resources in de werkruimte kan worden uitgeschakeld tijdens of na het maken van de werkruimte. Zie Lokale verificatie uitschakelen in Azure Synapse Analytics voor meer informatie over alleen-Entra-verificatie.