Migrieren eines vorhandenen ausführenden Kontos zu einer verwalteten Identität

Wichtig

Ausführende Azure Automation-Konten, einschließlich der klassischen ausführenden Konten, wurden am 30. September 2023 eingestellt und durch Managed Identities ersetzt. Sie können keine ausführenden Konten mehr über das Azure-Portal erstellen oder verlängern.

Weitere Informationen zum Migrationsrhythmus und zur Supportzeitachse für die Erstellung von ausführenden Konten und für die Verlängerung von Zertifikaten finden Sie in den häufig gestellten Fragen.

Ausführende Konten in Azure Automation bieten Authentifizierung für die Verwaltung von Ressourcen, die über Azure Resource Manager oder im klassischen Bereitstellungsmodell bereitgestellt wurden. Bei der Erstellung eines ausführenden Kontos wird eine Microsoft Entra-Anwendung registriert und ein selbstsigniertes Zertifikat generiert. Das Zertifikat ist ein Monat lang gültig. Die monatliche Verlängerung des Zertifikats vor Ablauf der Gültigkeitsdauer hält das Automation-Konto funktionsfähig, verursacht aber zusätzlichen Aufwand.

Sie können Automation-Konten jetzt so konfigurieren, dass sie eine verwaltete Identität verwenden (die Standardoption beim Erstellen eines Automation-Kontos). Mit diesem Feature kann sich ein Automation-Konto bei Azure-Ressourcen authentifizieren, ohne dass Anmeldeinformationen ausgetauscht werden müssen. Bei einer verwalteten Identität entfällt der Mehraufwand der Verlängerung des Zertifikats oder der Verwaltung des Dienstprinzipals.

Eine verwaltete Identität kann systemseitig oder benutzerseitig zugewiesen werden. Wenn ein neues Automation-Konto erstellt wird, wird eine systemseitig zugewiesene verwaltete Identität aktiviert.

Voraussetzungen

Bevor Sie von einem Run As-Konto oder einem klassischen Run As-Konto zu einer verwalteten Identität migrieren:

  1. Erstellen Sie eine systemseitig zugewiesene oder eine benutzerseitig zugewiesene verwaltete Identität, oder erstellen Sie beide Typen. Weitere Informationen zu den Unterschieden finden Sie unter Typen verwalteter Identitäten.

    Hinweis

    • Benutzerseitig zugewiesene Identitäten werden nur für Cloudaufträge unterstützt. Es ist nicht möglich, die benutzerseitig verwaltete Identität des Automation-Kontos für einen Hybrid-Runbook Worker zu verwenden. Um Hybridaufträge zu verwenden, müssen Sie systemseitig zugewiesene Identitäten erstellen.
    • Es gibt zwei Möglichkeiten, verwaltete Identitäten in Hybrid Runbook Worker-Skripts zu verwenden: entweder die systemseitig zugewiesene verwaltete Identität für das Automation-Konto oder die verwaltete Identität eines virtuellen Azure-Computers für einen als Hybrid Runbook Worker ausgeführten virtuellen Azure-Computer.
    • Benutzerseitig zugewiesene verwaltete Identitäten und systemseitig zugewiesene verwaltete Identitäten von virtuellen Computern können nicht in einem Automation-Konto verwendet werden, das mit der verwalteten Identität eines Automation-Kontos konfiguriert ist. Wenn Sie die verwaltete Identität des Automation-Kontos aktivieren, können Sie nur die systemseitig zugewiesene verwaltete Identität des Automation-Kontos und nicht die verwaltete Identität des virtuellen Computers verwenden. Weitere Informationen finden Sie unter Verwenden der Runbookauthentifizierung mit verwalteten Identitäten.
  2. Weisen Sie der verwalteten Identität für den Zugriff auf die Azure-Ressourcen dieselbe Rolle zu, über die das ausführende Konto verfügt. Verwenden Sie dieses Skript, um die vom System zugewiesene Identität in einem Automatisierungskonto zu aktivieren und den gleichen Satz von Berechtigungen zuzuweisen, die in Azure Automation Run As-Konto der vom System zugewiesenen Identität des Automatisierungskontos vorhanden sind.

    Beispiel: Wenn das Automation-Konto nur zum Starten oder Beenden eines virtuellen Azure-Computers erforderlich ist, dann müssen die dem ausführenden Konto zugewiesenen Berechtigungen nur zum Starten oder Beenden des virtuellen Azure-Computers bestimmt sein. Weisen Sie ebenso reine Lesezugriffsberechtigungen zu, wenn ein Runbook aus Azure Blob Storage liest. Weitere Informationen finden Sie unter Azure Automation-Sicherheitsrichtlinien.

  3. Wenn Sie Classic Run As-Konten verwenden, stellen Sie sicher, dass Sie Ressourcen migriert haben, die über das klassische Bereitstellungsmodell zu Azure Resource Manager bereitgestellt wurden.

  4. Verwenden Sie dieses Skript, um herauszufinden, welche Automation-Konten ein ausführendes Konto verwenden. Wenn Ihre Azure Automation-Konten ein ausführendes Konto enthalten, ist diesem standardmäßig die integrierte Rolle „Mitwirkender“ zugewiesen. Sie können das Skript verwenden, um die ausführenden Azure Automation-Konten zu überprüfen und festzustellen, ob ihre Rollenzuweisung der Standardeinstellung entspricht oder ob eine andere Rollendefinition verwendet wird.

  5. Verwenden Sie dieses Skript, um herauszufinden, ob alle Runbooks in Ihrem Automatisierungskonto das Run As-Konto verwenden.

