Udostępnij za pośrednictwem


Omówienie kontroli dostępu do obszaru roboczego usługi Azure Synapse

Ten artykuł zawiera omówienie mechanizmów dostępnych do kontrolowania dostępu do zasobów obliczeniowych i danych usługi Azure Synapse.

Usługa Azure Synapse oferuje kompleksowy i precyzyjny system kontroli dostępu, który integruje:

  • role platformy Azure do zarządzania zasobami i uzyskiwania dostępu do danych w magazynie;
  • role usługi Synapse do zarządzania dostępem na żywo do kodu i wykonywania;
  • role SQL na potrzeby dostępu do danych na płaszczyźnie danych w pulach SQL;
  • uprawnienia usługi Git do kontroli kodu źródłowego, włącznie z obsługą ciągłej integracji i ciągłego wdrażania.

Role usługi Azure Synapse zapewniają zestawy uprawnień, które można stosować w różnych zakresach. Taka szczegółowość ułatwia przyznawanie odpowiedniego dostępu do zasobów obliczeniowych i danych administratorom, deweloperom, personelowi ds. zabezpieczeń i operatorom.

Kontrolę dostępu można uprościć przy użyciu grup zabezpieczeń, które są dostosowane do ról zadań osób. Aby zarządzać dostępem, musisz tylko dodawać i usuwać użytkowników z odpowiednich grup zabezpieczeń.

Elementy kontroli dostępu

Tworzenie zasobów obliczeniowych usługi Azure Synapse i zarządzanie nimi

Role platformy Azure służą do kontrolowania zarządzania:

  • Dedykowane pule SQL
  • Pule eksploratora danych
  • Pule platformy Apache Spark
  • Środowiska Integration Runtime

Aby utworzyć te zasoby, musisz być właścicielem platformy Azure lub współautorem w grupie zasobów. Aby zarządzać nimi po utworzeniu, musisz być właścicielem lub współautorem platformy Azure w grupie zasobów lub poszczególnych zasobach.

Właściciel lub współautor może włączać lub wyłączać uwierzytelnianie tylko firmy Microsoft dla obszarów roboczych usługi Azure Synapse. Aby uzyskać więcej informacji na temat uwierzytelniania tylko w usłudze Microsoft Entra, zobacz Use Microsoft Entra authentication for authentication with Synapse SQL (Używanie uwierzytelniania entra firmy Microsoft do uwierzytelniania w usłudze Synapse SQL).

Tworzenie i wykonywanie kodu w usłudze Azure Synapse

Usługa Synapse obsługuje dwa modele programowania.

  • Programowanie na żywo usługi Synapse: Tworzysz i debugujesz kod w programie Synapse Studio, a następnie publikujesz go w celu zapisania i wykonania. Usługa Synapse jest źródłem prawdy do edytowania i wykonywania kodu. Wszystkie nieopublikowane prace zostaną utracone po zamknięciu programu Synapse Studio.

  • Programowanie z obsługą usługi Git: Tworzysz i debugujesz kod w programie Synapse Studio i zatwierdzasz zmiany w gałęzi roboczej repozytorium Git. Praca z co najmniej jedną gałęzią jest zintegrowana z gałęzią współpracy, z której jest publikowana w usłudze. Repozytorium Git jest źródłem prawdy do edytowania kodu, a usługa jest źródłem prawdy do wykonania. Zmiany muszą zostać zatwierdzone w repozytorium Git lub opublikowane w usłudze przed zamknięciem programu Synapse Studio. Aby dowiedzieć się więcej na temat korzystania z usługi Synapse Analytics z usługą Git, zobacz Ciągła integracja i dostarczanie dla obszaru roboczego usługi Azure Synapse Analytics.

W obu modelach programowania każdy użytkownik mający dostęp do programu Synapse Studio może tworzyć artefakty kodu. Potrzebujesz jednak dodatkowych uprawnień do publikowania artefaktów w usłudze, odczytywania opublikowanych artefaktów, zatwierdzania zmian w usłudze Git, wykonywania kodu i uzyskiwania dostępu do połączonych danych chronionych przez poświadczenia. Użytkownicy muszą mieć rolę Współautor platformy Azure lub wyższą w obszarze roboczym usługi Synapse, aby skonfigurować, edytować ustawienia i rozłączyć repozytorium Git za pomocą usługi Synapse.

Role usługi Azure Synapse

Role usługi Azure Synapse służą do kontrolowania dostępu do usługi Synapse. Różne role mogą zezwalać na:

  • Wyświetlanie listy opublikowanych artefaktów kodu
  • Publikowanie artefaktów kodu, połączonych usług i definicji poświadczeń
  • Wykonywanie kodu lub potoków korzystających z zasobów obliczeniowych usługi Synapse
  • Wykonywanie kodu lub potoków, które uzyskują dostęp do połączonych danych chronionych przez poświadczenia
  • Wyświetlanie danych wyjściowych skojarzonych z opublikowanymi artefaktami kodu
  • Monitorowanie stanu zasobów obliczeniowych i wyświetlanie dzienników środowiska uruchomieniowego

Role usługi Azure Synapse można przypisać w zakresie obszaru roboczego lub w bardziej szczegółowych zakresach, aby ograniczyć uprawnienia przyznane określonym zasobom usługi Azure Synapse.

Uprawnienia usługi Git

W przypadku programowania opartego na usłudze Git w trybie Git potrzebne są uprawnienia usługi Git oprócz ról RBAC (kontrola dostępu oparta na rolach) usługi Synapse, a także odczytywania artefaktów kodu, w tym połączonych definicji usług i poświadczeń. Aby zatwierdzić zmiany artefaktów kodu w trybie Git, musisz mieć uprawnienia usługi Git i rolę Wydawca artefaktów usługi Synapse.

