Udostępnij za pośrednictwem


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

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.

  1. 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.

  2. 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> zamiast cluster.

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:

  1. 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.

  2. 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.