Udostępnij przez


Oficjalny dokument zabezpieczeń usługi Azure Synapse Analytics: Kontrola dostępu

Uwaga

Ten artykuł stanowi część serii artykułów z dokumentacji zabezpieczeń usługi Azure Synapse Analytics. Aby zapoznać się z omówieniem serii, zobacz oficjalny dokument dotyczący zabezpieczeń usługi Azure Synapse Analytics.

W zależności od sposobu modelowania i przechowywania danych zarządzanie danymi i kontrola dostępu mogą wymagać, aby deweloperzy i administratorzy zabezpieczeń używali różnych metod lub kombinacji technik w celu zaimplementowania niezawodnej podstawy zabezpieczeń.

Usługa Azure Synapse obsługuje szeroką gamę możliwości kontrolowania, kto może uzyskiwać dostęp do jakich danych. Te funkcje są oparte na zestawie zaawansowanych funkcji kontroli dostępu, w tym:

Zabezpieczenia na poziomie obiektu

Każdy obiekt w dedykowanej puli SQL ma skojarzone uprawnienia, które można przyznać podmiotowi zabezpieczeń. W kontekście użytkowników i kont usług jest to sposób zabezpieczania poszczególnych tabel, widoków, procedur składowanych i funkcji. Uprawnienia do obiektów, takie jak SELECT, można przyznać kontom użytkowników (loginom SQL, użytkownikom lub grupom Microsoft Entra) oraz rolom bazy danych, co zapewnia elastyczność administratorom baz danych. Ponadto uprawnienia przyznane w tabelach i widokach można łączyć z innymi mechanizmami kontroli dostępu (opisanymi poniżej), takimi jak zabezpieczenia na poziomie kolumny, zabezpieczenia na poziomie wiersza i dynamiczne maskowanie danych.

W usłudze Azure Synapse wszystkie uprawnienia są przyznawane użytkownikom i rolam na poziomie bazy danych. Ponadto każdemu użytkownikowi przyznano wbudowaną rolę RBAC administratora Synapse na poziomie obszaru roboczego, automatycznie przyznawany jest pełny dostęp do wszystkich dedykowanych pul SQL.

Oprócz zabezpieczania tabel SQL w usłudze Azure Synapse, dedykowanej puli SQL (dawniej SQL DW), można również zabezpieczyć bezserwerową pulę SQL i tabele platformy Spark. Domyślnie użytkownicy przypisani do roli Kontrybutora danych obiektu blob usługi Storage połączonych z obszarem roboczym mają uprawnienia ODCZYTU, ZAPISU i WYKONANIA we wszystkich tabelach utworzonych za pomocą Spark , gdy użytkownicy wykonują kod interaktywnie w notatniku. Nazywa się to Microsoft Entra przekazywanie i ma zastosowanie do wszystkich jezior danych połączonych z obszarem roboczym. Jeśli jednak ten sam użytkownik wykonuje ten sam notes za pośrednictwem potoku, to do uwierzytelniania jest używana zarządzana tożsamość usługi w obszarze roboczym (MSI). Dlatego aby potok mógł pomyślnie wykonać zarządzaną tożsamość usługi (MSI) obszaru roboczego, musi on również należeć do roli Współautor danych obiektu blob usługi Storage w magazynie danych, do którego dostęp jest uzyskiwany.

Zabezpieczenia na poziomie wiersza

Zabezpieczenia na poziomie wiersza umożliwiają administratorom zabezpieczeń ustanawianie i kontrolowanie szczegółowego dostępu do określonych wierszy tabeli na podstawie profilu użytkownika (lub procesu) uruchamiającego zapytanie. Charakterystyki profilu lub użytkownika mogą odnosić się do członkostwa w grupie lub kontekstu wykonywania. Zabezpieczenia na poziomie wiersza pomagają zapobiegać nieautoryzowanemu dostępowi, gdy użytkownicy wysyłają zapytania o dane z tych samych tabel, ale muszą widzieć różne podzestawy danych.

Uwaga

Zabezpieczenia na poziomie wiersza są obsługiwane w usłudze Azure Synapse i dedykowanej puli SQL (dawniej SQL DW), ale nie są obsługiwane w przypadku puli Apache Spark i bezserwerowej puli SQL.

Zabezpieczenia na poziomie kolumny

Zabezpieczenia na poziomie kolumn umożliwiają administratorom zabezpieczeń ustawianie uprawnień, które ograniczają, kto może uzyskiwać dostęp do poufnych kolumn w tabelach. Jest ona ustawiana na poziomie bazy danych i można ją zaimplementować bez konieczności zmiany projektu modelu danych lub warstwy aplikacji.

Uwaga

Zabezpieczenia na poziomie kolumn są obsługiwane w Azure Synapse, widokach bezserwerowej puli SQL i dedykowanej puli SQL (dawniej SQL DW), ale nie są obsługiwane w przypadku tabel zewnętrznych bezserwerowej puli SQL oraz puli Apache Spark. W przypadku bezserwerowej puli SQL z tabelami zewnętrznymi można zastosować obejście, tworząc widok na tabeli zewnętrznej.

Dynamiczne maskowanie danych

Dynamiczne maskowanie danych umożliwia administratorom zabezpieczeń ograniczenie ujawnienia poufnych danych przez maskowanie ich podczas odczytu do użytkowników niebędących uprzywilejowanymi. Pomaga to zapobiec nieautoryzowanemu dostępowi do poufnych danych, umożliwiając administratorom określenie sposobu wyświetlania danych w czasie zapytania. Na podstawie tożsamości uwierzytelnionego użytkownika i przypisania grupy w puli SQL zapytanie zwraca dane maskowane lub niemaskowane. Maskowanie jest zawsze stosowane niezależnie od tego, czy dostęp do danych jest uzyskiwany bezpośrednio z tabeli, czy przy użyciu widoku lub procedury składowanej.

Uwaga

Dynamiczne maskowanie danych jest obsługiwane w usłudze Azure Synapse i dedykowanej puli SQL (dawniej SQL DW), ale nie jest obsługiwana w przypadku puli Apache Spark i bezserwerowej puli SQL.

Kontrola dostępu oparta na rolach usługi Synapse

Usługa Azure Synapse obejmuje również role kontroli dostępu opartej na rolach (RBAC) usługi Synapse w celu zarządzania różnymi aspektami programu Synapse Studio. Skorzystaj z tych wbudowanych ról, aby przypisać uprawnienia użytkownikom, grupom lub innym podmiotom bezpieczeństwa do zarządzania osobami, które mogą:

  • Publikowanie artefaktów kodu i wyświetlanie listy lub uzyskiwanie dostępu do opublikowanych artefaktów kodu.
  • Wykonywanie kodu w pulach platformy Apache Spark i środowiskach Integration Runtime.
  • Dostęp do połączonych (danych) usług, które są chronione przy użyciu poświadczeń.
  • Monitoruj lub anuluj wykonywanie zadań, przejrzyj dane wyjściowe i dzienniki wykonywania zadania.

Następne kroki

W następnym artykule z tej serii dokumentów dowiesz się więcej na temat uwierzytelniania.