Zelfstudie: Toegang tot Azure Blob Storage met behulp van Azure Databricks en Azure Key Vault

In deze zelfstudie opent u Azure Blob Storage vanuit Azure Databricks met behulp van een opslagaccountsleutel die is opgeslagen in Azure Key Vault.

Important

Toegang tot opslagaccountsleutels is een verouderd patroon. Gebruik voor nieuwe workloads Microsoft Entra ID autorisatie met Azure Databricks (via Unity Catalog-referenties of een ABFS-koppeling die gebruikmaakt van OAuth) en schakel autorisatie voor gedeelde sleutels uit voor het opslagaccount. Entra ID autorisatie verwijdert de noodzaak om opslagaccountsleutels op te slaan of te roteren en biedt gedetailleerde controle. De stappen in dit artikel blijven geldig voor opslagaccounts die nog steeds toegang tot gedeelde sleutels gebruiken.

In deze handleiding leert u:

  • Maak een opslagaccount en blobcontainer met de Azure CLI.
  • Maak een sleutelkluis en stel een geheim in.
  • Maak een Azure Databricks werkruimte en voeg een Key Vault geheim bereik toe.
  • Open uw blobcontainer vanuit de Azure Databricks werkruimte.

Vereiste voorwaarden

Als je geen Azure-abonnement hebt, maak dan een gratis account aan voordat je begint.

Voordat u met deze zelfstudie begint, installeert u de Azure CLI.

Een opslagaccount en blobcontainer maken met Azure CLI

Maak een opslagaccount voor algemeen gebruik om blobs te gebruiken. Als u geen resourcegroep hebt, maakt u er een voordat u de opdracht uitvoert. Met de volgende opdracht wordt het opslagaccount gemaakt en worden de metagegevens ervan weergegeven. Kopieer de id-waarde .

az storage account create --name <storage-account-name> --resource-group <resource-group> --location <location> --sku Standard_ZRS --encryption-services blob

Console-uitvoer van de bovenstaande opdracht. Id is groen gemarkeerd zodat de eindgebruiker deze kan zien.

Voordat u een container maakt waarnaar u de blob wilt uploaden, wijst u de rol Inzender voor opslagblobgegevens aan uzelf toe. In dit voorbeeld wordt de rol toegewezen aan het opslagaccount dat u eerder hebt gemaakt.

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 u de rol hebt toegewezen, maakt u een container voor uw blob:

az storage container create --account-name <storage-account-name> --name <container-name> --auth-mode login

Nadat de container is gemaakt, uploadt u er een blob (bestand naar keuze) naartoe. In dit voorbeeld wordt een .txt bestand met helloworld geüpload.

az storage blob upload --account-name <storage-account-name> --container-name <container-name> --name helloworld --file helloworld.txt --auth-mode login

Geef de blobs in de container weer om dit te verifiëren:

az storage blob list --account-name <storage-account-name> --container-name <container-name> --output table --auth-mode login

Console-uitvoer van de bovenstaande opdracht. Het bestand wordt weergegeven dat zojuist is opgeslagen in de container.

Haal de sleutel1-waarde van uw opslagaccount op met de volgende opdracht. Kopieer de waarde.

az storage account keys list -g <resource-group> -n <storage-account-name>

Console-uitvoer van de bovenstaande opdracht. De waarde van key1 is gemarkeerd in een groen vak.

Een sleutelkluis maken en een geheim instellen

Maak een sleutelkluis met de volgende opdracht. Met de opdracht worden ook de metagegevens van de sleutelkluis weergegeven. Kopieer de id - en vaultUri-waarden .

az keyvault create --name <vault-name> --resource-group <resource-group> --location <location> --enable-rbac-authorization true --enable-purge-protection true

Afbeelding Console-uitvoer van de bovenstaande opdracht. De ID en de vaultUri zijn beide groen gemarkeerd om de gebruiker deze te laten zien.

Gebruik de volgende opdracht om het geheim te maken. Stel de waarde van het geheim in op de sleutel1-waarde van uw opslagaccount.

az keyvault secret set --vault-name <vault-name> --name storageKey --value "value of your key1"

Een Azure Databricks werkruimte maken en een Key Vault geheim bereik toevoegen

Voor deze sectie is de Azure-portal vereist. Gebruik deze voor het volgende:

  1. Maak uw Azure Databricks resource.
  2. Start uw werkruimte.
  3. Maak een geheim bereik met Key Vault-ondersteuning.

Toegang tot uw blobcontainer vanuit de Azure Databricks werkruimte

Deze sectie is voltooid in de Azure Databricks werkruimte. In de werkruimte:

  1. Maak een nieuw cluster.
  2. Maak een nieuw notitieblok.
  3. Vul de bijbehorende velden in het Python script in.
  4. Voer het Python-script uit.
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()

Volgende stappen

Zorg ervoor dat uw Key Vault kan worden hersteld: