Udostępnij za pośrednictwem


Tworzenie lokalizacji zewnętrznej w celu połączenia magazynu w chmurze z usługą Azure Databricks

W tym artykule opisano sposób konfigurowania lokalizacji zewnętrznej w katalogu aparatu Unity w celu połączenia magazynu w chmurze z usługą Azure Databricks.

Lokalizacje zewnętrzne kojarzą poświadczenia magazynu wykazu aparatu Unity z kontenerami magazynu obiektów w chmurze. Lokalizacje zewnętrzne służą do definiowania zarządzanych lokalizacji magazynu dla katalogów i schematów oraz do definiowania lokalizacji dla tabel zewnętrznych i woluminów zewnętrznych.

Możesz utworzyć lokalizację zewnętrzną, która odwołuje się do magazynu w kontenerze magazynu usługi Azure Data Lake Storage Gen2 lub zasobniku Cloudflare R2.

Lokalizację zewnętrzną można utworzyć przy użyciu Eksploratora wykazu, interfejsu wiersza polecenia usługi Databricks, poleceń SQL w notesie lub zapytaniu SQL usługi Databricks albo narzędzia Terraform.

Aby uzyskać więcej informacji na temat używania lokalizacji zewnętrznych i relacji między poświadczeniami magazynu i lokalizacjami zewnętrznymi, zobacz Zarządzanie dostępem do magazynu w chmurze przy użyciu wykazu aparatu Unity.

Przed rozpoczęciem

Wymagania wstępne:

Wymagania dotyczące uprawnień:

  • Musisz mieć CREATE EXTERNAL LOCATION uprawnienia zarówno w magazynie metadanych, jak i poświadczeniu magazynu, do którego odwołuje się lokalizacja zewnętrzna. Administratorzy magazynu metadanych domyślnie mają w CREATE EXTERNAL LOCATION magazynie metadanych.

Ręczne tworzenie lokalizacji zewnętrznej przy użyciu Eksploratora wykazu

Lokalizację zewnętrzną można utworzyć ręcznie za pomocą Eksploratora wykazu.

Uprawnienia i wymagania wstępne: zobacz Przed rozpoczęciem.

Aby utworzyć lokalizację zewnętrzną:

  1. Zaloguj się do obszaru roboczego dołączonego do magazynu metadanych.

  2. Na pasku bocznym kliknij pozycję Ikona wykazu Wykaz.

  3. Na stronie Szybki dostęp kliknij przycisk Dane >zewnętrzne, przejdź do karty Lokalizacje zewnętrzne i kliknij pozycję Utwórz lokalizację.

  4. Wprowadź nazwę lokalizacji zewnętrznej.

  5. Opcjonalnie skopiuj ścieżkę kontenera z istniejącego punktu instalacji (tylko kontenery usługi Azure Data Lake Storage Gen2).

  6. Jeśli nie kopiujesz z istniejącego punktu instalacji, użyj pola adresu URL , aby wprowadzić kontener magazynu lub ścieżkę zasobnika R2, której chcesz użyć jako lokalizacji zewnętrznej.

    Na przykład: abfss://my-container-name@my-storage-account.dfs.core.windows.net/<path> lub r2://my-bucket@my-account-id.r2.cloudflarestorage.com/<path>.

  7. Wybierz poświadczenia magazynu, które udzielają dostępu do lokalizacji zewnętrznej.

  8. (Opcjonalnie) Jeśli chcesz, aby użytkownicy mieli dostęp tylko do odczytu do lokalizacji zewnętrznej, kliknij pozycję Opcje zaawansowane i wybierz pozycję Tylko do odczytu. Aby uzyskać więcej informacji, zobacz Oznaczanie lokalizacji zewnętrznej jako tylko do odczytu.

  9. Kliknij pozycję Utwórz.

  10. (Opcjonalnie) Powiąż lokalizację zewnętrzną z określonymi obszarami roboczymi.

    Domyślnie każdy uprzywilejowany użytkownik może używać lokalizacji zewnętrznej w dowolnym obszarze roboczym dołączonym do magazynu metadanych. Jeśli chcesz zezwolić na dostęp tylko z określonych obszarów roboczych, przejdź do karty Obszary robocze i przypisz obszary robocze. Zobacz (Opcjonalnie) Przypisywanie lokalizacji zewnętrznej do określonych obszarów roboczych.

  11. Przyznaj uprawnienie do korzystania z lokalizacji zewnętrznej.

    Aby każda osoba korzystała z lokalizacji zewnętrznej, musisz przyznać uprawnienia:

    • Aby użyć lokalizacji zewnętrznej, aby dodać zarządzaną lokalizację magazynu do magazynu metadanych, katalogu lub schematu, przyznaj CREATE MANAGED LOCATION uprawnienie.
    • Aby utworzyć tabele zewnętrzne lub woluminy, przyznaj CREATE EXTERNAL TABLE lub CREATE EXTERNAL VOLUME.

    Aby udzielić uprawnień za pomocą Eksploratora wykazu:

    1. Kliknij nazwę lokalizacji zewnętrznej, aby otworzyć okienko szczegółów.
    2. Na karcie Uprawnienia kliknij pozycję Udziel.
    3. W oknie dialogowym Przyznawanie <external location> wybierz użytkowników, grupy lub jednostki usługi w polu Podmioty zabezpieczeń i wybierz uprawnienie, które chcesz przyznać.
    4. Kliknij pozycję Udziel.

