Share via


Ügyfél által kezelt kulcsok engedélyezése a menedzselt szolgáltatásokhoz

Feljegyzés

Ehhez a funkcióhoz prémium csomag szükséges.

Az adatok további szabályozásához hozzáadhatja saját kulcsát bizonyos típusú adatokhoz való hozzáférés védelméhez és szabályozásához. Az Azure Databricks több ügyfél által felügyelt kulcsfunkcióval rendelkezik. A kapcsolódó funkciók összehasonlításához tekintse meg az ügyfél által felügyelt titkosítási kulcsokat.

Tipp.

Ez a cikk azt ismerteti, hogyan konfigurálhatja saját kulcsát az Azure Key Vault-tárolókból felügyelt szolgáltatásokhoz. Az Azure Key Vault felügyelt HSM-ből származó kulcsok használatára vonatkozó utasításokért lásd : HSM ügyfél által felügyelt kulcsok engedélyezése felügyelt szolgáltatásokhoz.

Az Azure Databricks vezérlősíkon tárolt felügyelt szolgáltatások adatai inaktív állapotban titkosítva vannak. A felügyelt szolgáltatásokhoz ügyfél által felügyelt kulcsot adhat hozzá a következő típusú titkosított adatok védelméhez és szabályozásához:

Miután hozzáadott egy ügyfél által felügyelt kulcstitkosítást egy munkaterülethez, az Azure Databricks az Ön kulcsával szabályozza a munkaterület felügyelt szolgáltatásainak jövőbeni írási műveleteit titkosító kulcshoz való hozzáférést. A meglévő adatok nem lesznek újra titkosítva. Az adattitkosítási kulcs több olvasási és írási művelethez gyorsítótárazva van a memóriában, és rendszeres időközönként ki van távolítva a memóriából. Az adatokra vonatkozó új kérések egy másik kérést igényelnek a felhőszolgáltatás kulcskezelő rendszeréhez. Ha törli vagy visszavonja a kulcsot, a védett adatok olvasása vagy írása meghiúsul a gyorsítótár időintervallumának végén.

Az ügyfél által kezelt kulcsot később elforgathatja (frissítheti). Lásd: Kulcs elforgatása későbbi időpontban.

Ez a funkció nem titkosítja a vezérlősíkon kívül tárolt adatokat. További ügyfél által felügyelt kulcsfunkciók : Ügyfél által felügyelt kulcsok a titkosításhoz

Követelmények

1. lépés: Key Vault beállítása

Létre kell hoznia egy Azure Key Vault-példányt, és meg kell adnia az engedélyeit. Ezt az Azure Portalon, a parancssori felületen vagy az API-kon keresztül teheti meg.

Fontos

A Key Vaultnak ugyanabban az Azure-bérlőben kell lennie, mint az Azure Databricks-munkaterület.

Az alábbi utasítások több üzembe helyezési lehetőséget is részleteznek:

Az Azure Portal használata

  1. Key Vault létrehozása vagy kiválasztása:
    • Key Vault létrehozásához lépjen az Azure Portal lapjára a Key Vault létrehozásához. Kattintson a +Létrehozás gombra. Adja meg az erőforráscsoport nevét, a Key Vault nevét, a régiót és a tarifacsomagot. Kattintson az Áttekintés + létrehozás, majd a Létrehozás lehetőségre.
    • Meglévő Key Vault használatához másolja a kulcstartó nevét a következő lépéshez.
  2. Az AzureDatabricks-alkalmazás objektumazonosítójának lekérése :
    1. Az Azure portálon lépjen a Microsoft Entra ID menüpontra.
    2. Az oldalsó menüben válassza a Vállalati alkalmazások elemet.
    3. Keresse meg AzureDatabricks és kattintson a vállalati alkalmazásra az eredmények között.
    4. A Tulajdonságok területen másolja ki az objektumazonosítót.
  3. Hozzáférési szabályzat hozzáadása a Key Vaulthoz az Azure Portal használatával:
    1. Keresse meg az Azure Key Vaultot, amellyel ügyfél által felügyelt kulcsokat konfigurálhat a munkaterület felügyelt szolgáltatásaihoz.

    2. Kattintson az Access-szabályzatok fülre a bal oldali panelen.

    3. Válassza a lap tetején található Létrehozás gombot .

    4. Az Engedélyek lap Kulcsengedélyek szakaszában engedélyezze a Lekérés, Kulcs kicsomagolása és Kulcs becsomagolása engedélyt.

    5. Kattintson a Tovább gombra.

    6. Az Egyszerű lapon írja be AzureDatabricks és görgessen az első vállalati alkalmazás eredményéhez, amelynek alkalmazásazonosítója 2ff814a6-3304-4ab8-85cb-cd0e6f879c1d van, és jelölje ki.

      Válassza ki az AzureDatabricks alkalmazást a 2ff814a6-3304-4ab8-85cb-cd0e6f879c1d azonosítóval

    7. Lépjen a Véleményezés + létrehozás lapra, és kattintson a b gombra.

