Delen via


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

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 het container1.

  • 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

    Pagina Roltoewijzing toevoegen in Azure Portal.

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 opslagaccount

  • Kies container1 voor de container die wordt gebruikt als bestandssysteem.

  • Openen workspace1 in Synapse Studio

  • Navigeer in Synapse Studio naar Toegangsbeheer beheren>. Wijs synapse-rollen in werkruimtebereik als volgt toe aan beveiligingsgroepen:

    • De rol Synapse-beheerder toewijzen aanworkspace1_SynapseAdministrators
    • De rol Synapse-inzender toewijzen aanworkspace1_SynapseContributors
    • De rol Synapse Compute-operator toewijzen aanworkspace1_SynapseComputeOperators

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 storage1vervolgens container1.

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

    Pagina Roltoewijzing toevoegen in Azure Portal.

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

    Pagina Roltoewijzing toevoegen in Azure Portal.

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:

  1. Als u gebruikers toegang wilt verlenen tot de serverloze SQL-pool, 'Ingebouwd' en de bijbehorende databases.

  2. Gebruikers toegang verlenen tot toegewezen SQL-pooldatabases. Voorbeelden van SQL-scripts worden verderop in dit artikel opgenomen.

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

  4. Als u toegang wilt verlenen tot de serverloze SQL-pool, 'Ingebouwd', kunnen scripts worden uitgevoerd door elk lid van de workspace1_SQLAdmins groep of de workspace1_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:

  1. Maak een aanmelding. Ga naar de master databasecontext.

    --In the master database
    CREATE LOGIN [alias@domain.com] FROM EXTERNAL PROVIDER;
    
  2. Maak een gebruiker in uw database. Wijzig de context in uw database.

    -- In your database
    CREATE USER alias FROM LOGIN [alias@domain.com];
    
  3. 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:

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

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.