Jak skonfigurować kontrolę dostępu dla obszaru roboczego usługi Azure Synapse
W tym artykule przedstawiono sposób kontrolowania dostępu do obszaru roboczego usługi Microsoft Azure Synapse. Użyjemy kombinacji ról platformy Azure, ról usługi Azure Synapse, uprawnień SQL i uprawnień usługi Git, aby to osiągnąć.
W tym przewodniku skonfigurujesz obszar roboczy i skonfigurujesz podstawowy system kontroli dostępu. Te informacje można używać w wielu typach projektów usługi Synapse. Dostępne są również zaawansowane opcje dla bardziej szczegółowej kontrolki, jeśli jej potrzebujesz.
Kontrolę dostępu usługi Synapse można uprościć, dostosowując role i osoby w organizacji do grup zabezpieczeń. Umożliwia to zarządzanie dostępem do grup zabezpieczeń po prostu przez dodawanie i usuwanie użytkowników.
Przed rozpoczęciem tego przewodnika zapoznaj się z omówieniem kontroli dostępu usługi Azure Synapse, aby zapoznać się z mechanizmami kontroli dostępu używanymi przez usługę Synapse Analytics.
Mechanizmy kontroli dostępu
Uwaga
Podejście w tym przewodniku polega na tworzeniu grup zabezpieczeń. Po przypisaniu ról do tych grup zabezpieczeń wystarczy zarządzać członkostwem w tych grupach, aby kontrolować dostęp do obszarów roboczych.
Aby zabezpieczyć obszar roboczy usługi Synapse, skonfigurujesz następujące elementy:
- Grupy zabezpieczeń służące do grupowania użytkowników z podobnymi wymaganiami dotyczącymi dostępu.
- Role platformy Azure służące do kontrolowania, kto może tworzyć pule SQL, pule platformy Apache Spark i środowiska Integration Runtime oraz zarządzać nimi, a także uzyskiwać dostęp do magazynu usługi ADLS Gen2.
- Role usługi Synapse służące do kontrolowania dostępu do opublikowanych artefaktów kodu oraz korzystania z zasobów obliczeniowych platformy Apache Spark i środowisk Integration Runtime.
- Uprawnienia SQL służące do kontrolowania dostępu administracyjnego i dostępu do płaszczyzny danych pul SQL.
- Uprawnienia usługi Git umożliwiające kontrolowanie, kto może uzyskiwać dostęp do artefaktów kodu w kontroli źródła, jeśli skonfigurujesz obsługę usługi Git dla obszarów roboczych.
Procedura zabezpieczania obszaru roboczego usługi Synapse
Ten dokument używa nazw standardowych, aby uprościć instrukcje. Zastąp je wybranymi nazwami.
Ustawienie | Nazwa Standardowa | Opis |
---|---|---|
Obszar roboczy usługi Synapse | workspace1 |
Nazwa, którą będzie miał obszar roboczy usługi Azure Synapse. |
konto ADLSGEN2 | storage1 |
Konto usługi ADLS do użycia z obszarem roboczym. |
Kontener | container1 |
Kontener w magazynie storage1, który będzie domyślnie używany przez obszar roboczy. |
Dzierżawa identyfikatora entra firmy Microsoft | contoso |
Nazwa dzierżawy Identyfikator entra firmy Microsoft. |
Jednostka usługi | SERVICEPRINCIPAL |
Jednostka usługi w dzierżawie microsoft Entra ID. |
Krok 1. Konfigurowanie grup zabezpieczeń
Napiwek
Zachęcamy do używania szczegółowych opcji w celu kontrolowania dostępu do obszaru roboczego, udzielania deweloperom dostępu do poszczególnych zasobów, a nie całego obszaru roboczego. Dowiedz się więcej o kontroli dostępu opartej na rolach usługi Synapse.
Utwórz następujące grupy zabezpieczeń dla obszaru roboczego:
workspace1_SynapseAdministrators
, dla użytkowników, którzy potrzebują pełnej kontroli nad obszarem roboczym. Dodaj siebie do tej grupy zabezpieczeń, przynajmniej początkowo.workspace1_SynapseContributors
, dla deweloperów, którzy muszą opracowywać, debugować i publikować kod w usłudze.workspace1_SynapseComputeOperators
, dla użytkowników, którzy muszą zarządzać pulami platformy Apache Spark i środowiskami Integration Runtime oraz monitorować je.workspace1_SynapseCredentialUsers
, dla użytkowników, którzy muszą debugować i uruchamiać potoki aranżacji przy użyciu poświadczeń tożsamości usługi zarządzanej obszaru roboczego i anulować uruchomienia potoku.
Wkrótce przypiszesz role usługi Synapse do tych grup w zakresie obszaru roboczego.
Utwórz również tę grupę zabezpieczeń:
workspace1_SQLAdmins
, grupa dla użytkowników, którzy potrzebują urzędu administracyjnego usługi SQL Active Directory, w pulach SQL w obszarze roboczym.
Grupa do konfigurowania workspace1_SQLAdmins
uprawnień SQL podczas tworzenia pul SQL.
Te pięć grup jest wystarczające do podstawowej konfiguracji. Później można dodać grupy zabezpieczeń do obsługi użytkowników, którzy potrzebują bardziej wyspecjalizowanego dostępu lub ograniczyć dostęp tylko do poszczególnych zasobów.
Uwaga
- Dowiedz się, jak utworzyć grupę zabezpieczeń w tym artykule: Tworzenie podstawowej grupy i dodawanie członków przy użyciu identyfikatora Entra firmy Microsoft.
- Dowiedz się, jak dodać grupę zabezpieczeń z innej grupy zabezpieczeń w tym artykule: Dodawanie lub usuwanie grupy z innej grupy przy użyciu identyfikatora Entra firmy Microsoft.
- Podczas tworzenia grupy zabezpieczeń upewnij się, że typ grupy to Zabezpieczenia. Grupy platformy Microsoft 365 nie są obsługiwane w przypadku usługi Azure SQL.
Napiwek
Indywidualni użytkownicy usługi Synapse mogą używać identyfikatora Entra firmy Microsoft w witrynie Azure Portal do wyświetlania członkostw w grupach. Dzięki temu można określić, które role zostały przyznane.
Krok 2. Przygotowanie konta magazynu usługi ADLS Gen2
Obszary robocze usługi Synapse używają domyślnych kontenerów magazynu dla:
- Przechowywanie plików danych zapasowych dla tabel platformy Spark
- Dzienniki wykonywania dla zadań platformy Spark
- Zarządzanie bibliotekami, które chcesz zainstalować
Zidentyfikuj następujące informacje o magazynie:
Konto usługi ADLS Gen2 do użycia w obszarze roboczym. Ten dokument wywołuje go
storage1
.storage1
jest uznawane za "podstawowe" konto magazynu dla obszaru roboczego.Kontener wewnątrz
storage1
tego obszaru roboczego usługi Synapse będzie domyślnie używany. Ten dokument wywołuje gocontainer1
.Wybierz pozycję Kontrola dostępu (IAM).
Kliknij pozycję Dodaj>Dodaj przypisanie roli, aby otworzyć stronę Dodawanie przypisania roli.
Przypisz następującą rolę. Aby uzyskać szczegółowe instrukcje, zobacz Przypisywanie ról platformy Azure przy użyciu witryny Azure Portal.
Ustawienie Wartość Rola Współautor danych w usłudze Blob Storage Przypisz dostęp do SERVICEPRINCIPAL
Elementy członkowskie workspace1_SynapseAdministrators, workspace1_SynapseContributors i workspace1_SynapseComputeOperators
Krok 3. Tworzenie i konfigurowanie obszaru roboczego usługi Synapse
W witrynie Azure Portal utwórz obszar roboczy usługi Synapse:
Wybierz swoją subskrypcję
Wybierz lub utwórz grupę zasobów, dla której masz rolę właściciela platformy Azure.
Nazwij obszar roboczy
workspace1
Wybierz
storage1
konto magazynuWybierz
container1
kontener, który jest używany jako "system plików".Otwórz
workspace1
w programie Synapse StudioW programie Synapse Studio przejdź do pozycji Zarządzanie>kontrolą dostępu. W zakresie obszaru roboczego przypisz role usługi Synapse do grup zabezpieczeń w następujący sposób:
- Przypisywanie roli administratora usługi Synapse do
workspace1_SynapseAdministrators
- Przypisywanie roli Współautor usługi Synapse do
workspace1_SynapseContributors
- Przypisywanie roli operatora obliczeniowego usługi Synapse do
workspace1_SynapseComputeOperators
- Przypisywanie roli administratora usługi Synapse do
Krok 4. Udzielanie domyślnemu kontenerowi magazynu tożsamości usługi zarządzanej obszaru roboczego
Aby uruchamiać potoki i wykonywać zadania systemowe, usługa Azure Synapse wymaga tożsamości usługi zarządzanej (MSI) w celu uzyskania dostępu do container1
domyślnego konta usługi ADLS Gen2 dla obszaru roboczego. Aby uzyskać więcej informacji, zobacz Tożsamość zarządzana obszaru roboczego usługi Azure Synapse.
Otwórz witrynę Azure Portal.
Znajdź konto magazynu,
storage1
, a następniecontainer1
.Wybierz pozycję Kontrola dostępu (IAM).
Aby otworzyć stronę Dodawanie przypisania roli, wybierz pozycję Dodaj>przypisanie roli.
Przypisz następującą rolę. Aby uzyskać szczegółowe instrukcje, zobacz Przypisywanie ról platformy Azure przy użyciu witryny Azure Portal.
Ustawienie Wartość Rola Współautor danych w usłudze Blob Storage Przypisz dostęp do IDENTYFIKATOR ZARZĄDZANY Elementy członkowskie nazwa tożsamości zarządzanej Uwaga
Nazwa tożsamości zarządzanej jest również nazwą obszaru roboczego.
Krok 5. Udzielanie administratorom usługi Synapse roli Współautor platformy Azure dla obszaru roboczego
Aby utworzyć pule SQL, pule platformy Apache Spark i środowiska Integration Runtime, użytkownicy potrzebują co najmniej roli Współautor platformy Azure dla obszaru roboczego. Rola Współautor umożliwia również użytkownikom zarządzanie zasobami, w tym wstrzymanie i skalowanie. Aby użyć witryny Azure Portal lub programu Synapse Studio do tworzenia pul SQL, pul platformy Apache Spark i środowisk Integration Runtime, musisz mieć rolę Współautor na poziomie grupy zasobów.
Otwórz witrynę Azure Portal.
Znajdź obszar roboczy,
workspace1
Wybierz pozycję Kontrola dostępu (IAM).
Aby otworzyć stronę Dodawanie przypisania roli, wybierz pozycję Dodaj>przypisanie roli.
Przypisz następującą rolę. Aby uzyskać szczegółowe instrukcje, zobacz Przypisywanie ról platformy Azure przy użyciu witryny Azure Portal.
Ustawienie Wartość Rola Współautor (wymieniony w obszarze "Role administratora uprzywilejowanego") Przypisz dostęp do SERVICEPRINCIPAL
Elementy członkowskie workspace1_SynapseAdministrators
Krok 6. Przypisywanie roli administratora usługi SQL Active Directory
Twórca obszaru roboczego jest automatycznie przypisywany jako administrator usługi SQL Active Directory dla obszaru roboczego. Tę rolę można udzielić tylko jednemu użytkownikowi lub grupie. W tym kroku przypiszesz administratorowi usługi SQL Active Directory dla obszaru roboczego do grupy zabezpieczeń workspace1_SQLAdmins
. Zapewnia to grupie wysoce uprzywilejowany dostęp administratora do wszystkich pul SQL i baz danych w obszarze roboczym.
- Otwórz witrynę Azure Portal.
- Przejdź do strony
workspace1
- W obszarze Ustawienia wybierz pozycję Microsoft Entra ID
- Wybierz pozycję Ustaw administratora i wybierz pozycję
workspace1_SQLAdmins
Uwaga
Krok 6 jest opcjonalny. Możesz przyznać workspace1_SQLAdmins
grupie mniej uprzywilejowaną rolę. Aby przypisać db_owner
lub inne role SQL, należy uruchomić skrypty w każdej bazie danych SQL.
Krok 7. Udzielanie dostępu do pul SQL
Administrator usługi Synapse domyślnie otrzymuje rolę SQL dla bezserwerowych pul SQL db_owner
w obszarze roboczym.
Dostęp do pul SQL dla innych użytkowników jest kontrolowany przez uprawnienia SQL. Przypisywanie uprawnień SQL wymaga uruchomienia skryptów SQL po utworzeniu każdej bazy danych SQL. Poniżej przedstawiono przykłady, które wymagają uruchomienia tych skryptów:
Aby udzielić użytkownikom dostępu do bezserwerowej puli SQL, "wbudowanej" i jej baz danych.
Aby udzielić użytkownikom dostępu do dedykowanych baz danych puli SQL. Przykładowe skrypty SQL znajdują się w dalszej części tego artykułu.
Aby udzielić dostępu do dedykowanej bazy danych puli SQL, skrypty mogą być uruchamiane przez twórcę obszaru roboczego lub dowolnego członka
workspace1_SynapseAdministrators
grupy.Aby udzielić dostępu do bezserwerowej puli SQL, "Wbudowane", skrypty mogą być uruchamiane przez dowolnego członka
workspace1_SQLAdmins
grupy lubworkspace1_SynapseAdministrators
grupy.
Napiwek
Dostęp do wszystkich baz danych SQL można udzielić, wykonując następujące kroki dla każdej puli SQL. Sekcja Konfigurowanie uprawnień o zakresie obszaru roboczego jest wyjątkiem od reguły i umożliwia przypisanie użytkownikowi roli administratora systemu na poziomie obszaru roboczego.
Krok 7a. Bezserwerowa pula SQL, wbudowana
Przykłady skryptów w tej sekcji umożliwiają użytkownikom dostęp do pojedynczej bazy danych lub wszystkich baz danych w bezserwerowej puli SQL. Built-in
Uwaga
W przykładach skryptów zastąp alias aliasem użytkownika lub grupy, któremu udzielono dostępu. Zastąp domenę domeną firmy, której używasz.
Konfigurowanie uprawnień o zakresie bazy danych
Możesz udzielić użytkownikom dostępu do pojedynczej bezserwerowej bazy danych SQL, wykonując kroki opisane w tym przykładzie:
Utwórz identyfikator logowania. Przejdź do
master
kontekstu bazy danych.--In the master database CREATE LOGIN [alias@domain.com] FROM EXTERNAL PROVIDER;
Utwórz użytkownika w bazie danych. Zmień kontekst na bazę danych.
-- In your database CREATE USER alias FROM LOGIN [alias@domain.com];
Dodaj użytkownika jako członka określonej roli w bazie danych (w tym przypadku rolę db_owner ).
ALTER ROLE db_owner ADD member alias; -- Type USER name from step 2
Konfigurowanie uprawnień o zakresie obszaru roboczego
Możesz udzielić pełnego dostępu do wszystkich bezserwerowych pul SQL w obszarze roboczym. Uruchom skrypt w tym przykładzie master
w bazie danych:
CREATE LOGIN [alias@domain.com] FROM EXTERNAL PROVIDER;
ALTER SERVER ROLE sysadmin ADD MEMBER [alias@domain.com];
Krok 7b. Konfigurowanie dedykowanych pul SQL
Możesz udzielić dostępu do pojedynczej, dedykowanej bazy danych puli SQL. Wykonaj następujące kroki w edytorze skryptów sql usługi Azure Synapse:
Utwórz użytkownika w bazie danych, uruchamiając następujące polecenia. Wybierz docelową bazę danych z listy rozwijanej Połącz z :
--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
Udziel użytkownikowi roli w celu uzyskania dostępu do bazy danych:
--Grant role to the user in the database EXEC sp_addrolemember 'db_owner', '<alias@domain.com>';
Ważne
db_datareader i db_datawriter role bazy danych mogą zapewniać uprawnienia do odczytu/zapisu, gdy nie chcesz nadawać uprawnień db_owner. Jednak db_owner uprawnienia są niezbędne dla użytkowników platformy Spark do odczytu i zapisu bezpośrednio z platformy Spark do lub z puli SQL.
Zapytania można uruchamiać, aby potwierdzić, że bezserwerowe pule SQL mogą wykonywać zapytania dotyczące kont magazynu po utworzeniu użytkowników.
Krok 8. Dodawanie użytkowników do grup zabezpieczeń
Początkowa konfiguracja systemu kontroli dostępu została ukończona.
Teraz możesz dodawać i usuwać użytkowników do skonfigurowanych grup zabezpieczeń, aby zarządzać dostępem do nich. Możesz ręcznie przypisać użytkowników do ról usługi Azure Synapse, ale powoduje to spójne ustawianie uprawnień. Zamiast tego należy dodawać i usuwać użytkowników tylko do grup zabezpieczeń.
Krok 9. Zabezpieczenia sieci
W ostatnim kroku w celu zabezpieczenia obszaru roboczego należy zabezpieczyć dostęp sieciowy przy użyciu zapory obszaru roboczego.
- Z zarządzaną siecią wirtualną i bez nią można nawiązać połączenie z obszarem roboczym z sieci publicznych. Aby uzyskać więcej informacji, zobacz Ustawienia łączności.
- Dostęp z sieci publicznych można kontrolować przez włączenie funkcji dostępu do sieci publicznej lub zapory obszaru roboczego.
- Alternatywnie możesz nawiązać połączenie z obszarem roboczym przy użyciu zarządzanego prywatnego punktu końcowego i łącza prywatnego. Obszary robocze usługi Azure Synapse bez zarządzanej sieci wirtualnej usługi Azure Synapse Analytics nie mają możliwości łączenia się za pośrednictwem zarządzanych prywatnych punktów końcowych.
Krok 10. Ukończenie
Obszar roboczy jest teraz w pełni skonfigurowany i zabezpieczony.
Obsługa bardziej zaawansowanych scenariuszy
Ten przewodnik koncentruje się na konfigurowaniu podstawowego systemu kontroli dostępu. Bardziej zaawansowane scenariusze można obsługiwać, tworząc inne grupy zabezpieczeń i przypisując im bardziej szczegółowe role w bardziej szczegółowych zakresach. Rozważ następujące przypadki:
Włącz obsługę usługi Git dla obszaru roboczego w celu uzyskania bardziej zaawansowanych scenariuszy programowania, w tym ciągłej integracji/ciągłego wdrażania. W trybie Git uprawnienia usługi Git i kontrola RBAC usługi Synapse określają, czy użytkownik może zatwierdzić zmiany w gałęzi roboczej. Publikowanie w usłudze odbywa się tylko z gałęzi współpracy. Rozważ utworzenie grupy zabezpieczeń dla deweloperów, którzy muszą opracowywać i debugować aktualizacje w gałęzi roboczej, ale nie muszą publikować zmian w usłudze na żywo.
Ogranicz dostęp deweloperów do określonych zasobów. Utwórz inne bardziej szczegółowe grupy zabezpieczeń dla deweloperów, którzy potrzebują dostępu tylko do określonych zasobów. Przypisz te grupy odpowiednie role usługi Azure Synapse, które są ograniczone do określonych pul platformy Spark, środowisk Integration Runtime lub poświadczeń.
Ogranicz operatorom dostęp do artefaktów kodu. Utwórz grupy zabezpieczeń dla operatorów, którzy muszą monitorować stan operacyjny zasobów obliczeniowych usługi Synapse i wyświetlać dzienniki, ale którzy nie potrzebują dostępu do kodu lub publikowania aktualizacji w usłudze. Przypisz te grupy zakres roli Operator obliczeniowy do określonych pul platformy Spark i środowisk Integration Runtime.
Wyłącz uwierzytelnianie lokalne. Zezwalając tylko na uwierzytelnianie firmy Microsoft Entra, można centralnie zarządzać dostępem do zasobów usługi Azure Synapse, takich jak pule SQL. Uwierzytelnianie lokalne dla wszystkich zasobów w obszarze roboczym można wyłączyć podczas tworzenia obszaru roboczego lub po jego utworzeniu. Aby uzyskać więcej informacji na temat uwierzytelniania tylko w usłudze Microsoft Entra, zobacz Wyłączanie uwierzytelniania lokalnego w usłudze Azure Synapse Analytics.