Verwalten von Zertifikaten in Azure Automation
Zertifikate werden in Azure Automation sicher gespeichert, sodass Runbooks oder DSC-Konfigurationen über das Cmdlet Get-AzAutomationCertificate für Azure Resource Manager-Ressourcen darauf zugreifen können. Die sichere Speicherung der Zertifikate ermöglicht es Ihnen, Runbooks und DSC-Konfigurationen zu erstellen, die Zertifikate für die Authentifizierung verwenden, oder diese zu Azure- oder Drittanbieterressourcen hinzuzufügen.
Hinweis
Zu den sicheren Objekten in Azure Automation gehören Anmeldeinformationen, Zertifikate, Verbindungen und verschlüsselte Variablen. Diese Objekte werden mithilfe eines eindeutigen Schlüssels, der für jedes Automation-Konto generiert wird, verschlüsselt und in Automation gespeichert. Automation speichert den Schlüssel in dem vom System verwalteten Key Vault-Dienst. Vor dem Speichern eines sicheren Objekts lädt Automation den Schlüssel aus Key Vault und verwendet ihn dann zum Verschlüsseln des Objekts.
PowerShell-Cmdlets für den Zugriff auf Zertifikate
Über die Cmdlets in der folgenden Tabelle können Sie Zertifikate für Automation mit PowerShell erstellen und verwalten. Diese sind im Lieferumfang der Az-Module enthalten.
Cmdlet | Beschreibung |
---|---|
Get-AzAutomationCertificate | Ruft Informationen über ein Zertifikat zur Verwendung in einem Runbook oder einer DSC-Konfiguration ab. Das Zertifikat selbst können Sie nur über das interne Cmdlet Get-AutomationCertificate abrufen. |
New-AzAutomationCertificate | Erstellt ein neues Zertifikat in Automation. |
Remove-AzAutomationCertificate | Entfernt ein Zertifikat aus Automation. |
Set-AzAutomationCertificate | Legt die Eigenschaften für ein vorhandenes Zertifikat fest, lädt die Zertifikatdatei hoch und legt das Kennwort für eine PFX-Datei fest. |
Das Cmdlet Add-AzureCertificate kann auch verwendet werden, um ein Dienstzertifikat für den angegebenen Clouddienst hochzuladen.
Interne Cmdlets für den Zugriff auf Zertifikate
Das interne Cmdlet in der folgenden Tabelle wird für den Zugriff auf Zertifikate in Ihren Runbooks verwendet. Dieses Cmdlet ist im globalen Modul Orchestrator.AssetManagement.Cmdlets
enthalten. Weitere Informationen finden Sie unter Interne Cmdlets.
Internes Cmdlet | Beschreibung |
---|---|
Get-AutomationCertificate |
Ruft ein Zertifikat zur Verwendung in einem Runbook oder einer DSC-Konfiguration ab. Gibt ein System.Security.Cryptography.X509Certificates.X509Certificate2-Objekt zurück. |
Hinweis
Vermeiden Sie die Verwendung von Variablen im Name
-Parameter von Get-AutomationCertificate
in einem Runbook oder einer DSC-Konfiguration. Solche Variablen können die Ermittlung von Abhängigkeiten zwischen Runbooks oder DSC-Konfigurationen und Automation-Variablen zur Entwurfszeit erschweren.
Python-Funktionen für den Zugriff auf Zertifikate
Verwenden Sie die Funktion in der folgenden Tabelle für den Zugriff auf Zertifikate in einem Python 2- und Python 3-Runbook. Python 3-Runbooks sind derzeit als Vorschau verfügbar.
Funktion | Beschreibung |
---|---|
automationassets.get_automation_certificate |
Ruft Informationen zu einem Zertifikatasset ab. |
Hinweis
Sie müssen das Modul automationassets
am Anfang Ihres Python-Runbooks importieren, um auf die Assetfunktionen zugreifen zu können.
Erstellen eines neuen Zertifikats
Wenn Sie ein neues Zertifikat erstellen, laden Sie eine CER- oder PFX-Datei in Automation hoch. Wenn Sie das Zertifikat als exportierbar kennzeichnen, können Sie es aus dem Automation-Zertifikatspeicher übertragen. Ist das Zertifikat nicht exportierbar, können Sie es nur zum Signieren innerhalb des Runbooks oder der DSC-Konfiguration verwenden. Für Automation muss der Zertifikatanbieter Microsoft Enhanced RSA and AES Cryptographic Provider lauten.
Erstellen eines neuen Zertifikats im Azure-Portal
- Wählen Sie in Ihrem Automation-Konto im linken Bereich Zertifikate unter Freigegebene Ressourcen aus.
- Wählen Sie auf der Seite Zertifikate die Option Zertifikat hinzufügen aus.
- Geben Sie im Feld Name einen Namen für das Zertifikat ein.
- Um nach einer CER- oder PFX-Datei zu suchen, wählen Sie unter Zertifikatdatei hochladen die Option Datei auswählen aus. Wenn Sie eine PFX-Datei auswählen, geben Sie ein Kennwort an und legen fest, ob das Zertifikat exportiert werden kann. Wenn Sie das Azure Automation-Portal verwenden, um Zertifikate hochzuladen, tritt bei Partnerkonten (CSP) möglicherweise ein Fehler auf. Es wird empfohlen, PowerShell-Cmdlets zu verwenden, um dieses Problem zu umgehen.
- Wählen Sie Erstellen aus, um das neue Zertifikatobjekt zu speichern.
Erstellen eines neuen Zertifikats mit PowerShell
Das folgende Beispiel zeigt, wie Sie ein neues Automation-Zertifikat erstellen und es als exportierbar kennzeichnen. Dieses Beispiel importiert eine vorhandene PFX-Datei.
$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
Erstellen eines neuen Zertifikats mit einer Resource Manager-Vorlage
Das folgende Beispiel veranschaulicht, wie Sie in PowerShell mithilfe einer Resource Manager-Vorlage ein Zertifikat in Ihrem Automation-Konto bereitstellen:
$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
Erhalten eines Zertifikats
Verwenden Sie das interne Cmdlet Get-AutomationCertificate
, um ein Zertifikat abzurufen. Sie können das Cmdlet Get-AzAutomationCertificate nicht verwenden, da dieses Cmdlet Informationen zum Zertifikatobjekt zurückgibt, aber nicht das Zertifikat selbst.
Beispiele für Textrunbooks
Das folgende Beispiel zeigt, wie Sie ein Zertifikat zu einem Clouddienst in einem Runbook hinzufügen. In diesem Beispiel wird das Kennwort aus einer verschlüsselten Automation-Variable abgerufen.
$serviceName = 'MyCloudService'
$cert = Get-AutomationCertificate -Name 'MyCertificate'
$certPwd = Get-AzAutomationVariable -ResourceGroupName "ResourceGroup01" `
-AutomationAccountName "MyAutomationAccount" -Name 'MyCertPassword'
Add-AzureCertificate -ServiceName $serviceName -CertToDeploy $cert
Beispiel für ein grafisches Runbook
Fügen Sie einem grafischen Runbook eine Aktivität für das interne Cmdlet Get-AutomationCertificate
hinzu, indem Sie im Bibliotheksbereich mit der rechten Maustaste auf das Zertifikat klicken und anschließend Zur Canvas hinzufügen auswählen.
Die folgende Abbildung zeigt ein Beispiel für die Verwendung eines Zertifikats in einem grafischen Runbook.
Nächste Schritte
- Weitere Informationen zu den Cmdlets, die für den Zugriff auf Zertifikate verwendet werden, finden Sie unter Verwalten von Modulen in Azure Automation.
- Allgemeine Informationen zu Runbooks finden Sie unter Ausführen von Runbooks in Azure Automation.
- Ausführliche Informationen zu DSC-Konfigurationen finden Sie in der Übersicht über die Zustandskonfiguration.