تشفير مزدوج Azure HDInsight للبيانات الثابتة في وضع الراحة

تتناول هذه المقالة طرق تشفير للبيانات الثابتة في مجموعات Azure HDInsight. يشير تشفير للبيانات الثابتة إلى التشفير على الأقراص المُدارة (أقراص البيانات وأقراص نظام التشغيل والأقراص المؤقتة) المرفقة بالأجهزة الافتراضية لمجموعة HDInsight.

لا يعالج هذا المستند البيانات المخزنة في حساب تخزين Azure الخاص بك. قد تحتوي المجموعات الخاصة بك على واحد أو أكثر من حسابات Azure Storage المرفقة حيث يمكن أيضاً أن تكون مفاتيح التشفير مُدارة من قِبل Microsoft أو مُدارة بواسطة العميل، ولكن خدمة التشفير مختلفة. لمزيد من المعلومات حول تشفير Azure Storage، راجع تشفير Azure Storage للبيانات الثابتة.

مقدمة

هناك ثلاثة أدوار رئيسية مُدارة للقرص في Azure: قرص البيانات، وقرص نظام التشغيل، والقرص المؤقت. لمزيد من المعلومات حول الأنواع المختلفة من الأقراص المُدارة، راجع مقدمة حول أقراص Azure المُدارة.

يدعم HDInsight أنواعاً متعددة من التشفير في طبقتين مختلفتين:

  • التشفير من جانب الخادم (SSE) - يتم تنفيذ SSE بواسطة خدمة التخزين. في HDInsight، يتم استخدام SSE لتشفير أقراص نظام التشغيل وأقراص البيانات. يتم تمكينه بشكل افتراضي. SSE هي خدمة تشفير من الطبقة الأولى.
  • التشفير في المضيف باستخدام المفتاح المُدار بواسطة النظام الأساسي - على غرار SSE، يُنَفَّذ هذا النوع من التشفير بواسطة خدمة التخزين. ومع ذلك، فهو مخصص فقط للأقراص المؤقتة ولا يتم تمكينه افتراضيَّا. التشفير في المضيف هو أيضاً خدمة تشفير من الطبقة الأولى.
  • التشفير في حالة عدم التشغيل باستخدام المفتاح المُدار بواسطة العميل - يمكن استخدام هذا النوع من التشفير على البيانات والأقراص المؤقتة. لم يتم تمكينه افتراضيَّا ويتطلب من العميل توفير مفتاحه الخاص من خلال مخزن مفاتيح Azure. التشفير الساكن هو خدمة تشفير من الطبقة الثانية.

تُلَخَّص هذه الأنواع في الجدول التالي.

نوع شبكة نظام المجموعة قرص نظام التشغيل (القرص المُدار) قرص البيانات (القرص المُدار) قرص بيانات مؤقت (SSD محلي)
كافكا، HBase with Accelerated يكتب الطبقة 1: تشفير SSE بشكل افتراضي الطبقة 1: تشفير SSE بشكل افتراضي، الطبقة 2: التشفير الاختياري في حالة الثبات باستخدام CMK الطبقة 1: التشفير الاختياري في المضيف باستخدام PMK، الطبقة 2: التشفير الاختياري في حالة الراحة باستخدام CMK
جميع المجموعات الأخرى (Spark وInteractive وHadoop وHBase بدون عمليات الكتابة السريعة) الطبقة 1: تشفير SSE بشكل افتراضي ‏‫غير متوفر‬ الطبقة 1: التشفير الاختياري في المضيف باستخدام PMK، الطبقة 2: التشفير الاختياري في حالة الراحة باستخدام CMK

التشفير في حالة سكون باستخدام مفاتيح يديرها العميل

تشفير المفتاح الذي يديره العميل هو عملية من خطوة واحدة يتم التعامل معها أثناء إنشاء المجموعة دون أي تكلفة إضافية. كل ما عليك فعله هو تفويض هوية مُدارة باستخدام Azure Key Vault وإضافة مفتاح التشفير عند إنشاء المجموعة الخاصة بك.

يتم تشفير كل من أقراص البيانات والأقراص المؤقتة الموجودة على كل عقدة في الكتلة باستخدام مفتاح تشفير بيانات متماثل (DEK). تتم حماية DEK باستخدام مفتاح تشفير المفتاح (KEK) من خزنة المفاتيح الخاصة بك. تتم معالجة عمليات التشفير وفك التشفير بالكامل بواسطة Azure HDInsight.

بالنسبة لأقراص نظام التشغيل المتصلة بالعنقود VMs، تتوفر طبقة واحدة فقط من التشفير (PMK). من المستحسن أن يتجنب العملاء نسخ البيانات الحساسة إلى أقراص نظام التشغيل إذا كان وجود تشفير CMK مطلوباً لسيناريوهاتهم.

إذا تم تمكين جدار الحماية للمخزن الرئيسي في خزنة المفاتيح حيث يتم تخزين مفتاح تشفير القرص، فيجب إضافة عناوين IP لموفر الموارد الإقليمي لـ HDInsight للمنطقة التي سيتم فيها نشر المجموعة إلى تكوين جدار حماية الخزنة الرئيسة. يعد هذا ضروريّاً لأن HDInsight ليست خدمة خزينة مفاتيح Azure موثوقة.

يمكنك استخدام مدخل Microsoft Azure أو Azure CLI لتدوير المفاتيح بأمان في مخزن المفاتيح. عندما يدور أحد المفاتيح، تبدأ مجموعة HDInsight في استخدام المفتاح الجديد في غضون دقائق. تمكين ميزات الحماية الرئيسية Soft Delete للحماية من سيناريوهات برامج الفدية والحذف العرضي. خزائن المفاتيح بدون ميزة الحماية هذه غير مدعومة.

ابدأ باستخدام المفاتيح التي يديرها العميل

لإنشاء مجموعة HDInsight التي يتم إدارتها بواسطة العميل، سننتقل إلى الخطوات التالية:

  1. إنشاء هويات مُدارة لموارد Azure
  2. إنشاء Azure Key Vault
  3. إنشاء مفتاح
  4. إنشاء نهج الوصول
  5. أنشئ مجموعة HDInsight مع تمكين المفتاح الذي يديره العميل
  6. تدوير مفتاح التشفير

يشرح كل خطوة في أحد الأقسام التالية بالتفصيل.

إنشاء هويات مُدارة لموارد Azure

أنشئ هوية مُدارة يعينها المستخدم للمصادقة على Key Vault.

راجع إنشاء هوية مُدارة يعينها المستخدم للحصول على خطوات محددة. لمزيد من المعلومات حول كيفية عمل الهويات المُدارة في Azure HDInsight، راجع الهويات المُدارة في Azure HDInsight. تأكد من حفظ معرف مورد الهوية المُدار عند إضافته إلى نهج الوصول إلى Key Vault.

إنشاء Azure Key Vault

إنشاء مخزن رئيسي. راجع إنشاء Azure Key Vault للحصول على خطوات محددة.

HDInsight يدعم Azure Key Vault فقط. إذا كان لديك مخزن مفاتيح خاص بك، فيمكنك استيراد مفاتيحك إلى Azure Key Vault. تذكر أنه يجب تمكين حذف بسيط في مخزن المفاتيح. لمزيد من المعلومات حول استيراد المفاتيح الحالية، تفضل بزيارة حول المفاتيح والأسرار والشهادات.

إنشاء مفتاح

  1. من مخزن المفاتيح الجديد، انتقل إلى الإعدادات>المفاتيح > + إنشاء / استيراد.

    إنشاء مفتاح جديد في Azure Key Vault.

  2. أدخل اسماً، ثم حدد Create. احتفظ بـ نوع المفتاح الافتراضي لـ RSA.

    ينشئ اسم المفتاح.

  3. عندما تعود إلى صفحة المفاتيح، حدد المفتاح الذي قمت بإنشائه.

    قائمة مفاتيح key vault.

  4. حدد الإصدار لفتح صفحة الإصدار الرئيسي. عند استخدام المفتاح الخاص بك لتشفير مجموعة HDInsight، فإنك تحتاج إلى توفير عنوان URI الرئيس. انسخ معرّف المفتاح واحفظه في مكان ما حتى تصبح جاهزاً لإنشاء مجموعتك.

    الحصول على معرف المفتاح.

إنشاء نهج الوصول

  1. من مخزن المفاتيح الجديد، انتقل إلى Settings> نُهج الوصول > + إضافة نهج الوصول.

    إنشاء نهج وصول Azure Key Vault جديد.

  2. من صفحة إضافة نهج الوصول، قدم المعلومات التالية:

    الخاصية ‏‏الوصف
    أذونات المفتاح حدد Get، Unwrap Key وWrap Key.
    أذونات سرية حدد Get، Set وDelete.
    حدد كيان حدد الهوية التي يديرها المستخدم والتي أنشأتها مسبقاً.

    تعيين Select Principal لنهج الوصول إلى Azure Key Vault.

  3. حدد إضافة.

  4. حدد حفظ.

    حفظ نهج الوصول إلى Azure Key Vault.

إنشاء مجموعة مع تشفير القرص الرئيس الذي يديره العميل

