Sdílet prostřednictvím


Nastavení řízení přístupu pro pracovní prostor Azure Synapse

Tento článek vás naučí řídit přístup k pracovnímu prostoru Microsoft Azure Synapse. K tomu použijeme kombinaci rolí Azure, rolí Azure Synapse, oprávnění SQL a oprávnění Gitu.

V této příručce nastavíte pracovní prostor a nakonfigurujete základní systém řízení přístupu. Tyto informace můžete použít v mnoha typech projektů Synapse. Najdete zde také pokročilé možnosti pro jemně odstupňované ovládání, pokud ho budete potřebovat.

Řízení přístupu Synapse je možné zjednodušit sladěním rolí a osob ve vaší organizaci se skupinami zabezpečení. To umožňuje spravovat přístup ke skupinám zabezpečení jednoduše přidáním a odebráním uživatelů.

Než začnete s tímto názorným průvodcem, přečtěte si přehled řízení přístupu k Azure Synapse, abyste se seznámili s mechanismy řízení přístupu používanými službou Synapse Analytics.

Mechanismy řízení přístupu

Poznámka:

Přístup v tomto průvodci spočívá ve vytváření skupin zabezpečení. Když těmto skupinám zabezpečení přiřadíte role, stačí spravovat členství v těchto skupinách, abyste mohli řídit přístup k pracovním prostorům.

Pokud chcete zabezpečit pracovní prostor Synapse, nakonfigurujete následující položky:

  • Skupiny zabezpečení za účelem seskupení uživatelů s podobnými požadavky na přístup
  • Role Azure za účelem řízení, kdo může vytvářet a spravovat fondy SQL, fondy úloh Apache Sparku a moduly runtime integrace a přistupovat k úložišti ADLS Gen2
  • Role Synapse za účelem řízení přístupu k publikovaným artefaktům kódu, používání výpočetních prostředků Apache Sparku a modulů runtime integrace
  • Oprávnění SQL za účelem řízení přístupu pro správu a přístupu roviny dat k fondům SQL
  • Oprávnění Gitu pro řízení, kdo má přístup k artefaktům kódu ve správě zdrojového kódu, pokud nakonfigurujete podporu Gitu pro pracovní prostory.

Postup zabezpečení pracovního prostoru Synapse

Tento dokument používá standardní názvy ke zjednodušení pokynů. Nahraďte je jmény podle vašeho výběru.

Nastavení Standardní název Popis
Pracovní prostor Synapse workspace1 Název, který bude mít pracovní prostor Azure Synapse.
účet ADLSGEN2 storage1 Účet ADLS, který se má použít s vaším pracovním prostorem.
Kontejner container1 Kontejner v stg1, který bude pracovní prostor používat ve výchozím nastavení.
Tenant služby Active Directory contoso název tenanta služby Active Directory.

Krok 1: Nastavení skupin zabezpečení

Poznámka:

Během období Preview jste byli vyzváni, abyste vytvořili skupiny zabezpečení a namapovali je na správce AZURE Synapse Synapse SQL a role správce Synapse Apache Sparku. Díky zavedení nových jemně odstupňovaných rolí a oborů Synapse RBAC se teď doporučuje používat novější možnosti pro řízení přístupu k vašemu pracovnímu prostoru. Poskytují větší flexibilitu konfigurace a potvrzují, že vývojáři často používají kombinaci SQL a Sparku k vytváření analytických aplikací. Vývojáři proto můžou potřebovat přístup k jednotlivým prostředkům, nikoli k celému pracovnímu prostoru. Přečtěte si další informace o Synapse RBAC.

Vytvořte pro svůj pracovní prostor následující skupiny zabezpečení:

  • workspace1_SynapseAdministrators– pro uživatele, kteří potřebují úplnou kontrolu nad pracovním prostorem. Přidejte se do této skupiny zabezpečení aspoň na začátku.
  • workspace1_SynapseContributors– pro vývojáře, kteří potřebují vyvíjet, ladit a publikovat kód do služby.
  • workspace1_SynapseComputeOperators– pro uživatele, kteří potřebují spravovat a monitorovat fondy Apache Sparku a prostředí Integration Runtime.
  • workspace1_SynapseCredentialUsers, pro uživatele, kteří potřebují ladit a spouštět kanály orchestrace pomocí přihlašovacích údajů MSI pracovního prostoru (identita spravované služby) a zrušit spuštění kanálu.

Role Synapse přiřadíte těmto skupinám krátce v oboru pracovního prostoru.

Vytvořte také tuto skupinu zabezpečení:

  • workspace1_SQLAdmins, skupina pro uživatele, kteří potřebují autoritu správce SLUŽBY SQL Active Directory v rámci fondů SQL v pracovním prostoru.