Migrieren eines ausführenden Automation-Kontos zu einer verwalteten Identität

Führen Sie die folgenden Schritte aus, um von einem ausführenden Automation-Run As-Konto oder Classic Run As-Konto zu einer verwalteten Identität für Ihre Runbookauthentifizierung zu migrieren:

  1. Ändern Sie den Runbookcode so, dass eine verwaltete Identität verwendet wird.

    Es wird empfohlen, die verwaltete Identität zu testen, um zu überprüfen, ob das Runbook wie erwartet funktioniert. Erstellen Sie dazu eine Kopie Ihres Produktionsrunbooks. Aktualisieren Sie Code Ihres Testrunbooks, um sich mithilfe der verwalteten Identität zu authentifizieren. Diese Methode stellt sicher, dass Sie in Ihrem Produktionsrunbook AzureRunAsConnection nicht außer Kraft setzen und die vorhandene Azure Automation-Instanz beschädigen. Nachdem Sie sicher sind, dass der Runbookcode wie erwartet über die verwaltete Identität ausgeführt wird, aktualisieren Sie Ihr Produktionsrunbook so, dass die verwaltete Identität verwendet wird.

    Verwenden Sie für die Unterstützung der verwalteten Identität das Cmdlet Connect-AzAccount. Weitere Informationen zu diesem Cmdlet finden Sie in der PowerShell-Referenz unter Connect-AzAccount.

    • Wenn Sie Az-Module verwenden, aktualisieren Sie auf die neueste Version, indem Sie die Schritte im Artikel Aktualisieren von Azure PowerShell-Modulen ausführen.
    • Wenn Sie AzureRM-Module verwenden, aktualisieren Sie AzureRM.Profile auf die neueste Version, und ersetzen Sie es durch das Add-AzureRMAccount-Cmdlet mit Connect-AzureRMAccount –Identity.

    Verwenden Sie die Beispielskripts, um die vor der Verwendung von verwalteten Identitäten erforderlichen Änderungen am Runbookcode zu verstehen.

  2. Wenn Sie sicher sind, dass das Runbook mit verwalteten Identitäten erfolgreich ausgeführt wird, können Sie das ausführende Konto problemlos löschen, sofern kein anderes Runbook dieses Konto verwendet.

Beispielskripts

Die folgenden Beispiele für Runbookskripts rufen die Resource Manager-Ressourcen mithilfe des ausführenden Kontos (Dienstprinzipals) und der verwalteten Identität ab. Sie würden den Unterschied im Runbook-Code am Anfang des Runbook feststellen, wo er sich für die Ressource authentifiziert.

Hinweis

Aktivieren Sie entsprechende RBAC-Berechtigungen für die Systemidentität dieses Automation-Kontos. Andernfalls kann das Runbook fehlschlagen.

try
{
    "Logging in to Azure..."
    Connect-AzAccount -Identity
}
catch {
    Write-Error -Message $_.Exception
    throw $_.Exception
}

#Get all Resource Manager resources from all resource groups
$ResourceGroups = Get-AzResourceGroup

foreach ($ResourceGroup in $ResourceGroups)
{    
    Write-Output ("Showing resources in resource group " + $ResourceGroup.ResourceGroupName)
    $Resources = Get-AzResource -ResourceGroupName $ResourceGroup.ResourceGroupName
    foreach ($Resource in $Resources)
    {
        Write-Output ($Resource.Name + " of type " +  $Resource.ResourceType)
    }
    Write-Output ("")
}