Az Azure CLI használata

Az Alábbi utasítások végrehajtásához használja az Azure CLI-t .

  1. Hozzon létre egy Key Vaultot, vagy válasszon ki egy meglévő Key Vaultot:

    • Key Vault létrehozásához használja a következő Azure CLI-parancsot, és cserélje le a zárójelben lévő elemeket a régióra, a Key Vault nevére, az erőforráscsoport nevére és a helyre:

      az keyvault create --location <region> \
                         --name <key-vault-name> \
                         --resource-group <resource-group-name> \
                         --location <location> \
                         --enable-purge-protection
      
    • Meglévő Key Vault használatához másolja a következő lépés kulcstartójának nevét.

  2. Az AzureDatabricks-alkalmazás objektumazonosítójának lekérése az Azure CLI-vel.

    az ad sp show --id "2ff814a6-3304-4ab8-85cb-cd0e6f879c1d" \
                  --query "id" \
                  --output tsv
    
  3. Ellenőrizze, hogy a megfelelő Azure-előfizetést használja-e:

    az account set --subscription {subscription_id}
    

Az Azure PowerShell használata

Létrehozhat egy új Key Vaultot, vagy használhat egy meglévőt.

Kulcstartó létrehozása:

$keyVault = New-AzKeyVault -Name <key-vault-name> \
-ResourceGroupName <resource-group-name> \
-Location <location> \
-sku <sku> \
-EnablePurgeProtection

Használjon egy meglévő Key Vaultot:

$keyVault = Get-AzKeyVault -VaultName <key-vault-name>

2. lépés: Kulcs előkészítése

Létrehozhat egy kulcsot, vagy használhat egy meglévő kulcsot. Használja a használni kívánt eszközöket: Azure Portal, Azure CLI vagy egyéb eszközök.

Az Azure parancssori felület használatával

Hozzon létre egy kulcsot a Key Vault alatt. A KeyType-nak RSA-nak kell lennie.

A kulcs parancssori felületen való létrehozásához futtassa a következő parancsot:

az keyvault key create --name <key-name> \
                       --vault-name <key-vault-name> \
                       --protection software

Jegyezze fel a következő értékeket, amelyeket a válaszban szereplő kid tulajdonság kulcsazonosítójából kaphat. Ezeket a következő lépésekben fogja használni:

  • Key Vault URL-címe: A kulcsazonosító első része, amely tartalmazza a Key Vault nevét. Ez az űrlap https://<key-vault-name>.vault.azure.net.
  • Kulcs neve: A kulcs neve.
  • Kulcsverzió: A kulcs verziója.

A teljes kulcsazonosító általában rendelkezik az űrlappal https://<key-vault-name>.vault.azure.net/keys/<key-name>/<key-version>. A nem nyilvános felhőben lévő Azure Key Vault-kulcsok eltérő formában érhetők el.

Ha meglévő kulcsot szeretne használni ahelyett, hogy létrehoz egyet, kérje le és másolja ki ezeket az értékeket a kulcshoz, hogy a következő lépésekben használhassa őket. Ellenőrizze, hogy a meglévő kulcs engedélyezve van-e a folytatás előtt.