Skupina workspace1_SQLAdmins pro konfiguraci oprávnění SQL při vytváření fondů SQL.

Těchto pět skupin stačí pro základní nastavení. Později můžete přidat skupiny zabezpečení pro zpracování uživatelů, kteří potřebují specializovanější přístup, nebo omezit přístup jenom k jednotlivým prostředkům.

Poznámka:

Tip

Jednotliví uživatelé Synapse můžou pomocí ID Microsoft Entra na webu Azure Portal zobrazit členství ve skupinách. To jim umožňuje určit, které role byly uděleny.

Krok 2: Příprava účtu úložiště ADLS Gen2

Pracovní prostory Synapse používají výchozí kontejnery úložiště pro:

  • Ukládání datových souborů pro tabulky Sparku
  • Protokoly spouštění pro úlohy Sparku
  • Správa knihoven, které se rozhodnete nainstalovat

Identifikujte následující informace o vašem úložišti:

  • Účet ADLS Gen2, který se má použít pro váš pracovní prostor. Tento dokument ho storage1nazývá . storage1 se považuje za primární účet úložiště pro váš pracovní prostor.

  • Kontejner uvnitř storage1 vašeho pracovního prostoru Synapse bude ve výchozím nastavení používat. Tento dokument ho container1nazývá .

  • Vyberte Řízení přístupu (IAM) .

  • Kliknutím na Přidat>Přidat přiřazení role otevřete stránku Přidat přiřazení role.

  • Přiřaďte následující roli. Podrobný postup najdete v tématu Přiřazování rolí Azure s využitím webu Azure Portal.

    Nastavení Hodnota
    Role Přispěvatel dat objektů blob úložiště
    Přiřadit přístup k SERVICEPRINCIPAL
    Členové workspace1_SynapseAdministrators, workspace1_SynapseContributors a workspace1_SynapseComputeOperators

    Na webu Azure Portal přidejte stránku přiřazení role.

Krok 3: Vytvoření a konfigurace pracovního prostoru Synapse

Na webu Azure Portal vytvořte pracovní prostor Synapse:

  • Vyberte své předplatné.

  • Vyberte nebo vytvořte skupinu prostředků, pro kterou máte roli vlastníka Azure.

  • Pojmenování pracovního prostoru workspace1

  • Zvolte storage1 účet úložiště.

  • Zvolte container1 kontejner, který se používá jako "systém souborů".

  • Otevření WS1 v nástroji Synapse Studio

  • V nástroji Synapse Studio přejděte do části Správa>řízení přístupu. V oboru pracovního prostoru přiřaďte role Synapse skupinám zabezpečení následujícím způsobem:

    • Přiřazení role správce Synapse kworkspace1_SynapseAdministrators
    • Přiřazení role Přispěvatel Synapse kworkspace1_SynapseContributors
    • Přiřazení role operátora výpočetního objektu Synapseworkspace1_SynapseComputeOperators

Krok 4: Udělení přístupu MSI pracovního prostoru k výchozímu kontejneru úložiště

Aby bylo možné spouštět kanály a provádět systémové úlohy, Azure Synapse vyžaduje, aby identita spravované služby (MSI) měla pro pracovní prostor přístup k container1 výchozímu účtu ADLS Gen2. Další informace najdete v tématu Spravovaná identita pracovního prostoru Azure Synapse.

  • Otevřete Azure Portal

  • Vyhledejte účet storage1úložiště a pak container1.

  • Vyberte Řízení přístupu (IAM) .

  • Chcete-li otevřít stránku Přidat přiřazení role, vyberte Přidat>přiřazení role .

  • Přiřaďte následující roli. Podrobný postup najdete v tématu Přiřazování rolí Azure s využitím webu Azure Portal.

    Nastavení Hodnota
    Role Přispěvatel dat objektů blob úložiště
    Přiřadit přístup k MANAGEDIDENTITY
    Členové název spravované identity

    Poznámka:

    Název spravované identity je také název pracovního prostoru.

    Na webu Azure Portal přidejte stránku přiřazení role.

Krok 5: Udělení role Přispěvatel Azure pro pracovní prostor správcům Synapse

