Podwójne szyfrowanie danych nieużywanych w usłudze Azure HDInsight

W tym artykule omówiono metody szyfrowania danych magazynowanych w klastrach usługi Azure HDInsight. Szyfrowanie danych magazynowanych odnosi się do szyfrowania na dyskach zarządzanych (dyskach danych, dyskach systemu operacyjnego i dyskach tymczasowych) dołączonych do maszyn wirtualnych klastra usługi HDInsight.

Ten dokument nie zawiera danych przechowywanych na koncie usługi Azure Storage. Klastry mogą mieć co najmniej jedno dołączone konta usługi Azure Storage, na których klucze szyfrowania mogą być również zarządzane przez firmę Microsoft lub zarządzane przez klienta, ale usługa szyfrowania jest inna. Aby uzyskać więcej informacji na temat szyfrowania usługi Azure Storage, zobacz Szyfrowanie usługi Azure Storage dla danych magazynowanych.

Wprowadzenie

Na platformie Azure istnieją trzy główne role dysku zarządzanego: dysk danych, dysk systemu operacyjnego i dysk tymczasowy. Aby uzyskać więcej informacji na temat różnych typów dysków zarządzanych, zobacz Wprowadzenie do dysków zarządzanych platformy Azure.

Usługa HDInsight obsługuje wiele typów szyfrowania w dwóch różnych warstwach:

  • Szyfrowanie po stronie serwera (SSE) — funkcja SSE jest wykonywana przez usługę magazynu. W usłudze HDInsight funkcja SSE służy do szyfrowania dysków systemu operacyjnego i dysków danych. Jest ona domyślnie włączona. SSE to usługa szyfrowania warstwy 1.
  • Szyfrowanie na hoście przy użyciu klucza zarządzanego przez platformę — podobnie jak w przypadku SSE, ten typ szyfrowania jest wykonywany przez usługę magazynu. Jednak jest przeznaczony tylko dla dysków tymczasowych i nie jest domyślnie włączony. Szyfrowanie na hoście jest również usługą szyfrowania warstwy 1.
  • Szyfrowanie magazynowane przy użyciu klucza zarządzanego przez klienta — tego typu szyfrowanie może być używane na dyskach danych i dyskach tymczasowych. Nie jest ona domyślnie włączona i wymaga od klienta podania własnego klucza za pośrednictwem usługi Azure Key Vault. Szyfrowanie magazynowane to usługa szyfrowania warstwy 2.

Te typy zostały podsumowane w poniższej tabeli.

Typ klastra Dysk systemu operacyjnego (dysk zarządzany) Dysk danych (dysk zarządzany) Dysk danych tymczasowych (lokalny dysk SSD)
Kafka, HBase z przyspieszonymi zapisami Warstwa 1: szyfrowanie SSE domyślnie Warstwa 1: Szyfrowanie SSE domyślnie warstwa 2: opcjonalne szyfrowanie magazynowane przy użyciu klucza cmK Warstwa 1: Opcjonalne szyfrowanie na hoście przy użyciu klucza PMK, warstwa 2: opcjonalne szyfrowanie magazynowane przy użyciu klucza zarządzanego przez klienta
Wszystkie inne klastry (Spark, Interactive, Hadoop, HBase bez przyspieszonych zapisów) Warstwa 1: szyfrowanie SSE domyślnie Nie dotyczy Warstwa 1: Opcjonalne szyfrowanie na hoście przy użyciu klucza PMK, warstwa 2: opcjonalne szyfrowanie magazynowane przy użyciu klucza zarządzanego przez klienta

Szyfrowanie magazynowane przy użyciu kluczy zarządzanych przez klienta

Szyfrowanie kluczy zarządzanych przez klienta jest procesem jednoetapowym obsługiwanym podczas tworzenia klastra bez dodatkowych kosztów. Wystarczy autoryzować tożsamość zarządzaną za pomocą usługi Azure Key Vault i dodać klucz szyfrowania podczas tworzenia klastra.

