Share via


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

  1. Az Automation-fiókban a bal oldali panelen válassza a Tanúsítványok lehetőséget a Megosztott erőforrás csoportban.
  2. A Tanúsítványok lapon válassza a Tanúsítvány hozzáadása lehetőséget.
  3. A Név mezőbe írja be a tanúsítvány nevét.
  4. .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.
  5. 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.

Screenshot of adding a certificate to the canvas

Az alábbi képen egy példa látható egy tanúsítvány grafikus runbookban való használatára.

Screenshot of an example of graphical authoring

Következő lépések