Az Azure PowerShell használata

  1. Ha kulcs létrehozását tervezi, előfordulhat, hogy be kell állítania a hozzáférési szabályzatot a létrehozás módjától és időpontjától függően. Ha például nemrég hozta létre a Key Vaultot a PowerShell használatával, előfordulhat, hogy az új Key Vault nem rendelkezik a kulcs létrehozásához szükséges hozzáférési szabályzattal. Az alábbi példa a paramétert EmailAddress használja a szabályzat beállításához. A kapcsolódó részletekért tekintse meg a Set-AzKeyVaultAccessPolicy microsoftos cikkét.

    Állítsa be a hozzáférési szabályzatot egy új Key Vaulton:

    Set-AzKeyVaultAccessPolicy \
    -VaultName $keyVault.VaultName \
    -PermissionsToKeys all \
    -EmailAddress <email-address>
    
  2. Létrehozhat egy kulcsot, vagy lekérhet egy meglévő kulcsot:

    • Kulcs létrehozása:

      $key = Add-AzKeyVaultKey \
      -VaultName $keyVault.VaultName \
      -Name <key-name> \
      -Destination 'Software'
      
    • Meglévő kulcs lekérése:

      $key = Get-AzKeyVaultKey \
      -VaultName $keyVault.VaultName \
      -Name <key-name>
      
  3. Adjon hozzá egy hozzáférési szabályzatot a Key Vault engedélyeivel:

    $managedService = Get-AzureADServicePrincipal \
    -Filter "appId eq '2ff814a6-3304-4ab8-85cb-cd0e6f879c1d'"
    
    Set-AzKeyVaultAccessPolicy -VaultName $keyVault.VaultName \
    -ObjectId $managedService.ObjectId \
    -PermissionsToKeys wrapkey,unwrapkey,get
    

3. lépés: Kulcs hozzáadása munkaterülethez

Egy új munkaterületet ügyfél által felügyelt kulccsal helyezhet üzembe a felügyelt szolgáltatásokhoz, vagy hozzáadhat egy kulcsot egy meglévő munkaterülethez. Mindkettőt megteheti az Azure CLI-vel, a PowerShell-lel, az ARM-sablonokkal, az Azure Portallal vagy más eszközökkel. Ez a szakasz több üzembe helyezési lehetőség részleteit tartalmazza:

Az Azure Portal használata sablon nélkül

  1. Nyissa meg az Azure Portal kezdőlapját.

  2. Kattintson az Erőforrás létrehozása elemre a lap bal felső sarkában.

  3. A keresősávon belül írja be Azure Databricks és kattintson az Azure Databricks beállításra.

  4. Kattintson a Létrehozás gombra az Azure Databricks widgetben.

  5. Adja meg a beviteli mezők értékeit az Alapismeretek és hálózatkezelés lapon.

  6. A Titkosítás lap elérése után:

    • Munkaterület létrehozásához engedélyezze a Saját kulcs használata lehetőséget a Felügyelt szolgáltatások szakaszban.
    • Munkaterület frissítéséhez engedélyezze a felügyelt szolgáltatásokat.
  7. Adja meg a titkosítási mezőket.

    Mezők megjelenítése az Azure Databricks panel Felügyelt lemezek szakaszában

    • A Kulcsazonosító mezőbe illessze be az Azure Key Vault-kulcs kulcsazonosítóját.
    • Az Előfizetés legördülő listában adja meg az Azure Key Vault-kulcs előfizetésének nevét.
  8. Töltse ki a fennmaradó lapokat, és kattintson a Véleményezés + Létrehozás (új munkaterület esetén) vagy a Mentés (munkaterület frissítéséhez) elemre.

Fontos

Ha elforgatja a kulcsot, a régi kulcsot 24 órán át elérhetővé kell tennie.

Az Azure CLI használata sablon nélkül

  1. Adjon hozzá egy hozzáférési szabályzatot a Key Vaulthoz az alábbi paranccsal. Cserélje le <key-vault-name> az előző lépésben használt tárolónévre, és cserélje le <object-id> az AzureDatabricks alkalmazás objektumazonosítójára.

    az keyvault set-policy -n <key-vault-name> \
                           --key-permissions get wrapKey unwrapKey  \
                           --object-id <object-id>
    
  2. Munkaterület létrehozása vagy frissítése:

    Létrehozáshoz és frissítéshez vegye fel a következő mezőket a parancsba:

    • managed-services-key-name: Kulcs neve
    • managed-services-key-vault: Key Vault URI
    • managed-services-key-version: Kulcsverzió

    Példa munkaterület létrehozására az alábbi mezők használatával:

    az databricks workspace create --name <workspace-name> \
    --resource-group <resource-group-name> \
    --location <location> \
    --sku premium \
    --managed-services-key-name <key-name> \
    --managed-services-key-vault <key-vault-uri> \
    --managed-services-key-version <key-version>
    

    Példa egy munkaterület frissítésére az alábbi mezők használatával:

    az databricks workspace update --name <workspace-name> \
    --resource-group <resource-group-name> \
    --managed-services-key-name <key-name> \
    --managed-services-key-vault <key-vault-uri> \
    --managed-services-key-version <key-version>
    

Fontos

Ha elforgatja a kulcsot, a régi kulcsot 24 órán át elérhetővé kell tennie.

A PowerShell használata sablon nélkül

Munkaterület létrehozásához vagy frissítéséhez adja hozzá a következő paramétereket az új kulcs parancsához:

  • ManagedServicesKeyVaultPropertiesKeyName: Kulcs neve
  • ManagedServicesKeyVaultPropertiesKeyVaultUri: Kulcs URI
  • ManagedServicesKeyVaultPropertiesKeyVersion: Kulcsverzió

Példa munkaterület létrehozására az alábbi mezőkkel:

New-AzDatabricksWorkspace -Name <workspace-name> \
-ResourceGroupName <resource-group-name> \
-location $keyVault.Location \
-sku premium \
-ManagedServicesKeyVaultPropertiesKeyName $key.Name \
-ManagedServicesKeyVaultPropertiesKeyVaultUri $keyVault.VaultUri \
-ManagedServicesKeyVaultPropertiesKeyVersion $key.Version

Példa munkaterület frissítésre az alábbi mezőkkel:

Update-AzDatabricksWorkspace -Name <workspace-name> \
-ResourceGroupName <resource-group-name> \
-sku premium \
-ManagedServicesKeyVaultPropertiesKeyName $key.Name \
-ManagedServicesKeyVaultPropertiesKeyVaultUri $keyVault.VaultUri \
-ManagedServicesKeyVaultPropertiesKeyVersion $key.Version

Fontos

Ha elforgatja a kulcsot, a régi kulcsot 24 órán át elérhetővé kell tennie.

Módosítások alkalmazása ARM-sablonnal

Az alábbi ARM-sablon egy új munkaterületet hoz létre egy ügyfél által felügyelt kulccsal, az erőforrás Microsoft.Databricks/workspacesAPI-verziójának 2023-02-01 használatával. Mentse a szöveget helyileg egy nevű databricks-cmk-template.jsonfájlba.

Ez a példasablon nem tartalmaz minden lehetséges Azure Databricks-funkciót, például saját virtuális hálózat biztosítását, amelyben üzembe helyezheti a munkaterületet.

Fontos

Ha már használ sablont, egyesítse a sablon további paramétereit, erőforrásait és kimeneteit a meglévő sablonba.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "workspaceName": {
      "type": "string",
      "metadata": {
        "description": "The name of the Azure Databricks workspace to create."
      }
    },
    "pricingTier": {
      "type": "string",
      "defaultValue": "premium",
      "allowedValues": [
        "standard",
        "premium"
      ],
      "metadata": {
        "description": "The pricing tier of workspace."
      }
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]",
      "metadata": {
        "description": "Location for all resources."
      }
    },
    "apiVersion": {
      "type": "string",
      "defaultValue": "2023-02-01",
      "allowedValues":[
        "2023-02-01",
        "2021-04-01-preview"
      ],
      "metadata": {
        "description": "The api version to create the workspace resources"
      }
    },
    "keyvaultUri": {
      "type": "string",
      "metadata": {
        "description": "The Key Vault URI for customer-managed key for managed services"
      }
    },
    "keyName": {
      "type": "string",
      "metadata": {
        "description": "The key name used for customer-managed key for managed services"
      }
    },
    "keyVersion": {
      "type": "string",
      "metadata": {
        "description": "The key version used for customer-managed key for managed services"
      }
    }
  },
  "variables": {
    "managedResourceGroupName": "[concat('databricks-rg-', parameters('workspaceName'), '-', uniqueString(parameters('workspaceName'), resourceGroup().id))]"
  },
  "resources": [
    {
      "type": "Microsoft.Databricks/workspaces",
      "name": "[parameters('workspaceName')]",
      "location": "[parameters('location')]",
      "apiVersion": "[parameters('apiVersion')]",
      "sku": {
        "name": "[parameters('pricingTier')]"
      },
      "properties": {
        "ManagedResourceGroupId": "[concat(subscription().id, '/resourceGroups/', variables('managedResourceGroupName'))]",
        "encryption": {
          "entities": {
             "managedServices": {
                "keySource": "Microsoft.Keyvault",
                "keyVaultProperties": {
                   "keyVaultUri": "[parameters('keyvaultUri')]",
                   "keyName": "[parameters('keyName')]",
                   "keyVersion": "[parameters('keyVersion')]"
                }
             }
          }
        }
      }
    }
  ],
  "outputs": {
    "workspace": {
      "type": "object",
      "value": "[reference(resourceId('Microsoft.Databricks/workspaces', parameters('workspaceName')))]"
    }
  }
}