Dyski danych i dyski tymczasowe w każdym węźle klastra są szyfrowane za pomocą symetrycznego klucza szyfrowania danych (DEK). Klucz szyfrowania kluczy jest chroniony przy użyciu klucza szyfrowania kluczy (KEK) z magazynu kluczy. Procesy szyfrowania i odszyfrowywania są obsługiwane w całości przez usługę Azure HDInsight.

W przypadku dysków systemu operacyjnego dołączonych do maszyn wirtualnych klastra jest dostępna tylko jedna warstwa szyfrowania (PMK). Zaleca się, aby klienci unikali kopiowania poufnych danych na dyski systemu operacyjnego, jeśli w ich scenariuszach wymagane jest szyfrowanie CMK.

Jeśli zapora magazynu kluczy jest włączona w magazynie kluczy, w którym jest przechowywany klucz szyfrowania dysku, regionalne adresy IP dostawcy zasobów usługi HDInsight dla regionu, w którym zostanie wdrożony klaster, muszą zostać dodane do konfiguracji zapory magazynu kluczy. Jest to konieczne, ponieważ usługa HDInsight nie jest zaufaną usługą Azure Key Vault.

Za pomocą witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure można bezpiecznie obracać klucze w magazynie kluczy. Po rotacji klucza klaster usługi HDInsight rozpoczyna korzystanie z nowego klucza w ciągu kilku minut. Włącz funkcje ochrony kluczy usuwania nietrwałego, aby chronić przed scenariuszami wymuszania oprogramowania wymuszającego okup i przypadkowym usunięciem. Magazyny kluczy bez tej funkcji ochrony nie są obsługiwane.

Wprowadzenie do kluczy zarządzanych przez klienta

Aby utworzyć klaster usługi HDInsight z obsługą klucza zarządzanego przez klienta, wykonaj następujące kroki:

  1. Tworzenie tożsamości zarządzanych dla zasobów platformy Azure
  2. Tworzenie usługi Azure Key Vault
  3. Tworzenie klucza
  4. Tworzenie zasad dostępu
  5. Tworzenie klastra usługi HDInsight z włączonym kluczem zarządzanym przez klienta
  6. Obracanie klucza szyfrowania

Każdy krok jest szczegółowo opisany w jednej z poniższych sekcji.

Tworzenie tożsamości zarządzanych dla zasobów platformy Azure

Utwórz tożsamość zarządzaną przypisaną przez użytkownika w celu uwierzytelnienia w usłudze Key Vault.

Aby uzyskać szczegółowe instrukcje, zobacz Tworzenie tożsamości zarządzanej przypisanej przez użytkownika. Aby uzyskać więcej informacji na temat sposobu działania tożsamości zarządzanych w usłudze Azure HDInsight, zobacz Tożsamości zarządzane w usłudze Azure HDInsight. Pamiętaj, aby zapisać identyfikator zasobu tożsamości zarządzanej podczas dodawania go do zasad dostępu usługi Key Vault.

Tworzenie usługi Azure Key Vault

Tworzenie magazynu kluczy. Aby uzyskać szczegółowe instrukcje, zobacz Tworzenie usługi Azure Key Vault .

Usługa HDInsight obsługuje tylko usługę Azure Key Vault. Jeśli masz własny magazyn kluczy, możesz zaimportować klucze do usługi Azure Key Vault. Pamiętaj, że magazyn kluczy musi mieć włączone usuwanie nietrwałe. Aby uzyskać więcej informacji na temat importowania istniejących kluczy, zobacz Informacje o kluczach, wpisach tajnych i certyfikatach.

