Mengelola sertifikat di Azure Automation
Azure Automation menyimpan sertifikat dengan aman untuk akses dengan runbook dan konfigurasi DSC, dengan menggunakan cmdlet Get-AzAutomationCertificate untuk sumber daya Azure Resource Manager. Penyimpanan sertifikat aman memungkinkan Anda membuat runbook dan konfigurasi DSC yang menggunakan sertifikat untuk autentikasi, atau menambahkannya ke Azure atau sumber daya pihak ketiga.
Catatan
Aset aman di Azure Automation mencakup informasi masuk, sertifikat, koneksi, dan variabel terenkripsi. Aset ini dienkripsi dan disimpan di Automation dengan menggunakan kunci unik yang dihasilkan untuk setiap akun Automation. Automation menyimpan kunci di layanan Key Vault yang dikelola sistem. Sebelum menyimpan aset aman, Automation memuat kunci dari Key Vault, lalu menggunakannya untuk mengenkripsi aset.
Cmdlet PowerShell untuk mengakses sertifikat
Cmdlet dalam tabel berikut membuat dan mengelola sertifikat Automation dengan PowerShell. cmdlet ini melakukan pengiriman sebagai bagian dari modul Az.
Cmdlet | Deskripsi |
---|---|
Get-AzAutomationCertificate | Mengambil informasi tentang sertifikat yang akan digunakan dalam runbook atau konfigurasi DSC. Anda hanya dapat mengambil sertifikat itu sendiri dengan menggunakan cmdlet Get-AutomationCertificate internal. |
New-AzAutomationCertificate | Membuat sertifikat baru di Automation. |
Remove-AzAutomationCertificate | Menghapus sertifikat dari Automation. |
Set-AzAutomationCertificate | Menetapkan properti untuk sertifikat yang sudah ada, termasuk mengunggah file sertifikat dan mengatur kata sandi untuk file .pfx. |
Cmdlet Add-AzureCertificate juga dapat digunakan untuk mengunggah sertifikat layanan untuk layanan cloud yang ditentukan.
Cmdlet internal untuk mengakses sertifikat
Cmdlet internal dalam tabel berikut digunakan untuk mengakses sertifikat di runbook Anda. cmdlet ini dilengkapi dengan Orchestrator.AssetManagement.Cmdlets
modul global. Untuk mengetahui informasi selengkapnya, lihat cmdlet internal.
Cmdlet Internal | Deskripsi |
---|---|
Get-AutomationCertificate |
Mendapatkan sertifikat untuk digunakan dalam runbook atau konfigurasi DSC. Menampilkan objek System.Security.Cryptography.X509Certificates.X509Certificate2. |
Catatan
Anda harus menghindari penggunaan variabel dalam parameter Name
dari Get-AutomationCertificate
dalam runbook atau konfigurasi DSC. Variabel tersebut dapat mempersulit penemuan dependensi antara runbook atau konfigurasi DSC dan variabel Automation pada waktu desain.
Fungsi Python untuk mengakses sertifikat
Gunakan fungsi dalam tabel berikut untuk mengakses sertifikat dalam runbook Python 2 dan 3. Runbook Python 3 saat ini dalam pratinjau.
Fungsi | Deskripsi |
---|---|
automationassets.get_automation_certificate |
Mengambil informasi tentang aset sertifikat. |
Catatan
Anda harus mengimpor modul automationassets
di awal runbook Python Anda untuk mengakses fungsi aset.
Membuat sertifikat baru
Saat membuat sertifikat baru, Anda mengunggah file .cer atau .pfx ke Automation. Jika menandai sertifikat sebagai dapat diekspor, Anda dapat mentransfernya keluar dari penyimpanan sertifikat Automation. Jika tidak dapat diekspor, maka hanya dapat digunakan untuk menandatangani dalam runbook atau konfigurasi DSC. Automation mengharuskan sertifikat memiliki penyedia Microsoft Enhanced RSA dan AES Cryptographic Provider.
Membuat sertifikat baru dengan portal Microsoft Azure
- Dari akun Automation Anda, di panel sebelah kiri, pilih Sertifikat pada Sumber Daya Bersama.
- Di halaman Sertifikat, pilih Tambahkan sertifikat.
- Di bidang Nama, ketikkan nama untuk sertifikat tersebut.
- Untuk menelusuri file .cer atau .pfx, di bawah Unggah file sertifikat, pilih Pilih file. Jika Anda memilih file .pfx, tentukan kata sandi dan tunjukkan apakah file tersebut dapat diekspor. Jika Anda menggunakan portal Azure Automation untuk mengunggah sertifikat, mungkin akan gagal untuk akun mitra (CSP). Kami menyarankan agar Anda menggunakan cmdlet PowerShell sebagai solusi untuk mengatasi masalah ini.
- Pilih Buat untuk menyimpan aset sertifikat baru.
Membuat sertifikat baru dengan PowerShell
Contoh berikut menunjukkan cara membuat sertifikat Automation baru dan menandainya dapat diekspor. Contoh ini mengimpor file .pfx yang ada.
$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
Membuat sertifikat baru dengan templat Resource Manager
Contoh berikut menunjukkan cara menyebarkan sertifikat ke akun Automation Anda dengan menggunakan templat Resource Manager melalui 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
Mendapatkan sertifikat
Untuk mengambil sertifikat, gunakan cmdlet Get-AutomationCertificate
internal. Anda tidak dapat menggunakan cmdlet Get-AzAutomationCertificate, karena menampilkan informasi tentang aset sertifikat, tetapi bukan sertifikat itu sendiri.
Contoh runbook tekstual
Contoh berikut menunjukkan cara menambahkan sertifikat ke layanan cloud dalam runbook. Dalam sampel ini, kata sandi diambil dari variabel otomatisasi terenkripsi.
$serviceName = 'MyCloudService'
$cert = Get-AutomationCertificate -Name 'MyCertificate'
$certPwd = Get-AzAutomationVariable -ResourceGroupName "ResourceGroup01" `
-AutomationAccountName "MyAutomationAccount" -Name 'MyCertPassword'
Add-AzureCertificate -ServiceName $serviceName -CertToDeploy $cert
Contoh runbook grafis
Tambahkan aktivitas untuk cmdlet Get-AutomationCertificate
internal ke runbook grafis dengan mengklik kanan sertifikat di panel Pustaka, dan memilih Tambahkan ke kanvas.
Gambar berikut menunjukkan contoh penggunaan sertifikat dalam runbook grafis.
Langkah berikutnya
- Untuk mempelajari selengkapnya tentang cmdlet yang digunakan untuk mengakses sertifikat, lihat Mengelola modul di Azure Automation.
- Untuk informasi umum tentang runbook, lihat Eksekusi runbook di Azure Automation.
- Untuk detail konfigurasi DSC, lihat Ringkasan Konfigurasi Status Azure Automation.