Kontrola dostępu 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.

Omówienie

Usługa Azure Synapse zapewnia kompleksowy i szczegółowy 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 oraz
  • 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 platformy Azure 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 Wyłączanie uwierzytelniania lokalnego w usłudze Azure Synapse Analytics.

Tworzenie i wykonywanie kodu w usłudze Azure Synapse

Usługa Synapse obsługuje dwa modele programowania.

  • Programowanie na żywo w usłudze 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. Dowiedz się więcej o korzystaniu z usługi Synapse Analytics z usługą Git.

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 (RBAC) lub nowszą 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 korzystania z programowania z obsługą usługi Git w trybie Git potrzebne są uprawnienia usługi Git oprócz ról ról i artefaktów kodu, w tym połączonych definicji usług i poświadczeń usługi Synapse. Aby zatwierdzić zmiany artefaktów kodu w trybie Git, musisz mieć uprawnienia usługi Git i rolę Synapse Artifact Publisher (Synapse RBAC).

Uzyskiwanie dostępu do danych w programie SQL

Podczas pracy z dedykowanymi i bezserwerowymi pulami 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: uprawnienia usługi Synapse Administracja istratory są przyznawane db_owner (DBO) w bezserwerowej puli SQL , "Wbudowane". 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: usługi Synapse Administracja istratory mają pełny dostęp do danych w dedykowanych pulach SQL oraz możliwość udzielania dostępu innym użytkownikom. Usługa Synapse Administracja istratory może również wykonywać działania konfiguracyjne i konserwacyjne w dedykowanych pulach, z wyjątkiem usuwania baz danych. Uprawnienie usługi Active Directory Administracja jest 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, usługa Active Directory Administracja lub usługa Synapse Administracja istrator musi uruchamiać skrypty SQL względem każdej dedykowanej puli SQL.

Zobacz Jak skonfigurować kontrolę dostępu usługi Synapse, aby zapoznać się z przykładami skryptów SQL na potrzeby udzielania uprawnień SQL w pulach SQL.

Uzyskiwanie dostępu do danych w pulach eksploratora danych

Podczas pracy z pulami eksploratora danych dostęp do płaszczyzny danych jest kontrolowany za pomocą uprawnień Eksploratora danych. Administratorzy usługi Synapse Administracja istratorzy 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 do eksploratora danych.

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

Bezserwerowe pule SQL i tabele platformy Apache Spark przechowują swoje dane w kontenerze usługi ADLS 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 magazynu usługi ADLS Gen2.

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

W przypadku korzystania z 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 zachowuje się inaczej na podstawie uprawnień i bieżącego trybu:

  • Tryb na żywo usługi Synapse: Program Synapse Studio uniemożliwi wyświetlanie opublikowanej zawartości, publikowania zawartości lub wykonywania innych akcji, jeśli nie masz wymaganych uprawnień. W niektórych przypadkach nie będzie 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 zatwierdzenia będzie 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 będzie wskazywać wymagane uprawnienie. Skorzystaj z przewodnika po rolach RBAC usługi Synapse, aby wyszukać, która rola jest wymagana do podania brakującego uprawnienia.

Następne kroki