أنت الآن جاهز لإنشاء مجموعة HDInsight جديدة. لا يمكن تطبيق المفاتيح التي يديرها العميل إلا على الكتل الجديدة أثناء إنشاء نظام المجموعة. لا يمكن إزالة التشفير من مجموعات المفاتيح المُدارة بواسطة العميل، ولا يمكن إضافة المفاتيح المُدارة بواسطة العميل إلى المجموعات الموجودة.

بدءاً من إصدار نوفمبر 2020، يدعم HDInsight إنشاء مجموعات باستخدام كل من URIs الرئيسة ذات الإصدار وغير الإصدار. إذا أنشأت المجموعة باستخدام مفتاح URI بدون إصدار، فستحاول مجموعة HDInsight إجراء التدوير التلقائي للمفتاح عند تحديث المفتاح في Azure Key Vault. إذا أنشأت المجموعة باستخدام عنوان URI لمفتاح إصدار، فسيتعين عليك إجراء تدوير يدوي للمفتاح كما تمت مناقشته في تدوير مفتاح التشفير.

بالنسبة إلى المجموعات التي أنشئت قبل إصدار نوفمبر 2020، سيتعين عليك إجراء تدوير المفتاح يدويّاً باستخدام مفتاح URI الذي تم إصداره.

أنواع الأجهزة الظاهرية التي تدعم تشفير القرص

الحجم vCPU الذاكرة: جيبي
Standard_D4a_v4 4 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 4 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
Standard_DS3_v2 4 14
Standard_DS4_v2 8 28
Standard_DS5_v2 16 56
Standard_DS12_v2 4 28
Standard_DS13_v2 8 56
Standard_DS14_v2 16 112

استخدام مدخل Microsoft Azure

أثناء إنشاء المجموعة، يمكنك إما استخدام مفتاح ذي إصدار أو مفتاح بدون إصدار بالطريقة التالية:

  • إصدار - أثناء إنشاء المجموعة، قم بتوفير معرّف المفتاح الكامل، بما في ذلك إصدار المفتاح. على سبيل المثال، https://contoso-kv.vault.azure.net/keys/myClusterKey/46ab702136bc4b229f8b10e8c2997fa4
  • بدون إصدار - أثناء إنشاء المجموعة، قدم معرّف المفتاح فقط. على سبيل المثال، https://contoso-kv.vault.azure.net/keys/myClusterKey

تحتاج أيضاً إلى تعيين الهوية المُدارة إلى نظام المجموعة.

إنشاء نظام مجموعة جديد.

استخدام Azure CLI

يوضح المثال التالي كيفية استخدام Azure CLI لإنشاء مجموعة Apache Spark جديدة مع تمكين تشفير القرص. لمزيد من المعلومات، راجع إنشاء Azure CLI az hdinsight. المعلمة encryption-key-version اختيارية.

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

استخدام قوالب Azure Resource Manager

يوضح المثال التالي كيفية استخدام قالب Azure Resource Manager لإنشاء مجموعة Apache Spark جديدة مع تمكين تشفير القرص. لمزيد من المعلومات، راجع ما هي قوالب ARM؟. خاصية قالب مدير الموارد diskEncryptionKeyVersion اختيارية.

يستخدم هذا المثال PowerShell لاستدعاء القالب.

$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

محتويات نموذج إدارة الموارد،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'))]": {}
        }
      }
    }
  ]
}

تدوير مفتاح التشفير

يمكنك تغيير مفاتيح التشفير المستخدمة في نظام المجموعة قيد التشغيل، باستخدام مدخل Microsoft Azure أو Azure CLI. بالنسبة لهذه العملية، يجب أن يكون لدى المجموعة حق الوصول إلى كل من المفتاح الحالي والمفتاح الجديد المقصود، وإلا فستفشل عملية تدوير المفتاح. بالنسبة للمجموعات التي تم إنشاؤها بعد إصدار نوفمبر 2020، يمكنك اختيار ما إذا كنت تريد أن يكون لديك إصدار أم لا. بالنسبة إلى المجموعات التي أُنْشئت قبل إصدار نوفمبر 2020، يجب عليك استخدام مفتاح ذي إصدار عند تدوير مفتاح التشفير.

استخدام مدخل Microsoft Azure

لتدوير المفتاح، تحتاج إلى URI للمفتاح الأساسي. بمجرد القيام بذلك، انتقل إلى قسم خصائص مجموعة HDInsight في المدخل وانقر على Change Key ضمن عنوان URL لمفتاح تشفير القرص. أدخل عنوان url الجديد وأرسله لتدوير المفتاح.

تدوير مفتاح تشفير القرص.