Tworzenie klucza

  1. W nowym magazynie kluczy przejdź do pozycji Ustawienia> Klucze>+ Generuj/Importuj.

    Generate a new key in Azure Key Vault.

  2. Podaj nazwę, a następnie wybierz pozycję Utwórz. Zachowaj domyślny typklucza RSA.

    generates key name.

  3. Po powrocie do strony Klucze wybierz utworzony klucz.

    key vault key list.

  4. Wybierz wersję, aby otworzyć stronę Wersja klucza. Jeśli używasz własnego klucza do szyfrowania klastra usługi HDInsight, musisz podać identyfikator URI klucza. Skopiuj identyfikator klucza i zapisz go w dowolnym miejscu do momentu, aż wszystko będzie gotowe do utworzenia klastra.

    get key identifier.

Tworzenie zasad dostępu

  1. W nowym magazynie kluczy przejdź do pozycji Ustawienia> Zasady> dostępu+ Dodaj zasady dostępu.

    Create new Azure Key Vault access policy.

  2. Na stronie Dodawanie zasad dostępu podaj następujące informacje:

    Właściwości opis
    Uprawnienia klucza Wybierz pozycję Pobierz, Odpakuj klucz i Zawij klucz.
    Uprawnienia wpisu tajnego Wybierz pozycję Pobierz, Ustaw i Usuń.
    Wybierz podmiot zabezpieczeń Wybierz utworzoną wcześniej tożsamość zarządzaną przypisaną przez użytkownika.

    Set Select Principal for Azure Key Vault access policy.

  3. Wybierz opcję Dodaj.

  4. Wybierz pozycję Zapisz.

    Save Azure Key Vault access policy.

Tworzenie klastra przy użyciu szyfrowania dysku klucza zarządzanego przez klienta

Teraz możesz utworzyć nowy klaster usługi HDInsight. Klucze zarządzane przez klienta można stosować tylko do nowych klastrów podczas tworzenia klastra. Nie można usunąć szyfrowania z klastrów kluczy zarządzanych przez klienta, a klucze zarządzane przez klienta nie mogą być dodawane do istniejących klastrów.

Począwszy od wersji z listopada 2020 r., usługa HDInsight obsługuje tworzenie klastrów przy użyciu identyfikatorów URI z wersjami i bez wersji. Jeśli utworzysz klaster z identyfikatorem URI klucza bez wersji, klaster usługi HDInsight spróbuje wykonać automatyczną rotację kluczy po zaktualizowaniu klucza w usłudze Azure Key Vault. Jeśli utworzysz klaster z identyfikatorem URI klucza w wersji, musisz wykonać ręczną rotację kluczy zgodnie z opisem w temacie Rotacja klucza szyfrowania.

W przypadku klastrów utworzonych przed wydaniem z listopada 2020 r. należy ręcznie przeprowadzić rotację kluczy przy użyciu identyfikatora URI klucza w wersji.

Typy maszyn wirtualnych, które obsługują szyfrowanie dysków

Rozmiar Procesor wirtualny Pamięć: GiB
Standard_D4a_v4 100 16
Standard_D8a_v4 8 32
Standard_D16a_v4 16 64
Standard_D32a_v4 32 128
Standard_D48a_v4 48 192
Standard_D64a_v4 64 256
Standard_D96a_v4 96 384
Standard_E64is_v3 64 432
Standard_E20s_V3 20 160
Standard_E2s_V3 2 16
Standard_E2a_v4 2 16
Standard_E4a_v4 100 32
Standard_E8a_v4 8 64
Standard_E16a_v4 16 128
Standard_E20a_v4 20 160
Standard_E32a_v4 32 256
Standard_E48a_v4 48 384
Standard_E64a_v4 64 512
Standard_E96a_v4 96 672
Standardowa_DS3_v2 100 14
Standardowa_DS4_v2 8 28
Standardowa_DS5_v2 16 56
Standardowa_DS12_v2 100 28
Standardowa_DS13_v2 8 56
Standardowa_DS14_v2 16 112

Korzystanie z witryny Azure Portal

