Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I den här självstudien får du åtkomst till Azure Blob Storage från Azure Databricks med hjälp av en lagringskontonyckel som lagras i Azure Key Vault.
Important
Åtkomst till lagringskontonyckel är ett äldre mönster. För nya arbetsbelastningar använder du Microsoft Entra ID auktorisering med Azure Databricks (via Unity Catalog-autentiseringsuppgifter eller en ABFS-montering som använder OAuth) och inaktiverar auktorisering av delad nyckel på lagringskontot. Entra ID auktorisering tar bort behovet av att lagra eller rotera lagringskontonycklar och ger detaljerad granskning. Stegen i den här artikeln är fortfarande giltiga för lagringskonton som fortfarande använder åtkomst till delad nyckel.
I den här handledningen kommer du att:
- Skapa ett lagringskonto och en blobcontainer med Azure CLI.
- Skapa ett nyckelvalv och ange en hemlighet.
- Skapa en Azure Databricks arbetsyta och lägg till ett Key Vault hemligt omfång.
- Få åtkomst till blobcontainern från Azure Databricks-arbetsytan.
Förutsättningar
Om du inte har en Azure-prenumeration, skapa ett gratis konto innan du börjar.
Innan du påbörjar den här självstudien installerar du Azure CLI.
Skapa ett lagringskonto och en blobcontainer med Azure CLI
Skapa ett allmänt lagringskonto för att använda blobar. Om du inte har någon resursgrupp skapar du en innan du kör kommandot. Följande kommando skapar lagringskontot och visar dess metadata. Kopiera ID-värdet .
az storage account create --name <storage-account-name> --resource-group <resource-group> --location <location> --sku Standard_ZRS --encryption-services blob
Innan du skapar en container att ladda upp bloben till till tilldelar du rollen Storage Blob Data Contributor till dig själv. I det här exemplet tilldelas rollen på lagringskontot som du skapade tidigare.
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>
Nu när du har tilldelat rollen skapar du en container för din blob:
az storage container create --account-name <storage-account-name> --name <container-name> --auth-mode login
När containern har skapats laddar du upp en blob (valfri fil) till den. I det här exemplet laddas en .txt fil med helloworld upp.
az storage blob upload --account-name <storage-account-name> --container-name <container-name> --name helloworld --file helloworld.txt --auth-mode login
Visa en lista över blobarna i containern som ska verifieras:
az storage blob list --account-name <storage-account-name> --container-name <container-name> --output table --auth-mode login
Hämta nyckel1-värdet för ditt lagringskonto med följande kommando. Kopiera värdet.
az storage account keys list -g <resource-group> -n <storage-account-name>
Skapa ett nyckelvalv och ange en hemlighet
Skapa ett nyckelvalv med följande kommando. Kommandot visar även nyckelvalvets metadata. Kopiera värdena för id och vaultUri.
az keyvault create --name <vault-name> --resource-group <resource-group> --location <location> --enable-rbac-authorization true --enable-purge-protection true
Använd följande kommando för att skapa hemligheten. Ange hemlighetens värde till key1 från ditt lagringskonto.
az keyvault secret set --vault-name <vault-name> --name storageKey --value "value of your key1"
Skapa en Azure Databricks arbetsyta och lägg till ett Key Vault hemligt omfång
Det här avsnittet kräver Azure portalen. Använd den för att:
- Skapa din Azure Databricks resurs.
- Öppna din arbetsyta.
- Skapa ett hemlighetsomfång med stöd i Key Vault.
Få åtkomst till din blobcontainer från Azure Databricks-arbetsytan
Det här avsnittet har slutförts på arbetsytan Azure Databricks. På arbetsytan:
- Skapa ett nytt kluster.
- Skapa en ny anteckningsbok.
- Fyll i motsvarande fält i skriptet Python.
- Kör Python-skriptet.
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()
Nästa steg
Kontrollera att ditt Key Vault kan återställas: