Manage certificates in Azure Automation
Az Azure Automation runbookok és DSC-konfigurációk segítségével biztonságosan tárolja a tanúsítványokat a Get-AzAutomationCertificate parancsmag használatával az Azure Resource Manager-erőforrásokhoz. Secure certificate storage allows you to create runbooks and DSC configurations that use certificates for authentication, or add them to Azure or third-party resources.
Megjegyzés:
Biztonságba helyezheti az Azure Automationbeli összetevőket, például hitelesítő adatokat, tanúsítványokat, kapcsolatokat és titkosított változókat. Ezeket az eszközöket az Automation titkosítja és tárolja az egyes Automation-fiókokhoz létrehozott egyedi kulccsal. Az Automation a kulcsot a rendszer által felügyelt Key Vault szolgáltatásban tárolja. A biztonságos objektum tárolása előtt az Automation betölti a kulcsot a Key Vaultból, majd titkosítja az objektumot.
PowerShell-parancsmagok a tanúsítványok eléréséhez
Az alábbi táblázatban található parancsmagok Automation-tanúsítványokat hoznak létre és kezelnek a PowerShell használatával. Az Az modulok részeként szállítanak.
Parancsmag | Leírás |
---|---|
Get-AzAutomationCertificate | Egy runbookban vagy DSC-konfigurációban használandó tanúsítványra vonatkozó információkat kér le. A tanúsítványt csak a belső Get-AutomationCertificate parancsmaggal tudja lekérni. |
New-AzAutomationCertificate | Új tanúsítványt hoz létre az Automationben. |
Remove-AzAutomationCertificate | Eltávolít egy tanúsítványt az Automationből. |
Set-AzAutomationCertificate | Beállítja egy meglévő tanúsítvány tulajdonságait, beleértve a tanúsítványfájl feltöltését és a .pfx fájl jelszavának beállítását. |
Az Add-AzureCertificate parancsmag a megadott felhőszolgáltatás szolgáltatástanúsítványának feltöltésére is használható.
Belső parancsmagok a tanúsítványok eléréséhez
Az alábbi táblázatban található belső parancsmag a runbookok tanúsítványainak eléréséhez használható. Ez a parancsmag tartalmazza a globális modult Orchestrator.AssetManagement.Cmdlets
. További információ: Belső parancsmagok.
Belső parancsmag | Leírás |
---|---|
Get-AutomationCertificate |
Lekéri a runbookban vagy DSC-konfigurációban használni kívánt tanúsítványt. Egy System.Security.Cryptography.X509Certificates.X509Certificate2 objektumot ad vissza. |
Megjegyzés:
Ne használjon változókat a Name
runbook vagy a DSC-konfiguráció paraméterében Get-AutomationCertificate
. Ezek a változók megnehezíthetik a runbookok, a DSC-konfigurációk és az Automation-változók közötti függőségek felderítését a tervezéskor.
Python-függvények a tanúsítványok eléréséhez
A következő táblázatban szereplő függvény használatával érheti el a Python 2-ben és 3-ban használt runbook tanúsítványait. A Python 3 runbookok jelenleg előzetes verzióban érhetők el.
Function | Leírás |
---|---|
automationassets.get_automation_certificate |
Lekéri a tanúsítvány-objektum adatait. |
Megjegyzés:
Az eszközfüggvények eléréséhez importálnia kell a automationassets
modult a Python-runbook elején.
Create a new certificate
When you create a new certificate, you upload a .cer or .pfx file to Automation. If you mark the certificate as exportable, then you can transfer it out of the Automation certificate store. If it isn't exportable, then it can only be used for signing within the runbook or DSC configuration. Automation requires the certificate to have the provider Microsoft Enhanced RSA and AES Cryptographic Provider.
Create a new certificate with the Azure portal
- Az Automation-fiókban a bal oldali panelen válassza a Tanúsítványok lehetőséget a Megosztott erőforrás csoportban.
- A Tanúsítványok lapon válassza a Tanúsítvány hozzáadása lehetőséget.
- A Név mezőbe írja be a tanúsítvány nevét.
- .cer- vagy .pfx-fájl megkereséséhez válassza a Tanúsítványfájl feltöltése csoportban a Fájl kiválasztása lehetőséget. Ha kiválaszt egy .pfx fájlt, adjon meg egy jelszót, és adja meg, hogy exportálható-e. If you are using Azure Automation portal to upload certificates, it might fail for partner (CSP) accounts. Javasoljuk, hogy kerülő megoldásként használja a PowerShell-parancsmagokat a probléma megoldásához.
- Válassza a Létrehozás lehetőséget az új tanúsítványegység mentéséhez.
Create a new certificate with PowerShell
The following example demonstrates how to create a new Automation certificate and mark it exportable. Ez a példa egy meglévő .pfx fájlt importál.
$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
Új tanúsítvány létrehozása Resource Manager-sablonnal
Az alábbi példa bemutatja, hogyan helyezhet üzembe tanúsítványt az Automation-fiókjában Resource Manager-sablon használatával a PowerShell használatával:
$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
Tanúsítvány lekérése
Tanúsítvány lekéréséhez használja a belső Get-AutomationCertificate
parancsmagot. Nem használhatja a Get-AzAutomationCertificate parancsmagot, mert a tanúsítvány-objektum adatait adja vissza, magát a tanúsítványt azonban nem.
Példák szöveges runbookokra
Az alábbi példa bemutatja, hogyan adhat hozzá tanúsítványt egy felhőszolgáltatáshoz egy runbookban. Ebben a mintában a jelszó egy titkosított automatizálási változóból lesz lekérve.
$serviceName = 'MyCloudService'
$cert = Get-AutomationCertificate -Name 'MyCertificate'
$certPwd = Get-AzAutomationVariable -ResourceGroupName "ResourceGroup01" `
-AutomationAccountName "MyAutomationAccount" -Name 'MyCertPassword'
Add-AzureCertificate -ServiceName $serviceName -CertToDeploy $cert
Példa grafikus runbookra
A belső Get-AutomationCertificate
parancsmag tevékenységének hozzáadásához kattintson a jobb gombbal a tanúsítványra az Erőforrástár panelen, és válassza a Hozzáadás a vászonhoz lehetőséget.
Az alábbi képen egy példa látható egy tanúsítvány grafikus runbookban való használatára.
Következő lépések
- A tanúsítványok eléréséhez használt parancsmagokról további információt az Azure Automation moduljainak kezelése című témakörben talál.
- A runbookokkal kapcsolatos általános információkért lásd : Runbook-végrehajtás az Azure Automationben.
- A DSC-konfigurációk részleteiért tekintse meg az Azure Automation State Configuration áttekintését.