Tworzenie lokalizacji zewnętrznej przy użyciu języka SQL

Aby utworzyć lokalizację zewnętrzną przy użyciu języka SQL, uruchom następujące polecenie w notesie lub edytorze zapytań SQL. Zastąp wartości symboli zastępczych. Aby uzyskać wymagane uprawnienia i wymagania wstępne, zobacz Przed rozpoczęciem.

  • <location-name>: nazwa lokalizacji zewnętrznej. Jeśli location_name zawiera znaki specjalne, takie jak łączniki (-), musi być otoczony przez backticks (` `). Zobacz Nazwy.

  • <bucket-path>: ścieżka w dzierżawie chmury, do którego ta lokalizacja zewnętrzna udziela dostępu. Na przykład: abfss://my-container-name@my-storage-account.dfs.core.windows.net/<path> lub r2://my-bucket@my-account-id.r2.cloudflarestorage.com/<path>.

  • <storage-credential-name>: nazwa poświadczeń magazynu, które autoryzuje odczyt z kontenera magazynu lub ścieżkę zasobnika i zapisuje je w kontenerze magazynu lub ścieżce zasobnika. Jeśli nazwa poświadczeń magazynu zawiera znaki specjalne, takie jak łączniki (-), musi być otoczona przez backticks (` `).

CREATE EXTERNAL LOCATION [IF NOT EXISTS] `<location-name>`
URL '<bucket-path>'
WITH ([STORAGE] CREDENTIAL `<storage-credential-name>`)
[COMMENT '<comment-string>'];

Jeśli chcesz ograniczyć dostęp lokalizacji zewnętrznej do określonych obszarów roboczych na koncie, nazywanym również powiązaniem obszaru roboczego lub izolacją lokalizacji zewnętrznej, zobacz (Opcjonalnie) Przypisywanie lokalizacji zewnętrznej do określonych obszarów roboczych.

(Opcjonalnie) Przypisywanie lokalizacji zewnętrznej do określonych obszarów roboczych

Ważne

Ta funkcja jest dostępna w publicznej wersji zapoznawczej.

Domyślnie lokalizacja zewnętrzna jest dostępna ze wszystkich obszarów roboczych w magazynie metadanych. Oznacza to, że jeśli użytkownik otrzymał uprawnienie (takie jak READ FILES) w tej lokalizacji zewnętrznej, może wykonać to uprawnienie z dowolnego obszaru roboczego dołączonego do magazynu metadanych. Jeśli używasz obszarów roboczych do izolowania dostępu do danych użytkownika, możesz zezwolić na dostęp do lokalizacji zewnętrznej tylko z określonych obszarów roboczych. Ta funkcja jest nazywana powiązaniem obszaru roboczego lub izolacją lokalizacji zewnętrznej.

Typowe przypadki użycia powiązania lokalizacji zewnętrznej z określonymi obszarami roboczymi obejmują:

  • Zapewnienie, że inżynierowie danych, którzy mają CREATE EXTERNAL TABLE uprawnienia do lokalizacji zewnętrznej zawierającej dane produkcyjne, mogą tworzyć tabele zewnętrzne w tej lokalizacji tylko w obszarze roboczym produkcyjnym.
  • Zapewnienie, że inżynierowie danych, którzy mają READ FILES uprawnienia do lokalizacji zewnętrznej zawierającej poufne dane, mogą używać tylko określonych obszarów roboczych do uzyskiwania dostępu do tych danych.

Aby uzyskać więcej informacji na temat ograniczania innych typów dostępu do danych według obszaru roboczego, zobacz Ograniczanie dostępu wykazu do określonych obszarów roboczych.

Ważne

Powiązania obszaru roboczego są odwoływania się w momencie wykonywania uprawnień do lokalizacji zewnętrznej. Jeśli na przykład użytkownik tworzy tabelę zewnętrzną, wydając instrukcję CREATE TABLE myCat.mySch.myTable LOCATION 'abfss://my-container-name@storage-account-name.dfs.core.windows.net/finance' z myWorkspace obszaru roboczego, następujące kontrole powiązań obszaru roboczego są wykonywane oprócz regularnych kontroli uprawnień użytkownika:

  • Czy lokalizacja zewnętrzna jest 'abfss://my-container-name@storage-account-name.dfs.core.windows.net/finance' powiązana z myWorkspace?
  • Czy wykaz myCat jest powiązany myWorkspace z poziomem Read & Writedostępu?

Jeśli lokalizacja zewnętrzna jest następnie niezwiązana z myWorkspaceklasy , tabela zewnętrzna będzie nadal działać.

