Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym samouczku uzyskasz dostęp do usługi Azure Blob Storage z poziomu platformy Azure Databricks przy użyciu klucza dostępu do konta magazynu przechowywanego w usłudze Azure Key Vault.
Important
Dostęp za pomocą klucza konta magazynu danych to starszy sposób uwierzytelniania. W przypadku nowych obciążeń używaj autoryzacji Microsoft Entra ID z usługą Azure Databricks (za pomocą poświadczeń usługi Unity Catalog lub punktu montowania ABFS korzystającego z protokołu OAuth) i wyłącz autoryzację za pomocą klucza współdzielonego na koncie magazynu. Autoryzacja Entra ID eliminuje konieczność przechowywania kluczy dostępu do konta magazynu lub ich okresowej zmiany oraz zapewnia szczegółowy audyt. Kroki opisane w tym artykule pozostają aktualne w przypadku kont magazynu danych, które nadal korzystają z uwierzytelniania za pomocą klucza współdzielonego.
W tym samouczku nauczysz się następujących rzeczy:
- Utwórz konto magazynu danych i kontener obiektów Blob za pomocą narzędzia Azure CLI.
- Utwórz magazyn kluczy i ustaw sekret.
- Utwórz obszar roboczy Azure Databricks i dodaj zakres wpisu tajnego Key Vault.
- Uzyskaj dostęp do kontenera obiektów Blob z poziomu obszaru roboczego Azure Databricks.
Wymagania wstępne
Jeśli nie masz subskrypcji Azure, przed rozpoczęciem utwórz darmowe konto.
Przed rozpoczęciem tego samouczka zainstaluj interfejs wiersza polecenia platformy Azure.
Tworzenie konta magazynu i kontenera obiektów blob przy użyciu interfejsu wiersza polecenia platformy Azure
Utwórz konto magazynu ogólnego przeznaczenia do korzystania z obiektów blob. Jeśli nie masz grupy zasobów, przed uruchomieniem polecenia utwórz grupę zasobów. Poniższe polecenie tworzy konto magazynowe i wyświetla jego metadane. Skopiuj wartość identyfikatora .
az storage account create --name <storage-account-name> --resource-group <resource-group> --location <location> --sku Standard_ZRS --encryption-services blob
Zanim utworzysz kontener, do którego przekażesz obiekt blob, przypisz sobie rolę Współautor danych obiektu blob usługi Storage. W tym przykładzie rola jest przypisana do konta magazynu utworzonego wcześniej.
az role assignment create --role "Storage Blob Data Contributor" --assignee <user-principal-name> --scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>
Po przypisaniu roli utwórz kontener dla obiektu blob:
az storage container create --account-name <storage-account-name> --name <container-name> --auth-mode login
Po utworzeniu kontenera prześlij do niego obiekt blob (wybrany plik). W tym przykładzie przesyłany jest plik .txt z helloworld.
az storage blob upload --account-name <storage-account-name> --container-name <container-name> --name helloworld --file helloworld.txt --auth-mode login
Wyświetl listę blobów w kontenerze, aby to sprawdzić:
az storage blob list --account-name <storage-account-name> --container-name <container-name> --output table --auth-mode login
Pobierz wartość key1 dla konta magazynowego za pomocą następującego polecenia. Skopiuj wartość.
az storage account keys list -g <resource-group> -n <storage-account-name>
Utwórz magazyn kluczy i ustaw klucz tajny
Utwórz magazyn kluczy za pomocą następującego polecenia. Polecenie wyświetla również metadane magazynu kluczy. Skopiuj wartości id i vaultUri .
az keyvault create --name <vault-name> --resource-group <resource-group> --location <location> --enable-rbac-authorization true --enable-purge-protection true
Aby utworzyć wpis tajny, użyj następującego polecenia. Ustaw wartość tajemnicy na wartość key1 z twojego konta magazynowego.
az keyvault secret set --vault-name <vault-name> --name storageKey --value "value of your key1"
Utwórz obszar roboczy w usłudze Azure Databricks i dodaj zakres wpisów tajnych usługi Key Vault
Ta sekcja wymaga portalu Azure. Używaj go do:
- Utwórz zasób Azure Databricks.
- Uruchom obszar roboczy.
- Utwórz zakres wpisów tajnych oparty na usłudze Key Vault.
Uzyskaj dostęp do kontenera obiektów blob z obszaru roboczego Azure Databricks
Ta sekcja została ukończona w obszarze roboczym Azure Databricks. W obszarze roboczym:
- Utwórz nowy klaster.
- Utwórz Nowy notatnik.
- Wypełnij odpowiednie pola w skryscie Python.
- Uruchom skrypt Python.
dbutils.fs.mount(
source = "wasbs://<container-name>@<storage-account-name>.blob.core.windows.net",
mount_point = "/mnt/<mount-name>",
extra_configs = {"<conf-key>":dbutils.secrets.get(scope = "<scope-name>", key = "<key-name>")})
df = spark.read.text("/mnt/<mount-name>/<file-name>")
df.show()
Następne kroki
Upewnij się, że usługa Key Vault jest odzyskiwalna: