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 úložišti1, který bude pracovní prostor používat ve výchozím nastavení. |
Tenant Microsoft Entra ID | contoso |
Název tenanta Microsoft Entra ID. |
Instanční objekt | SERVICEPRINCIPAL |
Instanční objekt ve vašem tenantovi Microsoft Entra ID. |
Krok 1: Nastavení skupin zabezpečení
Tip
Doporučujeme používat podrobné možnosti pro řízení přístupu k vašemu pracovnímu prostoru a udělení přístupu vývojářům k jednotlivým prostředkům místo 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:
- V tomto článku se dozvíte, jak vytvořit skupinu zabezpečení: Vytvoření základní skupiny a přidání členů pomocí ID Microsoft Entra.
- Zjistěte, jak přidat skupinu zabezpečení z jiné skupiny zabezpečení v tomto článku: Přidání nebo odebrání skupiny z jiné skupiny pomocí ID Microsoft Entra.
- Při vytváření skupiny zabezpečení se ujistěte, že typ skupiny je zabezpečení. Skupiny Microsoft 365 nejsou pro Azure SQL podporované.
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
storage1
nazý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 hocontainer1
nazý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
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řít
workspace1
v synapse StudiuV 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 k
workspace1_SynapseAdministrators
- Přiřazení role Přispěvatel Synapse k
workspace1_SynapseContributors
- Přiřazení role operátora výpočetního objektu Synapse
workspace1_SynapseComputeOperators
- Přiřazení role správce Synapse k
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 pakcontainer1
.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.
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, musí mít pro pracovní prostor minimálně 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 (uvedený v části Role privilegovaného správce) Přiřadit přístup k SERVICEPRINCIPAL
Členové workspace1_SynapseAdministrators
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ů:
Pokud chcete uživatelům udělit přístup k bezserverovém fondu SQL, integrovanému a jeho databázím.
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.
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.Pokud chcete udělit přístup k bezserverovém fondu SQL, dají se skripty spouštět libovolným členem
workspace1_SQLAdmins
skupiny neboworkspace1_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í v oboru 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-in
SQL.
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:
Vytvořte přihlášení.
master
Změňte kontext databáze.--In the master database CREATE LOGIN [alias@domain.com] FROM EXTERNAL PROVIDER;
Vytvořte uživatele v databázi. Změňte kontext databáze.
-- In your database CREATE USER alias FROM LOGIN [alias@domain.com];
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:
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
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.