Aby uživatelé mohli vytvářet fondy SQL, fondy Apache Sparku a prostředí Integration Runtime, potřebují pro pracovní prostor alespoň roli Přispěvatel Azure. Role přispěvatele také umožňuje uživatelům spravovat prostředky, včetně pozastavení a škálování. Pokud chcete k vytváření fondů SQL, fondů Apache Sparku a prostředí Integration Runtime použít Azure Portal nebo Synapse Studio, potřebujete roli Přispěvatel na úrovni skupiny prostředků.

  • Otevřete Azure Portal

  • Vyhledejte pracovní prostor. workspace1

  • Vyberte Řízení přístupu (IAM) .

  • Pokud chcete otevřít stránku Přidat přiřazení role, vyberte Přidat>přiřazení role.

  • Přiřaďte následující roli. Podrobný postup najdete v tématu Přiřazování rolí Azure s využitím webu Azure Portal.

    Nastavení Hodnota
    Role Přispěvatel
    Přiřadit přístup k SERVICEPRINCIPAL
    Členové workspace1_SynapseAdministrators

    Na webu Azure Portal přidejte stránku přiřazení role.

Krok 6: Přiřazení role správce služby SQL Active Directory

Tvůrce pracovního prostoru se automaticky přiřadí jako správce služby SQL Active Directory pro tento pracovní prostor. Tuto roli může udělit jenom jeden uživatel nebo skupina. V tomto kroku přiřadíte správci služby SQL Active Directory pro pracovní prostor ke skupině workspace1_SQLAdmins zabezpečení. Díky tomu má skupina vysoce privilegovaný přístup správce ke všem fondům a databázím SQL v pracovním prostoru.

  • Otevřete Azure Portal
  • Přejděte na adresu workspace1
  • V části Nastavení vyberte Microsoft Entra ID.
  • Vyberte Nastavit správce a zvolte workspace1_SQLAdmins

Poznámka:

Krok 6 je volitelný. Můžete se rozhodnout, že skupině workspace1_SQLAdmins udělíte méně privilegovanou roli. Pokud chcete přiřadit db_owner nebo jiné role SQL, musíte spouštět skripty pro každou databázi SQL.

Krok 7: Udělení přístupu k fondům SQL

Správce Synapse má ve výchozím nastavení roli SQL db_owner pro bezserverové fondy SQL v pracovním prostoru.

Přístup k fondům SQL pro ostatní uživatele se řídí oprávněními SQL. Přiřazování oprávnění SQL vyžaduje spuštění skriptů SQL při každém následném vytvoření databáze SQL. Tady jsou příklady, které vyžadují spuštění těchto skriptů:

  1. Pokud chcete uživatelům udělit přístup k bezserverovém fondu SQL, integrovanému a jeho databázím.

  2. Pokud chcete uživatelům udělit přístup k vyhrazeným databázím fondu SQL. Ukázkové skripty SQL jsou zahrnuty dále v tomto článku.

  3. Pokud chcete udělit přístup k vyhrazené databázi fondu SQL, můžou skripty spustit tvůrce pracovního prostoru nebo jakýkoli člen workspace1_SynapseAdministrators skupiny.

  4. Pokud chcete udělit přístup k bezserverovém fondu SQL, dají se skripty spouštět libovolným členem workspace1_SQLAdmins skupiny nebo workspace1_SynapseAdministrators skupiny.

Tip

Přístup ke všem databázím SQL můžete udělit provedením následujících kroků pro každý fond SQL. Oddíl Konfigurovat oprávnění s oborem pracovního prostoru je výjimkou pravidla a umožňuje uživateli přiřadit roli správce systému na úrovni pracovního prostoru.

Krok 7a: Bezserverový fond SQL, integrovaný

Příklady skriptů v této části můžete použít k udělení oprávnění uživatelům pro přístup k jednotlivým databázím nebo ke všem databázím v bezserverovém fondu Built-inSQL.

Poznámka:

V příkladech skriptu nahraďte alias aliasem uživatele nebo skupiny, kterému byl udělen přístup. Nahraďte doménu doménou společnosti, kterou používáte.

Konfigurace oprávnění s vymezeným oborem databáze

Uživatelům můžete udělit přístup k jedné bezserverové databázi SQL pomocí kroků uvedených v tomto příkladu:

  1. Vytvořte přihlášení. master Změňte kontext databáze.

    --In the master database
    CREATE LOGIN [alias@domain.com] FROM EXTERNAL PROVIDER;
    
  2. Vytvořte uživatele v databázi. Změňte kontext databáze.

    -- In your database
    CREATE USER alias FROM LOGIN [alias@domain.com];
    
  3. Přidejte uživatele jako člena zadané role v databázi (v tomto případě db_owner roli).

    ALTER ROLE db_owner ADD member alias; -- Type USER name from step 2
    

Konfigurace oprávnění vymezených pracovním prostorem

Úplný přístup ke všem bezserverových fondům SQL v pracovním prostoru můžete udělit. Spusťte skript v tomto příkladu master v databázi:

CREATE LOGIN [alias@domain.com] FROM EXTERNAL PROVIDER;
ALTER SERVER ROLE sysadmin ADD MEMBER [alias@domain.com];