Client-ID der benutzerseitig zugewiesenen Identität ansehen

  1. Wählen Sie auf der Seite Ihres Automation-Kontos unter Kontoeinstellungen die Option Identität aus.

  2. Wählen Sie auf der Registerkarte Vom Benutzer zugewiesen die Identität des Benutzers aus.

    Screenshot that shows the navigation path to view client ID.

  3. Wechseln Sie zu Übersicht>Essentials, um die Client-ID anzuzeigen.

    Screenshot that shows how to view a client ID.

Grafische Runbooks

Überprüfen, ob ein ausführendes Konto in grafischen Runbooks verwendet wird

  1. Überprüfen Sie alle Aktivitäten im Runbook, um festzustellen, ob sie beim Aufrufen von Anmelde-Cmdlets oder Aliasen das ausführende Konto verwenden, z. B. Add-AzRmAccount/Connect-AzRmAccount/Add-AzAccount/Connect-AzAccount.

    Screenshot that illustrates checking if a graphical runbook uses a Run As account.

  2. Untersuchen Sie die Parameter, die das Cmdlet verwendet.

    Screenshot that shows examining the parameters used by a cmdlet.

    Für die Verwendung mit dem Run As-Konto verwendet das Cmdlet den Parameter ServicePrinicipalCertificate, der auf ApplicationId festgelegt ist. CertificateThumbprint stammt von RunAsAccountConnection.

    Screenshot that shows parameter sets.

Bearbeiten eines grafischen Runbooks zur Verwendung einer verwalteten Identität

Sie müssen die verwaltete Identität testen, um sicherzustellen, dass das grafische Runbook erwartungsgemäß funktioniert. Erstellen Sie eine Kopie Ihres Produktionsrunbooks zur Verwendung der verwalteten Identität, und aktualisieren Sie dann den Code des grafischen Testrunbooks, um sich mithilfe der verwalteten Identität zu authentifizieren. Sie können diese Funktionen zu einem grafischen Runbook hinzufügen, indem Sie das Cmdlet Connect-AzAccount hinzufügen.

Die folgenden Schritte enthalten ein Beispiel, das zeigt, wie ein grafisches Runbook, das ein ausführendes Konto verwendet, verwaltete Identitäten verwenden kann:

  1. Melden Sie sich beim Azure-Portal an.

  2. Öffnen Sie das Automation-Konto, und wählen Sie Prozessautomatisierung>Runbooks aus.

  3. Wählen Sie ein Runbook aus. Wählen Sie beispielsweise das Runbook Azure V2-VMs starten aus der Liste aus und wählen Sie dann Bearbeiten aus, oder wechseln Sie zu Katalog durchsuchen und wählen Sie Azure V2-VMs starten aus.

    Screenshot of editing a graphical runbook.

  4. Ersetzen Sie die Verbindung für das ausführende Konto, die AzureRunAsConnection verwendet, und das Verbindungsobjekt, das intern das PowerShell-Cmdlet Get-AutomationConnection verwendet, durch das Cmdlet Connect-AzAccount.

  5. Wählen Sie Löschen aus, um die Get Run As Connection- und Connect to Azure-Aktivitäten zu löschen.

    Screenshot to connect to the Azure activities.

  6. Wählen Sie im linken Bereich unter RUNBOOK CONTROLCode und dann Zu Canvas hinzufügen aus.

    Screenshot to select code and add it to the canvas.

  7. Bearbeiten Sie die Codeaktivität, weisen Sie geeignete Bezeichnungsnamen zu und wählen Sie Aktivitätslogik erstellen aus.

    Screenshot to edit code activity.

  8. Geben Sie auf der Code-Editor-Seite den folgenden PowerShell-Code ein, und wählen Sie OK aus.

    try 
    { 
       Write-Output ("Logging in to Azure...") 
       Connect-AzAccount -Identity 
    } 
    catch { 
       Write-Error -Message $_.Exception 
       throw $_.Exception 
    } 
    
  9. Verbinden Sie die neue Aktivität mit den Aktivitäten, die zuvor mit Azure Connect verbunden wurden, und speichern Sie das Runbook.

    Screenshot to connect new activity to activities.

Im Runbook Azure V2-VMs starten im Runbook-Katalog müssen Sie beispielsweise die Get Run As Connection- und Connect to Azure-Aktivitäten durch die Codeaktivität ersetzen, die das oben beschriebene Cmdlet verwendet Connect-AzAccount. Weitere Informationen finden Sie im Beispiel für das Runbook AzureAutomationTutorialWithIdentityGraphical, das mit dem Automation-Konto erstellt wird.

Hinweis

AzureRM PowerShell-Module werden am 29. Februar 2024 eingestellt. Wenn Sie AzureRM PowerShell-Module in grafischen Runbooks verwenden, müssen Sie diese aktualisieren, um Az PowerShell-Module zu verwenden. Weitere Informationen

Nächste Schritte