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
- Zabezpieczenia na poziomie wiersza
- Zabezpieczenia na poziomie kolumny
- Dynamiczne maskowanie danych
- Kontrola dostępu oparta na rolach usługi Synapse
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 udzielić kont użytkowników (identyfikatorów logowania SQL, użytkowników lub grup firmy Microsoft Entra) i ról bazy danych, co zapewnia elastyczność dla administratorów bazy 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żdy użytkownik, któremu udzielono wbudowanej roli RBAC usługi Synapse Administracja istrator, jest automatycznie udzielany 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 Współautor danych obiektu blob usługi Storage połączonych z obszarem roboczym mają uprawnienia ODCZYT, ZAPIS i WYKONYWANIE we wszystkich tabelach utworzonych przez platformę Spark, gdy użytkownicy interakcyjnie wykonują kod w notesie. Jest ona nazywana przekazywaniem firmy Microsoft Entra i ma zastosowanie do wszystkich magazynów danych połączonych z obszarem roboczym. Jeśli jednak ten sam użytkownik wykonuje ten sam notes za pośrednictwem potoku, tożsamość usługi zarządzanej obszaru roboczego (MSI) jest używana do uwierzytelniania. Dlatego aby potok mógł pomyślnie wykonać tożsamość usługi zarządzanej obszaru roboczego, musi on również należeć do roli Współautor danych obiektu blob usługi Storage w usłudze Data Lake, do którego uzyskiwany jest dostęp.
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. Właściwości 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 widokach bezserwerowej puli SQL i dedykowanej puli SQL (dawniej SQL DW), ale nie są obsługiwane w przypadku tabel zewnętrznych bezserwerowej puli SQL i puli apache Spark. W przypadku bezserwerowej tabeli zewnętrznej puli SQL obejście można zastosować, tworząc widok na wierzchu 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 do użytkowników, grup lub innych podmiotów zabezpieczeń, aby zarządzać 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.