Autoryzacja na potrzeby analizy w skali chmury na platformie Azure
Autoryzacja to czynność udzielania uwierzytelnionej osobie uprawnienia do wykonywania akcji. Kluczową zasadą kontroli dostępu jest zapewnienie użytkownikom tylko ilości dostępu potrzebnego im do wykonywania zadań i zezwalania tylko na określone działania w określonym zakresie. Zabezpieczenia oparte na rolach odpowiadają kontroli dostępu i są używane przez wiele organizacji do kontrolowania dostępu na podstawie zdefiniowanych ról lub funkcji zadań w porównaniu z poszczególnymi użytkownikami. Następnie użytkownicy mają przypisaną co najmniej jedną rolę zabezpieczeń, z których każda ma uprawnienia autoryzowane do wykonywania określonych zadań.
Jeśli używasz identyfikatora Entra firmy Microsoft jako scentralizowanego dostawcy tożsamości, autoryzacji dostępu do usług danych i magazynu można udzielić dla poszczególnych użytkowników lub aplikacji i jest oparta na tożsamości firmy Microsoft Entra.
Autoryzacja usługi danych
Kontrole dostępu Azure Role-Based (RBAC) i listy kontroli dostępu (ACL) odgrywają kluczowe role w zarządzaniu dostępem i zapewnieniu bezpieczeństwa. Zarówno kontrola dostępu oparta na rolach platformy Azure, jak i listy kontroli dostępu (ACL) wymagają, aby użytkownik (lub aplikacja) miał tożsamość w Microsoft Entra ID. W analizie w skali chmury kontrola dostępu oparta na rolach jest skuteczna dla baz danych i Azure Data Lake Storage, natomiast ACL są używane głównie w Azure Data Lake Storage, aby zapewnić szczegółową kontrolę dostępu na poziomie plików i katalogów. Listy kontroli dostępu (ACL) uzupełniają kontrolę dostępu opartą na rolach, oferując bardziej szczegółowe uprawnienia w hierarchii przechowywania.
Kontrola dostępu RBAC w Azure oferuje wbudowane role, takie jak „Właściciel”, „Współautor” i „Czytelnik”, ale można również tworzyć role niestandardowe dostosowane do określonych potrzeb. Następujące wbudowane role są podstawowe dla wszystkich typów zasobów platformy Azure, w tym usług danych platformy Azure:
Rola | Opis |
---|---|
właściciel | Ta rola ma pełny dostęp do zasobu i może zarządzać wszystkimi zasobami, w tym prawem do udzielenia mu dostępu. |
Współautor | Ta rola może zarządzać zasobem, ale nie może udzielić mu dostępu. |
czytnik | Ta rola może wyświetlać zasób i informacje o nim (z wyjątkiem informacji poufnych, takich jak klucze dostępu lub wpisy tajne), ale nie może wprowadzać żadnych zmian w zasobie. |
Notatka
Niektóre usługi mają określone role RBAC, takie jak Współautor danych Blob w usłudze Storage lub Współautor usługi Data Factory, co oznacza, że dla tych usług należy używać specyficznych ról RBAC. Kontrola dostępu oparta na rolach to model addytywny, w którym przydzielanie ról jest aktywnym uprawnieniem. Kontrola dostępu oparta na rolach obsługuje również odmowy przypisań, które mają pierwszeństwo przed przypisaniami ról.
Napiwek
Podczas planowania strategii kontroli dostępu zaleca się przyznanie użytkownikom tylko ilości dostępu potrzebnego do wykonywania zadań i zezwalania tylko na określone akcje w określonym zakresie.
Kontrola dostępu w usłudze Azure Databases
Kontrola dostępu oparta na rolach w bazach danych platformy Azure koncentruje się na rolach, zakresach i uprawnieniach. Platforma Azure udostępnia kilka wbudowanych ról dostosowanych do zarządzania bazami danych, takich jak współautor programu SQL Server, który umożliwia zarządzanie serwerami i bazami danych SQL oraz współautorem bazy danych SQL, co umożliwia zarządzanie bazami danych SQL, ale nie samym serwerem. Ponadto role niestandardowe można tworzyć z określonymi uprawnieniami, aby spełnić unikatowe wymagania.
Role można przypisywać w różnych zakresach, w tym na poziomie subskrypcji, gdzie role mają zastosowanie do wszystkich zasobów w ramach subskrypcji; poziom grupy zasobów, na którym role mają zastosowanie do wszystkich zasobów w określonej grupie zasobów; oraz poziom zasobów, na którym role można przypisywać bezpośrednio do poszczególnych baz danych lub serwerów, zapewniając dokładną kontrolę. Uprawnienia definiują akcje, które może wykonywać rola, takie jak odczyt, zapis, usuwanie lub zarządzanie ustawieniami zabezpieczeń, a te uprawnienia są pogrupowane w role, aby uprościć zarządzanie.
W Azure SQL Databaserole mogą być przypisywane do użytkowników, grup lub aplikacji w celu kontrolowania dostępu. Na przykład administrator bazy danych może mieć przypisaną rolę "Współautor programu SQL Server", aby zarządzać serwerem i bazami danych. Role takie jak "Współautor bazy danych SQL" umożliwiają użytkownikom tworzenie, aktualizowanie i usuwanie baz danych, podczas gdy rola "Menedżer zabezpieczeń SQL" koncentruje się na konfiguracjach zabezpieczeń.
W przypadku usługi Azure Cosmos DBrole można przypisywać do zarządzania dostępem do kont, baz danych i kontenerów usługi Cosmos DB. Wbudowane role, takie jak "Czytelnik konta usługi Cosmos DB" i "Współautor konta usługi Cosmos DB", zapewniają różne poziomy dostępu.
W ramach usługi Azure Database for MySQL, PostgreSQL i MariaDB można przypisywać role do zarządzania serwerami baz danych i poszczególnymi bazami danych. Role takie jak "Współautor" i "Czytelnik" mogą służyć do kontrolowania dostępu.
Aby uzyskać więcej informacji, zobacz wbudowane role platformy Azure dla baz danych.
Kontrola dostępu w usłudze Azure Data Lake Storage
Kontrola dostępu oparta na rolach platformy Azure umożliwia przyznanie dostępu "gruboziarnistego" do danych konta magazynu, takiego jak dostęp do odczytu lub zapisu do wszystkich danych na koncie magazynu. Listy ACL pozwalają na przyznanie drobiazgowego dostępu, takiego jak dostęp do zapisu do konkretnego katalogu lub pliku.
W wielu scenariuszach RBAC i ACL są używane razem w celu zapewnienia kompleksowej kontroli dostępu w usłudze ADLS. Kontrola dostępu oparta na rolach może służyć do zarządzania wysokopoziomowym dostępem do danych, zapewniając, że jedynie autoryzowani użytkownicy mogą uzyskiwać dostęp do usługi. Listy kontroli dostępu (ACL) można następnie stosować w koncie magazynu, aby kontrolować dostęp do określonych plików i katalogów, zapewniając dodatkową warstwę zabezpieczeń.
Kontrola dostępu oparta na atrybutach platformy Azure (ABAC) jest oparta na kontroli dostępu opartej na rolach platformy Azure przez dodanie warunków przypisywania ról na podstawie atrybutów w kontekście określonych akcji. Zasadniczo umożliwia uściślenie przypisań ról RBAC poprzez dodanie warunków. Na przykład można udzielić dostępu do odczytu lub zapisu do wszystkich obiektów danych na koncie magazynowym, które są oznaczone określonym tagiem.
Następujące role umożliwiają jednostce zabezpieczeń uzyskiwanie dostępu do danych na koncie magazynu.
Rola | Opis |
---|---|
Właściciel danych obiektu blob Storage | Pełny dostęp do kontenerów i danych usługi Blob Storage. Ten dostęp pozwala podmiotowi zabezpieczeń ustawić właściciela elementu i zmodyfikować listy ACL wszystkich elementów. |
Współautor danych obiektu blob usługi Storage | Odczytywanie, zapisywanie i usuwanie obiektów blob oraz dostęp do kontenerów usługi Blob Storage. Ten dostęp nie zezwala podmiotowi zabezpieczeń na ustawianie własności elementu, ale może modyfikować listę ACL elementów należących do podmiotu zabezpieczeń. |
Czytnik danych obiektów blob usługi Storage | Odczytywanie i wyświetlanie listy kontenerów i obiektów blob usługi Blob Storage. |
Role, takie jak Właściciel, Współtwórca, Czytelnik i Współtwórca konta magazynu, umożliwiają podmiotowi zabezpieczeń zarządzanie kontem magazynu, ale nie zapewniają dostępu do danych w tym koncie. Jednak te role (z wyłączeniem Czytelnika) mogą uzyskać dostęp do kluczy magazynu, które mogą być używane w różnych narzędziach dla klientów w celu uzyskania dostępu do danych. Aby uzyskać więcej informacji, zobacz Model kontroli dostępu w usłudze Azure Data Lake Storage.
Kontrola dostępu w usłudze Azure Databricks
Usługa Azure Databricks oferuje systemy kontroli dostępu przeznaczone do zarządzania dostępem w środowisku usługi Databricks, koncentrując się na zabezpieczanych obiektach i zarządzaniu danymi. Trzy główne systemy kontroli dostępu w usłudze Azure Databricks to:
- listy kontroli dostępu: służy do konfigurowania uprawnień dostępu do obiektów obszaru roboczego, takich jak notesy. Aby uzyskać więcej informacji, zobacz listy kontroli dostępu.
- kontrola dostępu oparta na rolach konta: służy do konfigurowania uprawnień do używania obiektów na poziomie konta, takich jak jednostki usługi i grupy.
- Unity Catalog: służy do zabezpieczania obiektów danych i zarządzania nimi.
Oprócz kontroli dostępu do obiektów istnieją wbudowane role na platformie Azure Databricks. Role można przypisywać użytkownikom, jednostkom usługi i grupom. Aby uzyskać więcej informacji, zobacz Role administratora usługi Databricks.
Najlepsze rozwiązania dotyczące autoryzacji w analizie w skali chmury
Ten przewodnik zawiera najlepsze rozwiązania dotyczące implementowania kontroli dostępu opartej na rolach (RBAC) w środowiskach analitycznych w skali chmury. Obejmuje ona ogólne zasady kontroli dostępu opartej na rolach, kontrolę dostępu do bazy danych i najlepsze rozwiązania dotyczące kontroli dostępu typu data lake w celu zapewnienia bezpiecznego i wydajnego zarządzania zasobami.
Ogólne najlepsze rozwiązania dotyczące kontroli dostępu opartej na rolach na potrzeby analizy w skali chmury
Poniższe najlepsze rozwiązania mogą pomóc w rozpoczęciu pracy z kontrolą dostępu opartą na rolach:
Używanie ról RBAC do zarządzania usługami i operacji oraz używania ról specyficznych dla usługi na potrzeby zadań dostępu do danych i zadań specyficznych dla obciążenia: użyj ról RBAC w zasobach platformy Azure, aby udzielić uprawnień do podmiotów zabezpieczeń, które muszą wykonywać zadania zarządzania zasobami i operacji. Podmioty zabezpieczeń, które muszą uzyskiwać dostęp do danych w magazynie, nie wymagają roli RBAC w zasobie, ponieważ nie muszą nim zarządzać. Zamiast tego przyznaj uprawnienie do obiektów danych bezpośrednio. Na przykład, przyznaj dostęp do odczytu do folderu w usłudze Azure Data Lake Storage Gen2 lub użytkownikowi zawartej bazy danych oraz uprawnienia do tabeli w bazie danych w usłudze Azure SQL Database.
Użyj wbudowanych ról RBAC: najpierw użyj wbudowanych ról zasobów RBAC platformy Azure do zarządzania usługami i przypisywania ról operacji w celu kontrolowania dostępu. Tworzenie i używanie ról niestandardowych dla zasobów platformy Azure tylko wtedy, gdy wbudowane role nie spełniają określonych potrzeb.
Użyj grup do zarządzania dostępem: przypisz dostęp do grup firmy Microsoft Entra i zarządzaj członkostwem w grupach w celu ciągłego zarządzania dostępem.
Zakresy Subskrypcji i Grupy Zasobów: W środowiskach nieprodukcyjnych często warto udzielić dostępu w zakresie grupy zasobów, aby oddzielić zarządzanie usługami od potrzeb związanych z dostępem do operacji, zamiast udzielania dostępu do poszczególnych zasobów. Powodem jest to, że w środowiskach nieprodukcyjnych deweloperzy i testerzy muszą zarządzać zasobami, na przykład tworząc potok pozyskiwania w usłudze Azure Data Factory lub tworząc kontener w usłudze Data Lake Storage Gen2. Jednak w środowiskach produkcyjnych można udzielić dostępu do poszczególnych zasobów dla zadań specyficznych dla obciążenia, takich jak obsługa i operacje systemu plików typu data lake. Powodem jest to, że w środowisku produkcyjnym użytkownicy potrzebują tylko korzystać z zasobów, takich jak wyświetlanie stanu zaplanowanego potoku pozyskiwania w usłudze Data Factory lub odczytywanie plików danych w usłudze Data Lake Storage Gen2.
Nie udzielaj niepotrzebnego dostępu w zakresie subskrypcji: zakres subskrypcji obejmuje wszystkie zasoby w ramach subskrypcji.
wybierzdostępu z najniższymi uprawnieniami: wybierz odpowiednią i tylko rolę dla zadania.
Najlepsze rozwiązania dotyczące kontroli dostępu do bazy danych
Implementowanie efektywnej kontroli dostępu opartej na rolach (RBAC) ma kluczowe znaczenie dla utrzymania zabezpieczeń i możliwości zarządzania w środowisku analitycznym. Ta sekcja zawiera najlepsze rozwiązania dotyczące korzystania z grup firmy Microsoft Entra, wbudowanych ról i unikania bezpośrednich uprawnień użytkowników w celu zapewnienia usprawnionego i bezpiecznego procesu zarządzania dostępem.
Analiza w skali chmury prawdopodobnie zawiera magazyn wielojęzyczny. Przykłady to PostgreSQL, MySQL, Azure SQL Database, SQL Managed Instance i Azure Synapse Analytics.
- Użyj grup Entra firmy Microsoft zamiast poszczególnych kont użytkowników: zalecamy używanie grup Firmy Microsoft Entra do zabezpieczania obiektów bazy danych zamiast poszczególnych kont użytkowników microsoft Entra. Użyj tych grup firmy Microsoft Entra do uwierzytelniania użytkowników i ochrony obiektów bazy danych. Podobnie jak w przypadku wzorca jeziora danych, możesz użyć procesu wdrażania aplikacji danych, aby utworzyć te grupy.
- Użyj wbudowanych ról do zarządzania dostępem: utwórz role niestandardowe tylko w razie potrzeby, aby spełnić określone wymagania lub gdy wbudowane role udzielają zbyt wielu uprawnień.
- Unikaj przypisywania uprawnień poszczególnym użytkownikom: zamiast tego używaj tych ról (ról bazy danych lub serwera). Role ułatwiają znacznie raportowanie i rozwiązywanie problemów z uprawnieniami. (Azure RBAC obsługuje tylko przypisywanie uprawnień za pośrednictwem ról).
Notatka
Aplikacje danych mogą przechowywać poufne produkty danych w pulach usługi Azure SQL Database, SQL Managed Instance lub Azure Synapse Analytics. Aby uzyskać więcej informacji, zobacz Poufne dane.
Najlepsze rozwiązania dotyczące kontroli dostępu usługi Data Lake
W nowoczesnych środowiskach danych najważniejsze jest zapewnienie bezpiecznej i wydajnej kontroli dostępu. Usługa Azure Data Lake Storage (ADLS) Gen2 udostępnia niezawodne mechanizmy zarządzania dostępem za pośrednictwem list kontroli dostępu (ACL). W tej sekcji opisano najlepsze rozwiązania dotyczące implementowania kontroli dostępu opartej na rolach w usłudze ADLS Gen2, stosowania list ACL, grup zabezpieczeń firmy Microsoft Entra oraz zasady najniższych uprawnień do utrzymania bezpiecznego środowiska data lake i zarządzania nim. Ponadto podkreśla znaczenie dopasowywania list ACL do schematów partycjonowania danych i używania Unity Catalog dla użytkowników usługi Azure Databricks w celu zapewnienia kompleksowego bezpieczeństwa i zarządzania.
- Używanie list kontroli dostępu (ACL) do szczegółowej kontroli dostępu: listy ACL odgrywają ważną rolę w definiowaniu dostępu na poziomie szczegółowym. W usłudze Azure Data Lake Storage (ADLS) Gen2 listy kontroli dostępu (ACL) współpracują z jednostkami zabezpieczeń, aby zarządzać precyzyjnym dostępem do plików i katalogów.
- zastosuj listy ACL na poziomie plików i folderów: Aby kontrolować dostęp do danych w usłudze Data Lake, zalecamy używanie list kontroli dostępu (ACL) na poziomie plików i folderów. Usługa Azure Data Lake przyjmuje również model listy kontroli dostępu przypominający model POSIX. POSIX (przenośny interfejs systemu operacyjnego) to rodzina standardów dla systemów operacyjnych. Jeden standard definiuje prostą, ale zaawansowaną strukturę uprawnień na potrzeby uzyskiwania dostępu do plików i folderów. System POSIX jest powszechnie stosowany w przypadku sieciowych udziałów plików i komputerów z systemem Unix.
- Używaj grup zabezpieczeń Microsoft Entra jako przypisanych podmiotów w wpisie listy ACL: Unikaj bezpośredniego przypisywania poszczególnych użytkowników lub głównych podmiotów usługi. Użycie tej struktury umożliwia dodawanie i usuwanie użytkowników lub jednostek usługi bez konieczności ponownego stosowania list ACL do całej struktury katalogów. Zamiast tego możesz po prostu dodawać lub usuwać użytkowników i jednostki usługi z odpowiedniej grupy zabezpieczeń firmy Microsoft Entra.
- Przypisz dostęp do grup firmy Microsoft Entra i zarządzaj członkostwem grup w celu ciągłego zarządzania dostępem. Zobacz Kontrola dostępu i konfiguracje usługi Data Lake Storage w usłudze Azure Data Lake Storage.
- Zastosuj zasadę najniższych uprawnień do list ACL: w większości przypadków użytkownicy powinni mieć tylko uprawnienia do odczytu do plików i folderów, których potrzebują w usłudze Data Lake. Użytkownicy danych nie powinni mieć dostępu do kontenera konta pamięci masowej.
- Dostosowanie listy kontroli dostępu (ACL) do schematów partycjonowania danych: Listy kontroli dostępu (ACL) i projekt partycjonowania danych muszą być zgodne, aby zapewnić skuteczną kontrolę dostępu do danych. Aby uzyskać więcej informacji, zobacz Partycjonowanie Data Lake.
- Dla użytkowników Azure Databricks, kontrola dostępu do obiektów danych za pomocą Unity Catalog: Udzielanie bezpośredniego dostępu na poziomie magazynu do magazynu danych w zewnętrznej lokalizacji w Azure Data Lake Storage Gen2 nie przestrzega żadnych uprawnień przyznanych ani audytów prowadzonych przez Unity Catalog. Bezpośredni dostęp omija audyt, ścieżki przepływu danych oraz inne funkcje bezpieczeństwa i monitorowania Unity Catalog, w tym kontrolę dostępu oraz uprawnienia. W związku z tym użytkownicy końcowi usługi Azure Databricks nie powinni mieć bezpośredniego dostępu do warstwy magazynowej zarządzanych tabel i woluminów Unity Catalog.
Następne kroki
Aprowizuj zabezpieczenia na potrzeby analizy w skali chmury w usłudze Azure