استخدام Azure CLI

يوضح المثال التالي كيفية تدوير مفتاح تشفير القرص لمجموعة HDInsight موجودة. لمزيد من المعلومات، راجع Azure CLI 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

التعليمات الخاصة بتشفير المفتاح الذي يديره العميل

كيف تصل مجموعة HDInsight إلى مخزن المفاتيح الخاص بي؟

يصل HDInsight إلى مثيل Azure Key Vault الخاص بك باستخدام الهوية المُدارة التي تربطها بمجموعة HDInsight. يمكن إنشاء هذه الهوية المدارة قبل أو أثناء إنشاء نظام المجموعة. تحتاج أيضاً إلى منح هوية مُدارة حق الوصول إلى خزنة المفاتيح حيث يتم تخزين المفتاح.

هل هذه الميزة متاحة لجميع المجموعات على HDInsight؟

يتوفر تشفير المفتاح الذي يديره العميل لجميع أنواع المجموعات باستثناء Spark 2.1 و2.2.

هل يمكنني استخدام مفاتيح متعددة لتشفير أقراص أو مجلدات مختلفة؟

لا، يتم تشفير كافة الأقراص المُدارة وأقراص الموارد بنفس المفتاح.

ماذا يحدث إذا فقدت المجموعة الوصول إلى خزنة المفاتيح أو المفتاح؟

إذا فقدت المجموعة الوصول إلى المفتاح، فسيتم عرض التحذيرات في بوابة Apache Ambari. في هذه الحالة، ستفشل عملية تغيير المفتاح. بمجرد استعادة الوصول إلى المفتاح، ستختفي تحذيرات Ambari ويمكن إجراء عمليات مثل تدوير المفتاح بنجاح.

تنبيه Ambari للوصول الرئيسي.

كيف يمكنني استعادة المجموعة إذا تم حذف المفاتيح؟

نظراً لأنه يتم دعم المفاتيح الممكّنة "الحذف الناعم" فقط، إذا تم استرداد المفاتيح في خزنة المفاتيح، يجب أن تستعيد المجموعة الوصول إلى المفاتيح. لاستعادة مفتاح Azure Key Vault، راجع Undo-AzKeyVaultKeyRemoval أو az-keyvault-key-recovery.

إذا تم توسيع نطاق المجموعة، فهل ستدعم العقد الجديدة المفاتيح التي يديرها العميل بسلاسة؟

نعم. تحتاج المجموعة إلى الوصول إلى المفتاح الموجود في الخزنة الرئيسية أثناء توسيع النطاق. يتم استخدام نفس المفتاح لتشفير كل من الأقراص المُدارة وأقراص الموارد في الكتلة.

هل المفاتيح المُدارة بواسطة العميل متاحة في موقعي؟

تتوفر مفاتيح HDInsight المُدارة بواسطة العملاء في جميع السحابات العامة والسحب الوطنية.

التشفير في المضيف باستخدام المفاتيح المُدارة بواسطة النظام الأساسي

تمكين في مدخل Microsoft Azure

يمكن تمكين التشفير عند المضيف أثناء إنشاء الكتلة في مدخل Microsoft Azure.

إشعار

عند تمكين التشفير في المضيف، لا يمكنك إضافة تطبيقات إلى مجموعة HDInsight من سوق Azure.

تمكين التشفير عند المضيف.

يتيح هذا الخيار التشفير في المضيف لأقراص البيانات المؤقتة HDInsight VMs باستخدام PMK. التشفير في المضيف مدعوم فقط في بعض وحدات SKU للأجهزة الافتراضية في مناطق محدودة ويدعم HDInsight تكوين العقدة التالية ووحدات SKU.

لفهم حجم الجهاز الظاهري المناسب لمجموعة HDInsight، راجع تحديد حجم الجهاز الظاهري المناسب لمجموعة Azure HDInsight. سيكون VM SKU الافتراضي لعقدة Zookeeper عند تمكين التشفير عند المضيف هو DS2V2.

تمكين استخدام PowerShell

توضح القصاصة البرمجية الآتية كيف يمكنك إنشاء مجموعة Azure HDInsight جديدة تم تمكين التعليمة البرمجية في المضيف باستخدام PowerShell. يستخدم المعلمة -EncryptionAtHost $true لتمكين الميزة.

$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 `

تفعيل استخدام Azure CLI

توضح القصاصة البرمجية الآتية كيف يمكنك إنشاء مجموعة Azure HDInsight جديدة تم تمكين التعليمة البرمجية في المضيف باستخدام Azure CLI. يستخدم المعلمة --encryption-at-host true لتمكين الميزة.

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

الخطوات التالية