إدارة الشهادات في Azure Automation
يخزن Azure Automation الشهادات بشكل آمن للوصول إليها بواسطة دفاتر التشغيل وتكوينات DSC، باستخدام Get-AzAutomationCertificate cmdlet لموارد Azure Resource Manager. تسمح لك سعة تخزين الشهادات الآمنة بإنشاء دفاتر التشغيل وتكوينات DSC التي تستخدم الشهادات للمصادقة، أو إضافتها إلى موارد Azure أو موارد الجهات الخارجية.
إشعار
تتضمن الأصول الآمنة في Azure Automation بيانات الاعتماد والشهادات والاتصالات والمتغيرات المشفرة. يتم تشفير هذه الأصول وتخزينها في التنفيذ باستخدام مفتاح فريد يتم إنشاؤه لكل حساب Automation. تخزن Automation المفتاح في خدمة Key Vault المدارة من قبل النظام. قبل تخزين أحد الأصول الآمنة، تقوم Automation بتحميل المفتاح من Key Vault، ثم تستخدمه لتشفير الأصل.
PowerShell cmdlets للوصول إلى الشهادات
تؤدي cmdlets في الجدول التالي إلى إنشاء وإدارة شهادات Automation مع PowerShell. يتم شحنه كجزء من وحدات Az.
Cmdlet | الوصف |
---|---|
الحصول على AzAutomationCertificate | استرداد معلومات حول شهادة لاستخدامها في تكوين دفتر تشغيل أو DSC. يمكنك استرداد الشهادة نفسها فقط باستخدام cmdlet الداخلي Get-AutomationCertificate . |
New-AzAutomationCertificate | إنشاء شهادة جديدة في Automation. |
Remove-AzAutomationCertificate | إزالة شهادة من Automation. |
Set-AzAutomationCertificate | تعيين خصائص شهادة موجودة، بما في ذلك تحميل ملف الشهادة وتعيين كلمة المرور لملف .pfx . |
يمكن أيضا استخدام Add-AzureCertificate cmdlet لتحميل شهادة خدمة للخدمة السحابية المحددة.
cmdlets داخلية للوصول إلى الشهادات
يتم استخدام cmdlet الداخلي في الجدول التالي للوصول إلى الشهادات في دفاتر التشغيل الخاصة بك. يأتي cmdlet هذا مع وحدة عامة Orchestrator.AssetManagement.Cmdlets
. لمزيد من المعلومات، راجع أوامر cmdlets الداخلية.
cmdlet الداخلي | الوصف |
---|---|
Get-AutomationCertificate |
الحصول على شهادة لاستخدامها في تكوين دفتر تشغيل أو DSC. إرجاع كائن System.Security.Cryptography.X509Certificates.X509Certificate2 . |
إشعار
يجب تجنب استخدام المتغيرات في المعلمة Name
في Get-AutomationCertificate
تكوين دفتر التشغيل أو DSC. يمكن أن تعقد هذه المتغيرات اكتشاف التبعيات بين دفاتر التشغيل أو تكوينات DSC ومتغيرات Automation في وقت التصميم.
وظائف Python للوصول إلى الشهادات
استخدم الدالة في الجدول التالي للوصول إلى الشهادات في دفتر تشغيل Python 2 و3. دفتر تشغيل Python 3 حاليًا قيد المعاينة.
الوظيفة | الوصف |
---|---|
automationassets.get_automation_certificate |
استرداد معلومات حول أصل الشهادة. |
إشعار
يجب استيراد الوحدة النمطية automationassets
في بداية دفتر تشغيل Python للوصول إلى وظائف الأصول.
إنشاء شهادة جديدة
عند إنشاء شهادة جديدة، تقوم بتحميل ملف.cer أو.pfx إلى Automation. إذا قمت بوضع علامة على الشهادة كقابلة للتصدير، فيمكنك نقلها من مخزن شهادات Automation. إذا لم تكن قابلة للتصدير، فلا يمكن استخدامها إلا للتوقيع داخل تكوين دفتر التشغيل أو DSC. تتطلب الأتمتة أن يكون لدى الشهادة موفر Microsoft Enhanced RSA وموفر تشفير AES.
إنشاء شهادة جديدة مع مدخل Azure
- من حساب Automation الخاص بك، في الجزء الأيمن حدد Certificates ضمن Shared Resource.
- في صفحة Certificates ، حدد Add a certificate.
- في حقل الاسم ، اكتب اسما للشهادة.
- للاستعراض بحثا عن ملف .cer أو .pfx ، ضمن تحميل ملف شهادة، اختر تحديد ملف. إذا قمت بتحديد ملف .pfx ، فحدد كلمة مرور ووضح ما إذا كان يمكن تصديرها. إذا كنت تستخدم مدخل Azure Automation لتحميل الشهادات، فقد يفشل لحسابات الشريك (CSP). نوصي باستخدام PowerShell cmdlets كحل بديل للتغلب على هذه المشكلة.
- حدد Create لحفظ أصل الشهادة الجديد.
إنشاء شهادة جديدة باستخدام PowerShell
يوضح المثال التالي كيفية إنشاء شهادة Automation جديدة ووضع علامة عليها قابلة للتصدير. يستورد هذا المثال ملف .pfx موجود.
$certificateName = 'MyCertificate'
$PfxCertPath = '.\MyCert.pfx'
$CertificatePassword = ConvertTo-SecureString -String 'P@$$w0rd' -AsPlainText -Force
$ResourceGroup = "ResourceGroup01"
New-AzAutomationCertificate -AutomationAccountName "MyAutomationAccount" -Name $certificateName -Path $PfxCertPath -Password $CertificatePassword -Exportable -ResourceGroupName $ResourceGroup
إنشاء شهادة جديدة باستخدام قالب إدارة الموارد
يوضح المثال التالي كيفية نشر شهادة إلى حساب التنفيذ باستخدام قالب إدارة الموارد من خلال PowerShell:
$AutomationAccountName = "<automation account name>"
$PfxCertPath = '<PFX cert path and filename>'
$CertificatePassword = '<password>'
$certificateName = '<certificate name>' #A name of your choosing
$ResourceGroupName = '<resource group name>' #The one that holds your automation account
$flags = [System.Security.Cryptography.X509Certificates.X509KeyStorageFlags]::Exportable `
-bor [System.Security.Cryptography.X509Certificates.X509KeyStorageFlags]::PersistKeySet `
-bor [System.Security.Cryptography.X509Certificates.X509KeyStorageFlags]::MachineKeySet
# Load the certificate into memory
$PfxCert = New-Object -TypeName System.Security.Cryptography.X509Certificates.X509Certificate2 -ArgumentList @($PfxCertPath, $CertificatePassword, $flags)
# Export the certificate and convert into base 64 string
$Base64Value = [System.Convert]::ToBase64String($PfxCert.Export([System.Security.Cryptography.X509Certificates.X509ContentType]::Pkcs12))
$Thumbprint = $PfxCert.Thumbprint
$json = @"
{
'`$schema': 'https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#',
'contentVersion': '1.0.0.0',
'resources': [
{
'name': '$AutomationAccountName/$certificateName',
'type': 'Microsoft.Automation/automationAccounts/certificates',
'apiVersion': '2015-10-31',
'properties': {
'base64Value': '$Base64Value',
'thumbprint': '$Thumbprint',
'isExportable': true
}
}
]
}
"@
$json | out-file .\template.json
New-AzResourceGroupDeployment -Name NewCert -ResourceGroupName $ResourceGroupName -TemplateFile .\template.json
الحصول على شهادة
لاسترداد شهادة، استخدم cmdlet الداخلي Get-AutomationCertificate
. لا يمكنك استخدام Get-AzAutomationCertificate cmdlet، لأنه يرجع معلومات حول أصل الشهادة، ولكن ليس الشهادة نفسها.
أمثلة لدفتر التشغيل النصي
يوضح المثال التالي كيفية إضافة شهادة إلى خدمة مجموعة النظراء في دفتر تشغيل. في هذه العينة، يتم استرداد كلمة المرور من متغير أتمتة مشفرة.
$serviceName = 'MyCloudService'
$cert = Get-AutomationCertificate -Name 'MyCertificate'
$certPwd = Get-AzAutomationVariable -ResourceGroupName "ResourceGroup01" `
-AutomationAccountName "MyAutomationAccount" -Name 'MyCertPassword'
Add-AzureCertificate -ServiceName $serviceName -CertToDeploy $cert
مثال دفتر التشغيل الرسومي
أضف نشاطا ل cmdlet الداخلي Get-AutomationCertificate
إلى دفتر تشغيل رسومي بالنقر بزر الماوس الأيمن فوق الشهادة في جزء المكتبة، وتحديد إضافة إلى اللوحة.
تعرض الصورة التالية مثالا لاستخدام شهادة في دفتر تشغيل رسومي.
الخطوات التالية
- لمعرفة المزيد حول cmdlets المستخدم للوصول إلى الشهادات، راجع إدارة الوحدات في Azure Automation.
- للحصول على معلومات عامة، راجع تنفيذ دفتر التشغيل في Azure Automation.
- للحصول على مزيدٍ من التفاصيل بشأن تكوينات DSC، راجع نظرة عامة حول تكوين حالة Azure Automation.
الملاحظات
https://aka.ms/ContentUserFeedback.
قريبًا: خلال عام 2024، سنتخلص تدريجيًا من GitHub Issues بوصفها آلية إرسال ملاحظات للمحتوى ونستبدلها بنظام ملاحظات جديد. لمزيد من المعلومات، راجعإرسال الملاحظات وعرضها المتعلقة بـ