Podczas tworzenia klastra można użyć klucza w wersji lub klucza bez wersji w następujący sposób:

  • Wersja — podczas tworzenia klastra podaj pełny identyfikator klucza, w tym wersję klucza. Na przykład https://contoso-kv.vault.azure.net/keys/myClusterKey/46ab702136bc4b229f8b10e8c2997fa4.
  • Bez wersji — podczas tworzenia klastra podaj tylko identyfikator klucza. Na przykład https://contoso-kv.vault.azure.net/keys/myClusterKey.

Należy również przypisać tożsamość zarządzaną do klastra.

Create new cluster.

Korzystanie z interfejsu wiersza polecenia platformy Azure

W poniższym przykładzie pokazano, jak za pomocą interfejsu wiersza polecenia platformy Azure utworzyć nowy klaster Apache Spark z włączonym szyfrowaniem dysków. Aby uzyskać więcej informacji, zobacz interfejs wiersza polecenia platformy Azure az hdinsight create. Parametr encryption-key-version jest opcjonalny.

az hdinsight create -t spark -g MyResourceGroup -n MyCluster \
-p "HttpPassword1234!" --workernode-data-disks-per-node 2 \
--storage-account MyStorageAccount \
--encryption-key-name SparkClusterKey \
--encryption-key-version 00000000000000000000000000000000 \
--encryption-vault-uri https://MyKeyVault.vault.azure.net \
--assign-identity MyMSI

Korzystanie z szablonów usługi Azure Resource Manager

W poniższym przykładzie pokazano, jak za pomocą szablonu usługi Azure Resource Manager utworzyć nowy klaster Apache Spark z włączonym szyfrowaniem dysków. Aby uzyskać więcej informacji, zobacz Co to są szablony usługi ARM?. Właściwość diskEncryptionKeyVersion szablonu usługi Resource Manager jest opcjonalna.

W tym przykładzie użyto programu PowerShell do wywołania szablonu.

$templateFile = "azuredeploy.json"
$ResourceGroupName = "MyResourceGroup"
$clusterName = "MyCluster"
$password = ConvertTo-SecureString 'HttpPassword1234!' -AsPlainText -Force
$diskEncryptionVaultUri = "https://MyKeyVault.vault.azure.net"
$diskEncryptionKeyName = "SparkClusterKey"
$diskEncryptionKeyVersion = "00000000000000000000000000000000"
$managedIdentityName = "MyMSI"

New-AzResourceGroupDeployment `
  -Name mySpark `
  -TemplateFile $templateFile `
  -ResourceGroupName $ResourceGroupName `
  -clusterName $clusterName `
  -clusterLoginPassword $password `