Ha már használ egy másik sablont, a sablon paramétereit, erőforrásait és kimeneteit egyesítheti a meglévő sablonnal.

Ha ezt a sablont szeretné használni egy munkaterület létrehozásához vagy frissítéséhez, válasszon az alábbi üzembe helyezési lehetőségek közül:

Sablon alkalmazása az Azure CLI-vel

Ha új munkaterületet szeretne létrehozni az Azure CLI-vel, futtassa a következő parancsot:

az deployment group create --resource-group <resource-group-name>  \
                           --template-file <file-name>.json \
                           --parameters workspaceName=<new-workspace-name> \
                           keyvaultUri=<keyvaultUrl> \
                           keyName=<keyName> keyVersion=<keyVersion>

Meglévő munkaterület frissítése ügyfél által felügyelt kulcs munkaterület használatára (vagy a meglévő kulcs elforgatására) az Azure CLI használatával:

  1. Ha a munkaterületet üzembe helyező ARM-sablon soha nem adott hozzá ügyfél által felügyelt kulcsokat, adja hozzá a szakaszt resources.properties.encryption és a kapcsolódó paramétereket. Tekintse meg a sablont a cikk korábbi részében.

    1. Adja hozzá a resources.properties.encryption szakaszt a sablonból.
    2. parameters A szakaszban adjon hozzá három új paramétertkeyvaultUri, keyNameés keyVersion adja hozzá a sablont.
  2. Futtassa ugyanazt a parancsot, mint egy új munkaterület létrehozásához. Ha az erőforráscsoport neve és a munkaterület neve megegyezik a meglévő munkaterületével, ez a parancs frissíti a meglévő munkaterületet, és nem új munkaterületet hoz létre.

    az deployment group create --resource-group <existing-resource-group-name>  \
                               --template-file <file-name>.json \
                               --parameters workspaceName=<existing-workspace-name> \
                               keyvaultUri=<keyvaultUrl> \
                               keyName=<keyName> keyVersion=<keyVersion>
    

    A kulcshoz kapcsolódó paraméterek módosításain kívül használja ugyanazokat a paramétereket, amelyeket a munkaterület létrehozásához használtak.

    Fontos

    Ha elforgatja a kulcsot, a régi kulcsot 24 órán át elérhetővé kell tennie.

Sablon alkalmazása az Azure Portalon

Munkaterület létrehozásához vagy frissítéséhez használja a sablont az Azure Portalon:

  1. Lépjen az Egyéni üzembehelyezési lapra.

  2. Kattintson a Saját sablon létrehozása elemre a szerkesztőben.

  3. Illessze be a JSON-fájlba.

  4. Kattintson a Mentés gombra.

  5. Adja meg a paramétereket.

    Meglévő munkaterület frissítéséhez használja ugyanazokat a paramétereket, amelyeket a munkaterület létrehozásához használt. A kulcs első hozzáadásához adja hozzá a három kulcshoz kapcsolódó paramétert. A kulcs elforgatásához módosítsa a kulcshoz kapcsolódó paraméterek egy részét vagy mindegyikét. Győződjön meg arról, hogy az erőforráscsoport neve és a munkaterület neve megegyezik a meglévő munkaterület nevével. Ha megegyeznek, ez a parancs frissíti a meglévő munkaterületet, és nem új munkaterületet hoz létre.

    A kulcshoz kapcsolódó paraméterek módosításain kívül használja ugyanazokat a paramétereket, amelyeket a munkaterület létrehozásához használtak.

  6. Kattintson a Felülvizsgálat + létrehozás elemre.

  7. Ha nincsenek érvényesítési problémák, kattintson a Létrehozás gombra.

    Fontos

    Ha elforgatja a kulcsot, a régi kulcsot 24 órán át elérhetővé kell tennie.