Krok 7b: Konfigurace vyhrazených fondů SQL

Přístup k jedné vyhrazené databázi fondu SQL můžete udělit. V editoru skriptů Azure Synapse SQL postupujte takto:

  1. Spuštěním následujících příkazů vytvořte uživatele v databázi. V rozevíracím seznamu Připojit k vyberte cílovou databázi:

    --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. Uživateli udělte roli pro přístup k databázi:

    --Grant role to the user in the database
    EXEC sp_addrolemember 'db_owner', '<alias@domain.com>';
    

Důležité

db_datareader a db_datawriter databázové role můžou poskytovat oprávnění ke čtení a zápisu, pokud nechcete udělit oprávnění db_owner. Db_owner oprávnění je však nezbytné, aby uživatelé Sparku mohli číst a zapisovat přímo ze Sparku do fondu SQL nebo z fondu SQL.

Po vytvoření uživatelů můžete spouštět dotazy, abyste potvrdili, že bezserverové fondy SQL můžou dotazovat účty úložiště.

Krok 8: Přidání uživatelů do skupin zabezpečení

Počáteční konfigurace systému řízení přístupu je teď dokončená.

Teď můžete přidávat a odebírat uživatele do skupin zabezpečení, které jste nastavili, a spravovat přístup k nim. Uživatele můžete ručně přiřadit k rolím Azure Synapse, ale tím se nastaví nekonzistentní oprávnění. Místo toho přidejte nebo odeberte uživatele jenom do skupin zabezpečení.

Krok 9: Zabezpečení sítě

Jako poslední krok zabezpečení pracovního prostoru byste měli zabezpečit síťový přístup pomocí brány firewall pracovního prostoru.

  • Se spravovanou virtuální sítí a bez této spravované virtuální sítě se můžete připojit ke svému pracovnímu prostoru z veřejných sítí. Další informace najdete v tématu Nastavení připojení.
  • Přístup z veřejných sítí je možné řídit povolením funkce přístupu k veřejné síti nebo bránou firewall pracovního prostoru.
  • Alternativně se můžete ke svému pracovnímu prostoru připojit pomocí spravovaného privátního koncového bodu a privátního propojení. Pracovní prostory Azure Synapse bez spravované virtuální sítě Azure Synapse Analytics nemají možnost se připojit přes spravované privátní koncové body.

Krok 10: Dokončení

Váš pracovní prostor je teď plně nakonfigurovaný a zabezpečený.

Podpora pokročilejších scénářů

Tato příručka se zaměřuje na nastavení základního systému řízení přístupu. Pokročilejší scénáře můžete podporovat vytvořením dalších skupin zabezpečení a přiřazením těchto skupin podrobnějších rolí v konkrétnějších oborech. Vezměte v úvahu následující případy:

Povolte podporu Gitu pro pracovní prostor pro pokročilejší scénáře vývoje, včetně CI/CD. V režimu Gitu určí oprávnění Gitu a Synapse RBAC, jestli uživatel může potvrdit změny do své pracovní větve. Publikování do služby probíhá pouze z větve pro spolupráci. Zvažte vytvoření skupiny zabezpečení pro vývojáře, kteří potřebují vyvíjet a ladit aktualizace v pracovní větvi, ale nepotřebují publikovat změny v živé službě.

Omezte přístup vývojáře k určitým prostředkům. Vytvořte další jemně odstupňované skupiny zabezpečení pro vývojáře, kteří potřebují přístup pouze ke konkrétním prostředkům. Přiřaďte tyto skupiny příslušné role Azure Synapse, které jsou vymezeny na konkrétní fondy Spark, prostředí Integration Runtime nebo přihlašovací údaje.

Omezte operátory v přístupu k artefaktům kódu. Vytvořte skupiny zabezpečení pro operátory, kteří potřebují monitorovat provozní stav výpočetních prostředků Synapse a zobrazit protokoly, ale nepotřebují přístup k kódu nebo publikovat aktualizace do služby. Tyto skupiny přiřaďte roli operátora výpočetních prostředků vymezenou na konkrétní fondy Sparku a prostředí Integration Runtime.

Zakažte místní ověřování. Povolením pouze ověřování Microsoft Entra můžete centrálně spravovat přístup k prostředkům Azure Synapse, jako jsou fondy SQL. Místní ověřování pro všechny prostředky v rámci pracovního prostoru je možné během vytváření nebo po vytvoření pracovního prostoru zakázat. Další informace o ověřování pouze Microsoft Entra najdete v tématu Zakázání místního ověřování ve službě Azure Synapse Analytics.

Další kroky