` -sshPassword $password `
  -diskEncryptionVaultUri $diskEncryptionVaultUri `
  -diskEncryptionKeyName $diskEncryptionKeyName `
  -diskEncryptionKeyVersion $diskEncryptionKeyVersion `
  -managedIdentityName $managedIdentityName

Zawartość szablonu zarządzania zasobami: azuredeploy.json

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "0.9.0.0",
  "parameters": {
    "clusterName": {
      "type": "string",
      "metadata": {
        "description": "The name of the HDInsight cluster to create."
      }
    },
    "clusterLoginUserName": {
      "type": "string",
      "defaultValue": "admin",
      "metadata": {
        "description": "These credentials can be used to submit jobs to the cluster and to log into cluster dashboards."
      }
    },
    "clusterLoginPassword": {
      "type": "securestring",
      "metadata": {
        "description": "The password must be at least 10 characters in length and must contain at least one digit, one non-alphanumeric character, and one upper or lower case letter."
      }
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]",
      "metadata": {
        "description": "The location where all azure resources will be deployed."
      }
    },
    "sshUserName": {
      "type": "string",
      "defaultValue": "sshuser",
      "metadata": {
        "description": "These credentials can be used to remotely access the cluster."
      }
    },
    "sshPassword": {
      "type": "securestring",
      "metadata": {
        "description": "The password must be at least 10 characters in length and must contain at least one digit, one non-alphanumeric character, and one upper or lower case letter."
      }
    },
    "headNodeSize": {
      "type": "string",
      "defaultValue": "Standard_D12_v2",
      "metadata": {
        "description": "The VM size of the head nodes."
      }
    },
    "workerNodeSize": {
      "type": "string",
      "defaultValue": "Standard_D13_v2",
      "metadata": {
        "description": "The VM size of the worker nodes."
      }
    },
    "diskEncryptionVaultUri": {
      "type": "string",
      "metadata": {
        "description": "The Key Vault DNSname."
      }
    },
    "diskEncryptionKeyName": {
      "type": "string",
      "metadata": {
        "description": "The Key Vault key name."
      }
    },
    "diskEncryptionKeyVersion": {
      "type": "string",
      "metadata": {
        "description": "The Key Vault key version for the selected key."
      }
    },
    "managedIdentityName": {
      "type": "string",
      "metadata": {
        "description": "The user-assigned managed identity."
      }
    }
  },
  "variables": {
    "defaultStorageAccount": {
      "name": "[uniqueString(resourceGroup().id)]",
      "type": "Standard_LRS"
    }
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "name": "[variables('defaultStorageAccount').name]",
      "location": "[parameters('location')]",
      "apiVersion": "2019-06-01",
      "sku": {
        "name": "[variables('defaultStorageAccount').type]"
      },
      "kind": "Storage",
      "properties": {}
    },
    {
      "apiVersion": "2018-06-01-preview",
      "name": "[parameters('clusterName')]",
      "type": "Microsoft.HDInsight/clusters",
      "location": "[parameters('location')]",
      "properties": {
        "clusterVersion": "3.6",
        "osType": "Linux",
        "tier": "standard",
        "clusterDefinition": {
          "kind": "spark",
          "componentVersion": {
            "Spark": "2.3"
          },
          "configurations": {
            "gateway": {
              "restAuthCredential.isEnabled": true,
              "restAuthCredential.username": "[parameters('clusterLoginUserName')]",
              "restAuthCredential.password": "[parameters('clusterLoginPassword')]"
            }
          }
        },
        "storageProfile": {
          "storageaccounts": [
            {
              "name": "[replace(replace(reference(resourceId('Microsoft.Storage/storageAccounts', variables('defaultStorageAccount').name), '2019-06-01').primaryEndpoints.blob,'https://',''),'/','')]",
              "isDefault": true,
              "container": "[parameters('clusterName')]",
              "key": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('defaultStorageAccount').name), '2019-06-01').keys[0].value]"
            }
          ]
        },
        "computeProfile": {
          "roles": [
            {
              "name": "headnode",
              "minInstanceCount": 1,
              "targetInstanceCount": 2,
              "hardwareProfile": {
                "vmSize": "[parameters('headNodeSize')]"
              },
              "osProfile": {
                "linuxOperatingSystemProfile": {
                  "username": "[parameters('sshUserName')]",
                  "password": "[parameters('sshPassword')]"
                },
              },
            },
            {
              "name": "workernode",
              "targetInstanceCount": 1,
              "hardwareProfile": {
                "vmSize": "[parameters('workerNodeSize')]"
              },
              "osProfile": {
                "linuxOperatingSystemProfile": {
                  "username": "[parameters('sshUserName')]",
                  "password": "[parameters('sshPassword')]"
                },
              },
            }
          ]
        },
        "minSupportedTlsVersion": "1.2",
        "diskEncryptionProperties": {
          "vaultUri": "[parameters('diskEncryptionVaultUri')]",
          "keyName": "[parameters('diskEncryptionKeyName')]",
          "keyVersion": "[parameters('diskEncryptionKeyVersion')]",
          "msiResourceId": "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/', parameters('managedIdentityName'))]"
        }
      },
      "identity": {
        "type": "UserAssigned",
        "userAssignedIdentities": {
          "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/', parameters('managedIdentityName'))]": {}
        }
      }
    }
  ]
}

Obracanie klucza szyfrowania

Klucze szyfrowania używane w uruchomionym klastrze można zmienić przy użyciu witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure. W przypadku tej operacji klaster musi mieć dostęp zarówno do bieżącego klucza, jak i zamierzonego nowego klucza. W przeciwnym razie operacja rotacji klucza zakończy się niepowodzeniem. W przypadku klastrów utworzonych po wydaniu z listopada 2020 r. możesz wybrać, czy chcesz, aby nowy klucz miał wersję, czy nie. W przypadku klastrów utworzonych przed wydaniem z listopada 2020 r. podczas rotacji klucza szyfrowania należy użyć klucza w wersji.

Korzystanie z witryny Azure Portal

Aby obrócić klucz, potrzebny jest podstawowy identyfikator URI magazynu kluczy. Po wykonaniu tej czynności przejdź do sekcji właściwości klastra usługi HDInsight w portalu i kliknij pozycję Zmień klucz w obszarze Adres URL klucza szyfrowania dysku. Wprowadź adres URL nowego klucza i prześlij go, aby obrócić klucz.

rotate disk encryption key.

Korzystanie z interfejsu wiersza polecenia platformy Azure

W poniższym przykładzie pokazano, jak obrócić klucz szyfrowania dysku dla istniejącego klastra usługi HDInsight. Aby uzyskać więcej informacji, zobacz interfejs wiersza polecenia platformy Azure az hdinsight rotate-disk-encryption-key.

az hdinsight rotate-disk-encryption-key \
--encryption-key-name SparkClusterKey \
--encryption-key-version 00000000000000000000000000000000 \
--encryption-vault-uri https://MyKeyVault.vault.azure.net \
--name MyCluster \
--resource-group MyResourceGroup

Często zadawane pytania dotyczące szyfrowania kluczy zarządzanych przez klienta

Jak klaster usługi HDInsight uzyskuje dostęp do magazynu kluczy?

Usługa HDInsight uzyskuje dostęp do wystąpienia usługi Azure Key Vault przy użyciu tożsamości zarządzanej skojarzonej z klastrem usługi HDInsight. Tę tożsamość zarządzaną można utworzyć przed utworzeniem klastra lub podczas jego tworzenia. Należy również udzielić tożsamości zarządzanej dostępu do magazynu kluczy, w którym jest przechowywany klucz.

Czy ta funkcja jest dostępna dla wszystkich klastrów w usłudze HDInsight?

Szyfrowanie kluczy zarządzanych przez klienta jest dostępne dla wszystkich typów klastrów z wyjątkiem platform Spark 2.1 i 2.2.

Czy można użyć wielu kluczy do szyfrowania różnych dysków lub folderów?

Nie, wszystkie dyski zarządzane i dyski zasobów są szyfrowane przy użyciu tego samego klucza.

Co się stanie, jeśli klaster utraci dostęp do magazynu kluczy lub klucza?

Jeśli klaster utraci dostęp do klucza, ostrzeżenia będą wyświetlane w portalu Apache Ambari. W tym stanie operacja Zmień klucz zakończy się niepowodzeniem. Po przywróceniu dostępu do klucza ostrzeżenia systemu Ambari odejdą, a operacje, takie jak rotacja kluczy, mogą zostać wykonane pomyślnie.

key access Ambari alert.

Jak mogę odzyskać klaster, jeśli klucze zostaną usunięte?

Ponieważ obsługiwane są tylko klucze włączone "Usuwanie nietrwałe", jeśli klucze są odzyskiwane w magazynie kluczy, klaster powinien odzyskać dostęp do kluczy. Aby odzyskać klucz usługi Azure Key Vault, zobacz Undo-AzKeyVaultKeyRemoval lub az-keyvault-key-recover.

Czy w przypadku skalowania klastra w górę nowe węzły będą bezproblemowo obsługiwać klucze zarządzane przez klienta?

Tak. Klaster musi mieć dostęp do klucza w magazynie kluczy podczas skalowania w górę. Ten sam klucz służy do szyfrowania dysków zarządzanych i dysków zasobów w klastrze.

Czy klucze zarządzane przez klienta są dostępne w mojej lokalizacji?

Klucze zarządzane przez klienta usługi HDInsight są dostępne we wszystkich chmurach publicznych i chmurach krajowych.

Szyfrowanie na hoście przy użyciu kluczy zarządzanych przez platformę

Włączanie w witrynie Azure Portal

Szyfrowanie na hoście można włączyć podczas tworzenia klastra w witrynie Azure Portal.

Uwaga

Po włączeniu szyfrowania na hoście nie można dodawać aplikacji do klastra usługi HDInsight z witryny Azure Marketplace.

Enable encryption at host.

Ta opcja umożliwia szyfrowanie na hoście dla tymczasowych dysków danych maszyn wirtualnych usługi HDInsight przy użyciu klucza PMK. Szyfrowanie na hoście jest obsługiwane tylko w przypadku niektórych jednostek SKU maszyn wirtualnych w ograniczonych regionach , a usługa HDInsight obsługuje następującą konfigurację węzła i jednostki SKU.

Aby zrozumieć odpowiedni rozmiar maszyny wirtualnej dla klastra usługi HDInsight, zobacz Wybieranie odpowiedniego rozmiaru maszyny wirtualnej dla klastra usługi Azure HDInsight. Domyślna jednostka SKU maszyny wirtualnej dla węzła Zookeeper po włączeniu szyfrowania na hoście to DS2V2.

Włączanie przy użyciu programu PowerShell

Poniższy fragment kodu pokazuje, jak utworzyć nowy klaster usługi Azure HDInsight z szyfrowaniem na hoście włączonym przy użyciu programu PowerShell. Używa parametru -EncryptionAtHost $true , aby włączyć tę funkcję.

$storageAccountResourceGroupName = "Group"
$storageAccountName = "yourstorageacct001"
$storageAccountKey = Get-AzStorageAccountKey `
    -ResourceGroupName $storageAccountResourceGroupName `
    -Name $storageAccountName | %{ $_.Key1 }
$storageContainer = "container002"
# Cluster configuration info
$location = "East US 2"
$clusterResourceGroupName = "Group"
$clusterName = "your-hadoop-002"
$clusterCreds = Get-Credential
# If the cluster's resource group doesn't exist yet, run:
# New-AzResourceGroup -Name $clusterResourceGroupName -Location $location
# Create the cluster
New-AzHDInsightCluster `
    -ClusterType Hadoop `
    -ClusterSizeInNodes 4 `
    -ResourceGroupName $clusterResourceGroupName `
    -ClusterName $clusterName `
    -HttpCredential $clusterCreds `
    -Location $location `
    -DefaultStorageAccountName "$storageAccountName.blob.core.contoso.net" `
    -DefaultStorageAccountKey $storageAccountKey `
    -DefaultStorageContainer $storageContainer `
    -SshCredential $clusterCreds `
    -EncryptionAtHost $true `

Włączanie przy użyciu interfejsu wiersza polecenia platformy Azure

Poniższy fragment kodu przedstawia sposób tworzenia nowego klastra usługi Azure HDInsight z włączonym szyfrowaniem na hoście przy użyciu interfejsu wiersza polecenia platformy Azure. Używa parametru --encryption-at-host true , aby włączyć tę funkcję.

az hdinsight create -t spark -g MyResourceGroup -n MyCluster \\
-p "yourpass" \\
--storage-account MyStorageAccount --encryption-at-host true

Następne kroki