További részletekért tekintse meg az Azure-cikk rövid útmutatóját: ARM-sablonok létrehozása és üzembe helyezése az Azure Portal használatával.

4. lépés (nem kötelező): Jegyzetfüzetek újraimportálása

Miután először hozzáadott egy kulcsot egy meglévő munkaterület felügyelt szolgáltatásaihoz, csak a jövőbeli írási műveletek használják a kulcsot. A meglévő adatok nem lesznek újra titkosítva.

Exportálhatja az összes jegyzetfüzetet, majd újra importálhatja őket, hogy az adatokat titkosító kulcs védve legyen, és a kulcs vezérelje őket. A Munkaterület exportálása és importálása API-kat használhatja.

A kulcs elforgatása későbbi időpontban

Ha már ügyfél által felügyelt kulcsot használ felügyelt szolgáltatásokhoz, frissítheti a munkaterületet egy új kulcsverzióval vagy egy teljesen új kulccsal. Ezt kulcsforgatásnak nevezzük.

  1. Hozzon létre egy új kulcsot, vagy forgassa el a meglévő kulcsot a Key Vaultban. Lásd: 1. lépés: Kulcspáncélterem beállítása.

    Győződjön meg arról, hogy az új kulcs rendelkezik a megfelelő engedélyekkel.

  2. Győződjön meg arról, hogy a sablon a megfelelő API-verzióval rendelkezik. Egyenlőnek vagy magasabbnak kell lennie, mint 2021-04-01-preview.

  3. Frissítse a munkaterületet az új kulccsal a portál, a parancssori felület vagy a PowerShell használatával. Lásd : 3. lépés: Kulcs hozzáadása egy munkaterülethez , és kövesse a munkaterület frissítésére vonatkozó utasításokat. Győződjön meg arról, hogy ugyanazokat az értékeket használja az erőforráscsoport nevére és a munkaterület nevére, hogy az új munkaterület létrehozása helyett frissítse a meglévő munkaterületet. A kulcshoz kapcsolódó paraméterek módosításain kívül használja ugyanazokat a paramétereket, amelyeket a munkaterület létrehozásához használtak.

    Fontos

    Ha elforgatja a kulcsot, a régi kulcsot 24 órán át elérhetővé kell tennie.

  4. Ha szeretné, exportálja és importálja újra a meglévő jegyzetfüzeteket , hogy minden meglévő jegyzetfüzete használja az új kulcsot.

Hibaelhárítás

Kulcs véletlen törlése

Ha törli a kulcsot az Azure Key Vaultban, a munkaterület bejelentkezése sikertelen lesz, és az Azure Databricks nem fogja olvasni a jegyzetfüzeteket. Ennek elkerülése érdekében javasoljuk, hogy engedélyezze a helyreállítható törléseket. Ez a beállítás biztosítja, hogy a törölt kulcsok 30 napig helyreállíthatók legyenek. Ha engedélyezve van a helyreállítható törlés, a probléma megoldásához csak újra engedélyezni kell a kulcsot.

Kulcsfrissítési hiba a kulcstár engedélyei miatt

Ha problémái vannak a munkaterület létrehozásával, ellenőrizze, hogy a Kulcsszekrény megfelelő jogosultságokkal rendelkezik-e. Az Azure által visszaküldött hiba nem biztos, hogy helyesen jelzi ezt a hiba okát. Emellett a szükséges engedélyek a következőkget: éswrapKeyunwrapKey. Lásd: 1. lépés: Kulcspáncélterem beállítása.

Az elveszett kulcsok nem helyreállíthatók

Ha elveszíti a kulcsot, és nem tudja visszaszerezni, a kulcs által titkosított összes notebook-adat nem lesz visszaállítható.