Uwierzytelnianie tabel zewnętrznych przy użyciu tożsamości zarządzanych
Tabela zewnętrzna to jednostka schematu, która odwołuje się do danych przechowywanych poza bazą danych usługi Azure Data Explorer. Tabele zewnętrzne można zdefiniować w celu odwołowania się do danych w usłudze Azure Storage lub programie SQL Server i obsługiwać różne metody uwierzytelniania.
Z tego artykułu dowiesz się, jak utworzyć tabelę zewnętrzną, która uwierzytelnia się przy użyciu tożsamości zarządzanej.
Wymagania wstępne
- Baza danych i klaster usługi Azure Data Explorer. Utwórz klaster i bazę danych.
- Uprawnienia administratora bazy danych w bazie danych usługi Azure Data Explorer.
1 — Konfigurowanie tożsamości zarządzanej do użycia z tabelami zewnętrznymi
Istnieją dwa typy tożsamości zarządzanych:
Przypisane przez system: tożsamość przypisana przez system jest połączona z klastrem i jest usuwana po usunięciu klastra. Tylko jedna tożsamość przypisana przez system jest dozwolona dla klastra.
Przypisane przez użytkownika: tożsamość zarządzana przypisana przez użytkownika jest autonomicznym zasobem platformy Azure. Do klastra można przypisać wiele tożsamości przypisanych przez użytkownika.
Wybierz jedną z poniższych kart, aby skonfigurować preferowany typ tożsamości zarządzanej.
Postępuj zgodnie z instrukcjami, aby dodać tożsamość przypisaną przez użytkownika do klastra i zapisać identyfikator obiektu (podmiot zabezpieczeń) do późniejszego użycia.
Uruchom polecenie managed_identity zasad alter-merge. To polecenie ustawia zasady tożsamości zarządzanej w klastrze, które umożliwiają używanie tożsamości zarządzanej z tabelami zewnętrznymi. Zastąp element
<objectId>
identyfikatorem obiektu (podmiotu zabezpieczeń)..alter-merge cluster policy managed_identity ```[ { "ObjectId": "<objectId>", "AllowedUsages": "ExternalTable" } ]```
Uwaga
Aby ustawić zasady dla określonej bazy danych, użyj polecenia
database <DatabaseName>
zamiastcluster
.
2 — Udzielanie tożsamości zarządzanej uprawnień do zasobów zewnętrznych
Tożsamość zarządzana musi mieć uprawnienia do zasobu zewnętrznego w celu pomyślnego uwierzytelnienia.
Wybierz kartę odpowiedniego typu zasobu zewnętrznego i przypisz wymagane uprawnienia.
W poniższej tabeli przedstawiono wymagane uprawnienia przez zasób zewnętrzny. Aby zaimportować lub wysłać zapytanie o dane z zasobu zewnętrznego, przyznaj uprawnienia do odczytu tożsamości zarządzanej. Aby wyeksportować dane do zasobu zewnętrznego, przyznaj uprawnienia do zapisu tożsamości zarządzanej.
Zewnętrzny magazyn danych | Uprawnienia do odczytu | Uprawnienia do zapisu | Udzielanie uprawnień |
---|---|---|---|
Azure Blob Storage | Czytelnik danych obiektu blob usługi Storage | Współautor danych obiektu blob usługi Storage | Przypisywanie roli platformy Azure |
Usługa Data Lake Storage 2. generacji | Czytelnik danych obiektu blob usługi Storage | Współautor danych obiektu blob usługi Storage | Przypisywanie roli platformy Azure |
Data Lake Storage Gen1 | Czytelnik | Współautor | Przypisywanie roli platformy Azure |
3 — Tworzenie tabeli zewnętrznej
Istnieją dwa typy tabel zewnętrznych, które obsługują uwierzytelnianie za pomocą tożsamości zarządzanych: tabele zewnętrzne usługi Azure Storage i tabele zewnętrzne programu SQL Server.
Wybierz jedną z poniższych kart, aby skonfigurować zewnętrzną tabelę usługi Azure Storage lub programu SQL Server.
Aby utworzyć tabelę zewnętrzną usługi Azure Storage, wykonaj następujące czynności:
Utwórz parametry połączenia na podstawie szablonów parametry połączenia magazynu. Ten ciąg wskazuje zasób, aby uzyskać dostęp do informacji o uwierzytelnieniu i jego uwierzytelnieniu. Określ metodę uwierzytelniania tożsamości zarządzanej.
Uruchom tabelę .create lub .alter external, aby utworzyć tabelę. Użyj parametry połączenia z poprzedniego kroku jako argumentu storageConnectionString.
Przykład
Następujące polecenie tworzy MyExternalTable
odwołanie do danych w formacie CSV w usłudze mycontainer
mystorageaccount
Azure Blob Storage. Tabela zawiera dwie kolumny: jedną dla liczby całkowitej x
i jedną dla ciągu s
. Parametry połączenia kończy się ciągiem ;managed_identity=system
, który wskazuje na użycie tożsamości zarządzanej przypisanej przez system do uwierzytelniania w celu uzyskania dostępu do magazynu danych.
.create external table MyExternalTable (x:int, s:string) kind=storage dataformat=csv
(
h@'https://mystorageaccount.blob.core.windows.net/mycontainer;managed_identity=system'
)
Uwaga
Aby uwierzytelnić się przy użyciu tożsamości zarządzanej przypisanej przez użytkownika, zastąp element system
identyfikatorem obiektu tożsamości zarządzanej.