Ta funkcja umożliwia również wypełnienie wykazu z centralnego obszaru roboczego i udostępnienie go innym obszarom roboczym przy użyciu powiązań wykazu bez konieczności udostępniania lokalizacji zewnętrznej w innych obszarach roboczych.

Wiązanie lokalizacji zewnętrznej z co najmniej jednym obszarem roboczym

Aby przypisać lokalizację zewnętrzną do określonych obszarów roboczych, możesz użyć Eksploratora wykazu lub interfejsu wiersza polecenia usługi Databricks.

Wymagane uprawnienia: administrator magazynu metadanych lub właściciel lokalizacji zewnętrznej.

Uwaga

Administratorzy magazynu metadanych mogą wyświetlać wszystkie lokalizacje zewnętrzne w magazynie metadanych przy użyciu Eksploratora wykazu, a właściciele lokalizacji zewnętrznych mogą zobaczyć wszystkie lokalizacje zewnętrzne, które są właścicielami w magazynie metadanych— niezależnie od tego, czy lokalizacja zewnętrzna jest przypisana do bieżącego obszaru roboczego. Lokalizacje zewnętrzne, które nie są przypisane do obszaru roboczego, są wyszarywane.

Eksplorator wykazu

  1. Zaloguj się do obszaru roboczego połączonego z magazynem metadanych.

  2. Na pasku bocznym kliknij pozycję Ikona wykazu Wykaz.

  3. Na stronie Szybki dostęp kliknij przycisk Dane > zewnętrzne, aby przejść do karty Lokalizacje zewnętrzne.

  4. Wybierz lokalizację zewnętrzną i przejdź do karty Obszary robocze .

  5. Na karcie Obszary robocze wyczyść pole wyboru Wszystkie obszary robocze mają dostęp.

    Jeśli lokalizacja zewnętrzna jest już powiązana z co najmniej jednym obszarem roboczym, to pole wyboru zostało już wyczyszczone.

  6. Kliknij pozycję Przypisz do obszarów roboczych i wprowadź lub znajdź obszary robocze, które chcesz przypisać.

Aby odwołać dostęp, przejdź do karty Obszary robocze , wybierz obszar roboczy i kliknij przycisk Odwołaj. Aby zezwolić na dostęp ze wszystkich obszarów roboczych, zaznacz pole wyboru Wszystkie obszary robocze mają dostęp .

CLI

Istnieją dwie grupy poleceń interfejsu wiersza polecenia usługi Databricks i dwa kroki wymagane do przypisania lokalizacji zewnętrznej do obszaru roboczego.

W poniższych przykładach zastąp <profile-name> ciąg nazwą profilu konfiguracji uwierzytelniania usługi Azure Databricks. Powinna ona zawierać wartość osobistego tokenu dostępu, oprócz nazwy wystąpienia obszaru roboczego i identyfikatora obszaru roboczego, w którym wygenerowano osobisty token dostępu. Zobacz Uwierzytelnianie osobistego tokenu dostępu w usłudze Azure Databricks.

  1. external-locations Użyj polecenia grupy update poleceń, aby ustawić lokalizację isolation mode zewnętrzną na ISOLATED:

    databricks external-locations update <my-location> \
    --isolation-mode ISOLATED \
    --profile <profile-name>
    

    Wartość domyślna isolation-mode to OPEN wszystkie obszary robocze dołączone do magazynu metadanych.

  2. workspace-bindings Użyj polecenia grupy update-bindings poleceń, aby przypisać obszary robocze do lokalizacji zewnętrznej:

    databricks workspace-bindings update-bindings external-location <my-location> \
    --json '{
      "add": [{"workspace_id": <workspace-id>}...],
      "remove": [{"workspace_id": <workspace-id>}...]
    }' --profile <profile-name>
    

    "add" Użyj właściwości i"remove", aby dodać lub usunąć powiązania obszaru roboczego.

    Uwaga

    Powiązanie tylko do odczytu (BINDING_TYPE_READ_ONLY) nie jest dostępne dla lokalizacji zewnętrznych. W związku z tym nie ma powodu, aby ustawić binding_type powiązanie lokalizacji zewnętrznych.

Aby wyświetlić listę wszystkich przypisań obszarów roboczych dla lokalizacji zewnętrznej workspace-bindings , użyj polecenia grupy get-bindings poleceń:

databricks workspace-bindings get-bindings external-location <my-location> \
--profile <profile-name>

Zobacz również Powiązania obszaru roboczego w dokumentacji interfejsu API REST.

Odłącz lokalizację zewnętrzną od obszaru roboczego

Instrukcje dotyczące odwołwania dostępu obszaru roboczego do lokalizacji zewnętrznej przy użyciu Eksploratora wykazu lub workspace-bindings grupy poleceń interfejsu wiersza polecenia są zawarte w temacie Wiązanie lokalizacji zewnętrznej z co najmniej jednym obszarem roboczym.

Następne kroki