تمكين التدوير التلقائي للشهادة في مجموعة الدُفعات

يمكنك إنشاء تجمع Batch بشهادة يمكن تجديدها تلقائيا. للقيام بذلك، يجب إنشاء مجموعتك بهوية مدارة معينة من قبل المستخدم لديها حق الوصول إلى الشهادة في Azure Key Vault.

إنشاء هوية يُعينها المستخدم

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

تأكد من تسجيل معرف العميل للهوية المدارة المعينة من قبل المستخدم. تحتاج هذه القيمة لاحقًا.

لقطة شاشة تظهر معرف العميل لهوية مُدارة معينة من قبل المستخدم في مدخل Microsoft Azure.

أنشئ شهادتك

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

عند إنشاء الشهادة، تأكد من تعيين نوع إجراء مدى الحياة للتجديد تلقائياً، وحدد عدد الأيام التي يجب تجديد الشهادة بعدها.

لقطة شاشة توضح شاشة إنشاء الشهادة في مدخل Microsoft Azure.

بعد إنشاء الشهادة، سجل المعرف السري الخاص بها. تحتاج هذه القيمة لاحقًا.

لقطة شاشة تعرض المعرف السري للشهادة.

إضافة نهج وصول في Azure Key Vault

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

إنشاء تجمع دفعات بهوية مدارة تم تعيينها من قبل المستخدم

أنشئ تجمع دفعات باستخدام الهوية المدارة باستخدام مكتبة إدارة Batch .NET. لمزيد من المعلومات، راجع تكوين الهويات المُدارة في تجمعات الدفعات.

تلميح

لا يمكن تحديث التجمعات الموجودة بملحق Key Vault VM. ستحتاج إلى إعادة إنشاء التجمع الخاص بك.

يستخدم المثال التالي واجهة برمجة تطبيقات REST لإدارة الدفعات لإنشاء تجمع. تأكد من استخدام المعرف السري للشهادة لـ observedCertificates ومعرف العميل لهويتك المدارة لـ msiClientId، لاستبدال مثال البيانات أدناه.

REST API URI

PUT https://management.azure.com/subscriptions/<subscriptionid>/resourceGroups/<resourcegroupName>/providers/Microsoft.Batch/batchAccounts/<batchaccountname>/pools/<poolname>?api-version=2021-01-01

نص الطلب لعقدة Linux

{
  "name": "test2",
  "type": "Microsoft.Batch/batchAccounts/pools",
  "properties": {
    "vmSize": "STANDARD_DS2_V2",
    "taskSchedulingPolicy": {
      "nodeFillType": "Pack"
    },
    "deploymentConfiguration": {
      "virtualMachineConfiguration": {
        "imageReference": {
          "publisher": "canonical",
          "offer": "ubuntuserver",
          "sku": "20.04-lts",
          "version": "latest"
        },
        "nodeAgentSkuId": "batch.node.ubuntu 20.04",
        "extensions": [
          {
            "name": "KVExtensions",
            "type": "KeyVaultForLinux",
            "publisher": "Microsoft.Azure.KeyVault",
            "typeHandlerVersion": "3.0",
            "autoUpgradeMinorVersion": true,
            "settings": {
              "secretsManagementSettings": {
                "pollingIntervalInS": "300",
                "certificateStoreLocation": "/var/lib/waagent/Microsoft.Azure.KeyVault",
                "requireInitialSync": true,
                "observedCertificates": [
                  "https://testkvwestus2s.vault.azure.net/secrets/authcertforumatesting/8f5f3f491afd48cb99286ba2aacd39af"
                ]
              },
              "authenticationSettings": {
                "msiEndpoint": "http://169.254.169.254/metadata/identity",
                "msiClientId": "b9f6dd56-d2d6-4967-99d7-8062d56fd84c"
              }
            }
          }
        ]
      }
    },
    "scaleSettings": {
      "fixedScale": {
        "targetDedicatedNodes": 1,
        "resizeTimeout": "PT15M"
      }
    }
  },
  "identity": {
    "type": "UserAssigned",
    "userAssignedIdentities": {
      "/subscriptions/042998e4-36dc-4b7d-8ce3-a7a2c4877d33/resourceGroups/ACR/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testumaforpools": {}
    }
  }
}

طلب النص الأساسي لعقدة Windows

{
    "name": "test2",
    "type": "Microsoft.Batch/batchAccounts/pools",
    "properties": {
        "vmSize": "STANDARD_DS2_V2",
        "taskSchedulingPolicy": {
            "nodeFillType": "Pack"
        },
        "deploymentConfiguration": {
            "virtualMachineConfiguration": {
                "imageReference": {
                    "publisher": "microsoftwindowsserver",
                    "offer": "windowsserver",
                    "sku": "2022-datacenter",
                    "version": "latest"
                },
                "nodeAgentSkuId": "batch.node.windows amd64",
                "extensions": [
                    {
                        "name": "KVExtensions",
                        "type": "KeyVaultForWindows",
                        "publisher": "Microsoft.Azure.KeyVault",
                        "typeHandlerVersion": "3.0",
                        "autoUpgradeMinorVersion": true,
                        "settings": {
                            "secretsManagementSettings": {
                                "pollingIntervalInS": "300",
                                "requireInitialSync": true,
                                "observedCertificates": [
                                    {
                                        "url": "https://testkvwestus2s.vault.azure.net/secrets/authcertforumatesting/8f5f3f491afd48cb99286ba2aacd39af",
                                        "certificateStoreLocation": "LocalMachine",
                                        "keyExportable": true
                                    }
                                ]
                            },
                            "authenticationSettings": {
                                "msiEndpoint": "http://169.254.169.254/metadata/identity",
                                "msiClientId": "b9f6dd56-d2d6-4967-99d7-8062d56fd84c"
                            }
                        },
                    }
               ]
            }
        },
        "scaleSettings": {
            "fixedScale": {
                "targetDedicatedNodes": 1,
                "resizeTimeout": "PT15M"
            }
        },
    },
    "identity": {
        "type": "UserAssigned",
        "userAssignedIdentities": {
            "/subscriptions/042998e4-36dc-4b7d-8ce3-a7a2c4877d33/resourceGroups/ACR/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testumaforpools": {}
        }
    }
}

التحقق من صحة الشهادة

للتأكد من نشر الشهادة بنجاح، سجل الدخول إلى عقدة الحساب. يجب أن ترى مخرجات مماثلة لما يلي:

root@74773db5fe1b42ab9a4b6cf679d929da000000:/var/lib/waagent/Microsoft.Azure.KeyVault.KeyVaultForLinux-1.0.1363.13/status# cat 1.status
[{"status":{"code":0,"formattedMessage":{"lang":"en","message":"Successfully started Key Vault extension service. 2021-03-03T23:12:23Z"},"operation":"Service start.","status":"success"},"timestampUTC":"2021-03-03T23:12:23Z","version":"1.0"}]root@74773db5fe1b42ab9a4b6cf679d929da000000:/var/lib/waagent/Microsoft.Azure.KeyVault.KeyVaultForLinux-1.0.1363.13/status#

استكشاف أخطاء ملحق Key Vault وإصلاحها

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

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