Uzyskiwanie dostępu do danych w programie SQL

W przypadku dedykowanych i bezserwerowych pul SQL dostęp do płaszczyzny danych jest kontrolowany przy użyciu uprawnień SQL.

Twórca obszaru roboczego jest przypisywany jako administrator usługi Active Directory w obszarze roboczym. Po utworzeniu tę rolę można przypisać do innego użytkownika lub do grupy zabezpieczeń w witrynie Azure Portal.

  • Bezserwerowe pule SQL: Administratorzy usługi Synapse otrzymują db_owner uprawnienia do bezserwerowej puli SQL wbudowanej. Aby udzielić innym użytkownikom dostępu do bezserwerowej puli SQL, administratorzy usługi Synapse muszą uruchamiać skrypty SQL w bezserwerowej puli.

  • Dedykowane pule SQL: Administratorzy usługi Synapse mają pełny dostęp do danych w dedykowanych pulach SQL i możliwość udzielania dostępu innym użytkownikom. Administratorzy usługi Synapse mogą również wykonywać działania konfiguracyjne i konserwacyjne w dedykowanych pulach, z wyjątkiem usuwania baz danych. Uprawnienia administratora usługi Active Directory są przyznawane twórcy obszaru roboczego i tożsamości usługi zarządzanej obszaru roboczego. Uprawnienia dostępu do dedykowanych pul SQL nie są przyznawane automatycznie. Aby udzielić innym użytkownikom lub grupom dostępu do dedykowanych pul SQL, administrator usługi Active Directory lub administrator usługi Synapse musi uruchamiać skrypty SQL dla każdej dedykowanej puli SQL.

Przykłady skryptów SQL do udzielania uprawnień SQL w pulach SQL znajdują się w temacie How to set up access control for your Azure Synapse workspace (Jak skonfigurować kontrolę dostępu dla obszaru roboczego usługi Azure Synapse).

Uzyskiwanie dostępu do danych w pulach eksploratora danych

W przypadku pul eksploratora danych dostęp do płaszczyzny danych jest kontrolowany za pomocą uprawnień eksploratora danych. Administratorzy usługi Synapse otrzymują All Database admin uprawnienia do pul eksploratora danych. Aby udzielić innym użytkownikom lub grupom dostępu do pul eksploratora danych, administratorzy usługi Synapse powinni odwoływać się do zarządzania rolami zabezpieczeń. Aby uzyskać więcej informacji na temat dostępu do płaszczyzny danych, zobacz Omówienie kontroli dostępu.

Uzyskiwanie dostępu do danych zarządzanych przez system w magazynie

Bezserwerowe pule SQL i tabele platformy Apache Spark przechowują dane w kontenerze usługi Azure Data Lake Storage Gen2 skojarzonym z obszarem roboczym. Biblioteki platformy Apache Spark zainstalowane przez użytkownika są również zarządzane na tym samym koncie magazynu. Aby włączyć te przypadki użycia, użytkownicy i tożsamość usługi zarządzanej obszaru roboczego muszą mieć dostęp współautora danych obiektu blob usługi Storage do tego kontenera usługi Azure Data Lake Storage obszaru roboczego.

Używanie grup zabezpieczeń jako najlepszych rozwiązań

Aby uprościć zarządzanie kontrolą dostępu, można użyć grup zabezpieczeń do przypisywania ról do osób i grup. Grupy zabezpieczeń można tworzyć w celu dublowania osób lub funkcji zadań w organizacji, które wymagają dostępu do zasobów lub artefaktów usługi Synapse. Te grupy zabezpieczeń oparte na osobach można następnie przypisać co najmniej jedną rolę platformy Azure, role usługi Synapse, uprawnienia SQL lub uprawnienia usługi Git. W przypadku dobrze wybranych grup zabezpieczeń można łatwo przypisać użytkownikowi wymagane uprawnienia, dodając je do odpowiedniej grupy zabezpieczeń.

Uwaga

Jeśli używasz grup zabezpieczeń do zarządzania dostępem, istnieje dodatkowe opóźnienie wprowadzone przez identyfikator Entra firmy Microsoft przed wprowadzeniem zmian.

Wymuszanie kontroli dostępu w programie Synapse Studio

Program Synapse Studio działa inaczej na podstawie uprawnień i bieżącego trybu:

  • Tryb na żywo usługi Synapse: program Synapse Studio uniemożliwia wyświetlanie opublikowanej zawartości, publikowania zawartości lub wykonywania innych akcji, jeśli nie masz wymaganych uprawnień. W niektórych przypadkach nie można tworzyć artefaktów kodu, których nie można użyć ani zapisać.
  • Tryb git: jeśli masz uprawnienia usługi Git, które umożliwiają zatwierdzanie zmian w bieżącej gałęzi, wówczas akcja zatwierdzania jest dozwolona, jeśli masz uprawnienia do publikowania zmian w usłudze na żywo (rola Wydawca artefaktów usługi Synapse).

W niektórych przypadkach możesz tworzyć artefakty kodu nawet bez uprawnień do publikowania lub zatwierdzania. Umożliwia to wykonywanie kodu (z wymaganymi uprawnieniami wykonywania). Aby uzyskać więcej informacji na temat ról wymaganych do typowych zadań, zobacz Omówienie ról wymaganych do wykonywania typowych zadań w usłudze Azure Synapse.

Jeśli funkcja jest wyłączona w programie Synapse Studio, etykietka narzędzia wskazuje wymagane uprawnienie. Skorzystaj z przewodnika po rolach RBAC usługi Synapse, aby wyszukać, która rola jest wymagana do podania brakującego uprawnienia.