Azure Automation mit PowerShell-Runbooks

Datensicherheit

Abbildung von Zahnrädern und einer Wolke

Wollten Sie schon immer die Erstellung virtueller Maschinen in Azure automatisieren, auf Grundlage einer ServiceNow-Anfrage oder der Anforderung anderer digitaler Workflows, die das Unternehmen verwendet? In bestimmten Fällen macht es auch Sinn, das Aktualisieren und Patchen der virtuellen Maschinen in Azure in einer IaaS-Bereitstellung zu automatisieren und auch die gewünschte Statuskonfiguration beizubehalten. Dann ist Azure Automation genau das Richtige für Sie.

Der Azure Automation Service ermöglicht die Automatisierung vieler Azure-Verwaltungsaufgaben und -aktivitäten und hilft ebenso bei der Orchestrierung von Aktionen sowohl für externe als auch für interne Systeme direkt aus Azure.

Holen Sie sich den kostenlosen Grundlagen-Videokurs für PowerShell und Active Directory.

Ich würde ihn sowohl für neue als auch für fortgeschrittene PowerShell-Benutzer empfehlen. Ein AD-Tool zu erstellen ist ein sehr nützlicher Lernprozess.

Was ist Azure Automation?

Wie bereits erwähnt ist Azure Automation ein Automatisierungs- und Konfigurationsdienst von Azure, der eine einheitliche und konsistente Verwaltung und Orchestrierung von Aktionen in Umgebungen innerhalb und außerhalb von Azure sowie in lokalen Umgebungen ermöglicht. Es gibt Ihnen die vollständige Kontrolle während der Bereitstellung, des Betriebs und der Außerbetriebnahme von Workloads und Ressourcen.

Azure Automation ist ein umfassender Automatisierungsservice, der weiterhin kosteneffizient bleibt, da die relativen Kosten für die Bereitstellung gering sind und nach dem Pay-as-you-go-Zahlungsmodell (PAYG) abgerechnet werden. Ebenso senkt es den Arbeitsaufwand des IT- und Service-Desk-Personals und spart dadurch viel Zeit und Mühe. Es wurde mit PowerShell entwickelt und bietet eine robuste Plattform mit einer großen Reichweite und vielen Integrationsmöglichkeiten.

Funktionen und Features von Azure Automation

Azure Automation umfasst eine Reihe von Fähigkeiten und Funktionen, die eine konsistente Verwaltung von Ressourcen in Azure, außerhalb von Azure und lokal ermöglichen. Es gibt Ihnen die vollständige Kontrolle während der Bereitstellung, des Betriebs und der Außerbetriebnahme von Workloads und anderen Ressourcen. Außerdem bietet es Einblicke in die aktualisierte Compliance der Workloads, um Aktionen auszulösen.

Prozessautomatisierung

Die Prozessautomatisierung bietet den Vorteil, dass wiederholte, zeitaufwändige und fehleranfällige End-to-End-Prozesse und Managementaufgaben automatisiert werden. So können sich die IT- und Service-Desk-Teams auf die eigentliche Arbeit konzentrieren und dadurch mehr Geschäftswert schaffen. Sie steigert also die Effizienz der Teams und reduziert die Betriebskosten.

Außerdem können mithilfe von Prozessautomatisierung Runbooks auf vielfältige Weise erstellt werden, z. B. grafische Runbooks, PowerShell-Runbooks, Python-Runbooks usw. Weiter unten werden wir das in Aktion sehen, wenn wir die PowerShell-Runbooks konfigurieren. Darüber hinaus bietet die Prozessautomatisierung Webhooks, die eine ereignisgesteuerte reaktive Programmierung ermöglichen und nahtlose Abläufe gewährleisten.

Konfigurationsmanagement

Die Konfigurationsverwaltung von Azure Automation kann in zwei Funktionen unterteilt werden:

  • Desired State Configuration (DSC) – Azure Automation State Configuration (AASC) ist eine Verwaltungsplattform auf PowerShell und wird auch als Desired State Configuration bezeichnet. Sie ermöglicht es Ihnen, die IT- und Entwicklungsinfrastruktur mit Konfiguration als Code zu verwalten.
  • Änderungsverfolgung und -inventarisierung – Mit der Änderungsverfolgung und -inventarisierung können sämtliche Konfigurations- oder Infrastrukturänderungen verwaltet und nachverfolgt werden. Dabei werden nicht nur Änderungen an den virtuellen Maschinen, sondern auch an anderen Diensten, Software und Registrierungen nachverfolgt, was bei der Überwachung und Diagnose unerwünschter Änderungen und dem Senden von Benachrichtigungen hilft.

Aktualisierungsmanagement

Eine der begehrtesten Funktionen von Azure Automation ist das Aktualisierungsmanagement. Diese Funktion gibt Ihnen die Möglichkeit, Einblicke in die Aktualisierungs-Compliance der Workloads nicht nur in Azure, sondern auch außerhalb von Azure und in lokalen Umgebungen zu erhalten, damit Maßnahmen bei Bedarf entsprechend ausgelöst werden können.

Gemeinsame Funktionen

Azure Automation bietet eine Reihe von gemeinsamen Funktionen. Zu den wichtigsten Funktionen gehören gemeinsame Ressourcen, rollenbasierte Zugriffskontrolle und Integration der Quellcodeverwaltung.

  • Gemeinsame Ressourcen – Gemeinsame Ressourcen bieten Funktionen, die die Aufgaben der Automatisierung und des Konfigurationsmanagements vereinfachen, und das auch in großem Umfang. Dazu gehören
  1. Zeitpläne
  2. Module und Modulgalerie
  3. Anmeldeinformationen
  4. Variablen
  5. Zertifikate
  6. Verbindungen
  7. Python-2-Pakete
  • Rollenbasierte Zugriffskontrolle (RBAC, Role-Based Access Control) – Azure-Automatisierung bietet rollenbasierte Zugriffskontrolle auf Automatisierungsressourcen für fein abgestimmten Zugriff.
  • Integration der Quellcodeverwaltung – Die Integrationsfunktion für die Quellcodeverwaltung von Azure Automation bietet die Konfiguration als Code. Somit können Sie die Quellcodeverwaltung nutzen, um Runbooks und Konfigurationen einzuchecken.

Heterogen

Azure Automation bietet eine konsistente Möglichkeit, ein Hybrid-Szenario zu unterstützen, das Workloads und Betriebssysteme (Windows und Linux) innerhalb und außerhalb von Azure sowie lokal enthält.

Erstellen und Konfigurieren von Azure Automation mit PowerShell-Runbooks für automatisierte Bereitstellungen von virtuellen Maschinen

Bevor wir mit dem Lab anfangen, sollten wir versuchen, das Endziel zu verstehen und zu begreifen, wie sich das System nach der Implementierung verhalten sollte. In diesem Artikel versuchen wir, ein realistisches Szenario zu konfigurieren. Wir richten uns dabei nach dem folgenden Prozessablauf, bei dem die Anfragen für eine neue virtuelle Maschine von den Endbenutzern in ServiceNow gestellt werden.

Alle Anfragen werden von den Service-Desk-Mitarbeitern konsolidiert und auf das Azure Storage-Konto hochgeladen.

Nachdem die Datei in den BLOB-Speichercontainer hochgeladen wurde, wird ein Ereignis ausgelöst. Das zugehörige Event Grid veröffentlicht eine Benachrichtigung an die Abonnenten des Ereignisses. Hier lauscht Azure Automation auf das Ereignis vom Speicherkonto und startet das erste Runbook, das den Prozess des Lesens der Excel-Tabelle einleitet, einen Datensatz nach dem anderen. Dieser Datensatz wird dann an das zweite PowerShell-Runbook gesendet, das die eigentliche Bereitstellung der virtuellen Maschine(n) vornimmt.

Das zweite Runbook prüft außerdem, ob die IP-Adressen der virtuellen Maschine zugewiesen werden können. Falls das Subnetz bereits alle IP-Adressen ausgeschöpft hat, wird ein neues Subnetz angelegt und für die VM-Erstellung verwendet. Außerdem wird der VM eine vordefinierte Netzwerksicherheitsgruppe (NSG) zugewiesen, um die Sicherheitsanforderungen der Organisation zu erfüllen.

Der Grund für die Erstellung der beiden Runbooks ist, dass der PowerShell-Runbook-Code modularer und leichter verständlich sein soll. Wir werden die Anforderungen im Abschnitt „Voraussetzungen“ näher erläutern.

Außerdem nutzen wir die gemeinsam genutzten Ressourcen wie Zugangsdaten, Module und Variablen für die zentrale Verwaltung des Automatisierungsdienstes.

Voraussetzungen

Um das Lab abzuschließen, benötigen Sie PowerShell-Code, um den Dienstprinzipal und die Runbooks zu erstellen. Sie können den Code auf GitHub (https://gist.github.com/neerajks77) herunterladen.

  1. Dienstprinzipal erstellen
    CreateServicePrincipal.ps1
  2. Ein Runbook erstellen, um den Prozess der VM-Erstellung zu initiieren
    InitiateWatcherProcess.ps1
  3. Ein Runbook zur Bereitstellung der VM erstellen (wird vom Runbook InitiateWatcherProcess.ps1 aufgerufen)
    CreateVirtualMachineActionRunbook.ps1

Erstellen und Konfigurieren der Azure Automation mit PowerShell-Runbook

Wir werden die folgenden Schritte befolgen, um den cloudbasierten Azure-Automation-Dienst mit den Runbooks zu erstellen und zu konfigurieren, um den Prozess der Erstellung der virtuellen Maschine auf Basis der vom Benutzer gestellten ServiceNow-Anfrage zu automatisieren.

  1. Erstellen einer Excel-Datei
  2. Erstellen einer Ressourcengruppe
  3. Erstellen eines Speicherkontos
  4. Erstellen eines virtuellen Netzwerks
  5. Erstellen einer Netzwerksicherheitsgruppe
  6. Erstellen und Konfigurieren des Azure-Automation-Dienstes
    • Erstellen des Azure-Automation-Dienstes
    • Erstellen eines Dienstprinzipals
    • Erstellen der Anmeldeinformationen innerhalb des Automation-Dienstes
    • Erstellen der Variablen innerhalb des Automation-Dienstes
    • Importieren der benötigten Module
  7. Erstellen von PowerShell-Runbooks
    • Erstellen von PowerShell-Runbooks
    • Zuweisen der Berechtigung für den Dienstprinzipal auf der Abonnementebene
    • Erstellen und Konfigurieren des Event Grids
    • Erstellen des Webhooks zum Lauschen auf die Ereignisse im Speicherkonto
    • Erstellen des Abonnements für die Ereignisse über den Webhook

Erstellen einer Excel-Datei

Der erste Schritt besteht darin, eine Excel-Datei zu erstellen, die als Input verwendet wird. Der Name der Excel-Datei lautet CreateVM.xlsx mit der folgenden Struktur.

  • Name – Name, der der virtuellen Maschine gegeben wurde
  • Location – Ort, an dem die virtuelle Maschine bereitgestellt wird
  • RGName – Name der Ressourcengruppe, innerhalb derer alle Ressourcen erstellt werden
  • SKU – SKU der benötigten virtuellen Maschine, d. h. die Betriebssystemversion. Hier haben wir 2012-R2-Datacenter und 2019-DataCenter gewählt
  • Size – Größe der virtuellen Maschine je nach Leistung und Preis
  • LocalAdminUser – Administrator-Benutzername für die virtuelle Maschine zur Anmeldung
  • Password – Passwort für den Benutzernamen des Administrators
  • PublisherName – Name des Herausgebers des Betriebssystems
  • OfferName – Typ des Betriebssystems. Hier werden wir Windows Server verwenden
  • Computername – Name, der dem Computer nach der Konfiguration gegeben wird

Erstellen einer Ressourcengruppe
Der zweite Schritt bei der Erstellung einer Ressource innerhalb von Azure ist die Erstellung der Ressourcengruppe. Solche Ressourcengruppen werden innerhalb des Abonnements erstellt und einem Standort zugeordnet.

  1. Melden Sie sich im Azure-Portal an, gehen Sie auf „Ressourcengruppe“ und klicken Sie auf „Hinzufügen“.
  2. Wählen Sie auf der Seite „Ressourcengruppe erstellen“ ein Abonnement aus, geben Sie den Namen der Ressourcengruppe ein und wählen Sie eine Region auf Grundlage Ihres Standorts aus.
  3. Klicken Sie auf „Überprüfen + Erstellen“ und nach Abschluss der Überprüfung auf die Schaltfläche „Erstellen“.

Erstellen eines Speicherkontos

  1. Geben Sie in der Suchleiste „Speicherkonto“ ein, um nach dem Speicherkonto zu suchen, und wählen Sie dann „Speicherkonto“. 
  2. Klicken Sie auf der Seite des Speicherkontos auf die Schaltfläche „Neu“. 
  3. Wählen Sie auf der Seite „Speicherkonto erstellen“ die Ressourcengruppe aus, geben Sie dem Speicherkonto einen Namen, wählen Sie eine Region aus, wählen Sie die Leistungsstufe „Standard“ aus, und wählen Sie für Redundanz „LRS“.
  4. Belassen Sie alle anderen Optionen auf den Standardeinstellungen. Es ist auch nicht erforderlich, Einstellungen auf einer anderen Seite zu ändern oder zu konfigurieren. Ändern Sie die Standardeinstellungen hier nicht.
  5. Klicken Sie anschließend auf „Überprüfen + Erstellen“ und klicken Sie nach der Überprüfung auf „Erstellen“
  6. Nachdem das Speicherkonto erstellt wurde, gehen Sie zum Speicherkonto und klicken Sie unter Blob Service auf den Container-Link
  7. Klicken Sie auf der Seite „Container“ auf die Schaltfläche „Container“, um einen neuen Container anzulegen.
  8. Geben Sie dem Datei-Container einen Namen, etwa „createvm“, und ändern Sie alle anderen Optionen nicht.
  9. Klicken Sie abschließend auf die Schaltfläche „Erstellen“
  10. Sie sehen anschließend einen Container, der für Sie erstellt wurde.

Erstellen eines virtuellen Netzwerks

  1. Geben Sie in der Suchleiste „Virtuelles Netzwerk“ ein und wählen Sie die erste Option
  2. Klicken Sie auf die Schaltfläche „Neu“, um ein virtuelles Netzwerk zu erstellen
  3. Wählen Sie auf der Seite „Virtuelles Netzwerk erstellen” die Ressourcengruppe aus, geben Sie einen Namen für das VNet ein, wählen Sie die Region aus und klicken Sie dann auf „Überprüfen + Erstellen“. Klicken Sie nach der Überprüfung auf die Schaltfläche „Erstellen“.
  4. Während der Erstellung des virtuellen Netzwerks müssen keine anderen Einstellungen geändert oder konfiguriert werden.

Erstellen einer Netzwerksicherheitsgruppe

  1. Wiederholen Sie den Schritt, um nach der Netzwerksicherheitsgruppe zu suchen, und klicken Sie auf die erste Option.
  2. Klicken Sie auf der Seite „Netzwerksicherheitsgruppen“ auf die Schaltfläche „Neu“.
  3. Sobald Sie sich auf der Seite „Netzwerksicherheitsgruppe erstellen“ befinden, wählen Sie die Ressourcengruppe aus und geben einen Namen ein. Die Region wird basierend auf der Auswahl der Ressourcengruppe ausgefüllt.
  4. Klicken Sie auf die Schaltfläche „Überprüfen + Erstellen“ und dann nach der Validierung auf die Schaltfläche „Erstellen“.

Erstellen und Konfigurieren des Azure-Automation-Dienstes

Wir haben nun alle notwendigen Komponenten für die Erstellung des Automation-Kontos. Nun werden wir mit der Erstellung und Konfiguration von Azure Automation fortfahren

Erstellen des Azure-Automation-Dienstes

Wir klicken auf die Suchleiste, suchen nach Automation-Konten und klicken auf die erste Option, auf der „Automation-Konten“ steht

  1. Klicken Sie auf der Seite „Automation-Konten“ auf die Schaltfläche „Neu“.
  2. Geben Sie auf der Seite „Automation-Konto hinzufügen“ dem Automation-Dienst einen Namen und wählen Sie die Ressourcengruppe aus.
  3. Die Region wird basierend auf der Auswahl der Ressourcengruppe ausgefüllt.
  4. Wählen Sie bei „Ausführendes Konto für Azure erstellen“ die Option „Nein“. Wir werden separat einen Dienstprinzipal erstellen.
  5. Klicken Sie auf „Erstellen“, um den Automatisierungsdienst anzulegen.

Erstellen eines Dienstprinzipals

Nachdem das Aumtomation-Konto bereitgestellt wurde, müssen wir zunächst einen Dienstprinzipal bereitstellen. Dieses Konto wird von den Automation-Runbooks verwendet, um auf andere Azure-Dienste wie das Speicherkonto zuzugreifen.

  1. Öffnen Sie einen neuen Browser-Tab und gehen Sie auf den Link https://gist.github.com/neerajks77
  2. Scrollen Sie auf der geöffneten Seite nach unten, um den PS-Code zu finden und den Dienstprinzipal zu erstellen
  3. Klicken Sie auf den Namen (CreateServicePrincipal.ps1) und dann auf die Schaltfläche „Raw“ in der oberen rechten Ecke
  4. Kopieren Sie den Code und wechseln Sie zurück zum Azure-Portal. Sie können den Code über die Cloud-Shell im Azure-Portal ausführen oder ein neues Shell-Fenster öffnen, indem Sie shell.azure.com eingeben. Es öffnet die Shell, die mit Ihrem Mandanten verbunden ist.
  5. Sobald Sie sich in der Shell befinden, müssen Sie möglicherweise ein weiteres Speicherkonto für die Ausführung der Shell-Befehle erstellen. Sobald der blaue Bildschirm erscheint, stellen Sie sicher, dass PowerShell für Sie ausgewählt ist.
  6. Fügen Sie den aus dem Gist kopierten Code ein und drücken Sie die Eingabetaste. Dadurch wird eine Funktion erstellt, die mit dem Benutzernamen und dem Passwort als Parameter aufgerufen werden kann, um den Dienstprinzipal zu erstellen.
  7. Im Eingabetyp des Befehls geben Sie den Funktionsnamen und die Parameter für Benutzername und Kennwort weiter. Notieren Sie sich das Kennwort, da dieses bei der Erstellung der Anmeldeinformationen innerhalb des Automatisierungsdienstes benötigt wird

Erstellen der Anmeldeinformationen innerhalb des Automation-Dienstes

    1. Gehen Sie zurück zum Azure-Portal und öffnen Sie Azure Active Directory
    2. Klicken Sie auf die App-Registrierungen unter „Verwalten“
    3. Sobald Sie sich auf der Seite „Anwendungsregistrierungen“ befinden, klicken Sie auf „Alle Anwendungen“. Hier sehen Sie den erstellten Dienstprinzipal
    4. Klicken Sie auf den zuvor erstellten Dienstprinzipal. Kopieren Sie auf der sich öffnenden Seite die ID der Anwendung (des Clients). Diese fungiert als Benutzername im Abschnitt mit den Anmeldeinformationen für das Automation-Konto. 
    5. Gehen Sie zurück zu dem oben erstellten Automation-Konto
    6. Scrollen Sie im linken Menü nach unten und klicken Sie auf „Anmeldeinformationen“ unter dem Abschnitt „Gemeinsame Ressourcen“
    7. Klicken Sie auf der Anmeldeinformationsseite auf „Anmeldeinformation hinzufügen“.
    8. Geben Sie im Popup-Fenster „Neue Anmeldeinformation“ einen Namen ein (es kann ein beliebiger Name sein). Geben Sie zunächst „Creds“ ein, da dies im PowerShell-Runbook referenziert wird.
    9. Geben Sie als Benutzername die aus Azure AD kopierte Anwendungs-ID ein.
    10. Das Kennwort ist dasselbe, das beim Erstellen des Dienstprinzipals verwendet wurde.
    11. Klicken Sie auf „Erstellen“

Erstellen der Variablen innerhalb des Automation-Dienstes

Nun müssen wir Variablen anlegen. Diese Variablen werden von PowerShell-Runbooks zur Verarbeitung verwendet.

  1. Klicken Sie im Menü links auf „Variablen“ unter „Gemeinsame Ressourcen“.
  2. Wir müssen 4 Variablen anlegen, jede vom Typ String. Wir beginnen mit „nsg“.
  3. Klicken Sie auf die Schaltfläche „Variable hinzufügen“.
  4. Geben Sie als Name „nsg“ ein.
  5. Geben Sie in das Wertefeld den Namen der zuvor erstellten Netzwerksicherheitsgruppe ein.
  6. Klicken Sie anschließend auf „Erstellen“
  7. Wiederholen Sie die Schritte 3 bis 6, um drei weitere Variablen hinzuzufügen: „StorageAccount“, „TenantID“ und „vNet“.
  8. Für die Variable „TenantID“ können Sie den Befehl „Get-AzSubscription“ in PowerShell ausführen, um den Wert der Mandanten-ID abzurufen.
  9. Ihr endgültiger Variablenbildschirm sollte folgendermaßen aussehen:

Importieren der benötigten Module

Jetzt importieren wir alle erforderlichen Module für dieses Lab. Wir beginnen mit Az.Accounts. Dieses sollte als erstes importiert werden, da alle anderen Module von diesem Modul abhängig sind. Anschließend wiederholen wir die Schritte für alle weiteren Module.

  1. Klicken Sie im linken Menü auf „Module“ unter „Gemeinsame Ressourcen“.
  2. Klicken Sie auf der Seite „Module“ auf die Schaltfläche „Galerie durchsuchen“.
  3. Suchen Sie auf der Seite „Galerie durchsuchen“ nach „Az.Accounts“.
  4. Sobald das Modul erscheint, klicken Sie auf das Modul und schließlich auf „Importieren“, um das Modul zu importieren.
  5. Es wird einige Zeit dauern, bis dieses Modul importiert und für die Verwendung konfiguriert ist. Nachdem es importiert wurde, beginnen Sie mit dem Importieren anderer Module.
  6. Führen Sie die Schritte 3 bis 4 aus, um weitere Module zu importieren:
    1. Az.Automation,
    2. Az.Compute,
    3. Az.Network,
    4. Az.Resource,
    5. Az.Storage and
    6. ImportExcel

Erstellen von PowerShell-Runbooks

Wir werden nun die PowerShell-Runbooks erstellen. Es gibt zwei Runbooks, die wir erstellen werden. Das erste Runbook leitet den Prozess ein, indem es auf die Ereignisse auf dem Speicherkonto lauscht. Es liest die hochgeladene Excel-Datei, extrahiert die Informationen Zeile für Zeile und übergibt sie als Parameter an das zweite Runbook. Das zweite Runbook übernimmt die schwere Arbeit der Bereitstellung der virtuellen Maschinen und der Zuordnung der Netzwerksicherheitsgruppe zu den NICs.

Führen Sie die folgenden Schritte aus, um die Runbooks zu konfigurieren.

Erstellen von PowerShell-Runbooks

  1. Klicken Sie im linken Menü auf die Runbooks unter „Prozessautomatisierung“
  2. Klicken Sie auf der Seite „Runbooks“ auf „Runbook erstellen“
  3. Geben Sie im Popup-Fenster „Runbook erstellen“ den Namen „ImportWatcherRunbook“ ein und wählen Sie dann als Runbook-Typ „PowerShell“ aus.
  4. Sie werden zur Seite „PowerShell-Runbook bearbeiten“ weitergeleitet.
  5. Gehen Sie in einem anderen Browserfenster zurück zu gist.github.com/neerajks77 und kopieren Sie den Code für „InitiateWatcherProcess.ps1“.
  6. Kehren Sie zum Fenster „PowerShell-Runbook bearbeiten“ zurück und fügen Sie den Code ein.
  7. Stellen Sie sicher, dass Sie „$vResourceGroupName“ und „vAutomationAccountName“ entsprechend Ihrer Konfiguration aktualisieren.
  8. Nachdem Sie den Code eingefügt haben, klicken Sie auf „Speichern“ und dann auf „Veröffentlichen“. Dadurch wird Ihr erstes Runbook veröffentlicht.
  9. Wir befolgen die obigen Schritte 1 bis 7, um das zweite Runbook mit dem Namen „CreateVirtualMachineActionRunbook“ zu erstellen. Kopieren Sie dazu den PowerShell-Code aus dem Gist unter „CreateVirtualMachineActionRunbook.ps1“ und fügen Sie ihn in das Runbook ein. Speichern und veröffentlichen Sie das Runbook.

Zuweisen der Berechtigung für den Dienstprinzipal auf der Abonnementebene

Nachdem die Runbooks erstellt wurden, müssen wir dem zuvor erstellten Dienstprinzipal Berechtigungen zuweisen. Für dieses Lab werden wir dem Dienstprinzipal Mitwirkendenzugriff zuweisen. In echten Szenarien müssen Berechtigungen mit Bedacht vergeben werden, damit die Benutzeraktionen auf die gewünschten Aufgaben entsprechend ihrer Rollen beschränkt werden.

  1. Geben Sie in der Suchleiste „Abonnement“ ein und klicken Sie auf die erste Option
  2. Klicken Sie auf der Seite mit den Abonnements auf Ihr Abonnement, in dem alle Ressourcen erstellt wurden
  3. Klicken Sie auf der Abonnement-Seite im linken Menü auf „Zugriffskontrolle (IAM)“
  4. Klicken Sie auf der Seite „Zugriffskontrolle“ auf „Hinzufügen“, um den Dienstprinzipal zu einer Mitwirkendenrolle hinzuzufügen
  5. Wählen Sie im Popup-Fenster „Rollenzuweisung hinzufügen“ die Option „Rolle als Mitwirkender“, belassen Sie „Zugriff zuweisen“ auf dem Standardwert und geben Sie für „Auswählen“ den Wert „Varonis“ ein. Die VaronisAutomation-ID erscheint und wird ausgewählt.
  6. Wenn Sie fertig sind, klicken Sie auf „Speichern“.

Erstellen und Konfigurieren des Event Grids

Jetzt müssen wir ein Event Grid für das Speicherkonto erstellen, damit die Ereignisse jedes Mal veröffentlicht werden, wenn eine neue Datei in das Speicherkonto hochgeladen wird.

  1. Wir geben „Event Grid“ in die Suchleiste ein und klicken auf „Event-Grid-Themen“
  2. Klicken Sie auf der Seite „Event-Grid-Themen“ auf „Neu“
  3. Wählen Sie auf der Seite „Thema erstellen“ die Ressourcengruppe aus, geben Sie den Namen für das Thema ein und wählen Sie die Region. Es müssen keine anderen Optionen geändert werden.
  4. Klicken Sie anschließend auf die Schaltfläche „Überprüfen + Erstellen“ und nach der Validierung auf „Erstellen“

Erstellen des Webhooks zum Lauschen auf die Ereignisse im Speicherkonto

Nachdem das Thema erstellt wurde, müssen wir einen Webhook auf dem „ImportWatcherRunbook“ erstellen, da dieses Runbook auf die Datei-Upload-Ereignisse vom Speicherkonto lauschen wird, um den VM-Erstellungsprozess zu initiieren.

  1. Klicken Sie im Azure-Automation-Konto unter „Prozessautomatisierung“ auf „Runbooks“.
  2. Klicken Sie dann auf „ImportWatcherRunbook“.
  3. Klicken Sie auf der Seite „ImportWatcherRunbook“ auf „Webhook hinzufügen“.
  4. Klicken Sie auf der Seite „Webhook hinzufügen“ auf „Einen neuen Webhook erstellen“.
  5. Geben Sie auf der Seite „Einen neuen Webhook erstellen“ einen Namen für den Webhook ein. Belassen Sie alle anderen Werte auf ihren Standardwerten.
  6. Kopieren Sie die URL am unteren Rand und fügen Sie sie in den Notizblock ein. Dies ist ein erforderlicher Schritt, da Sie den Zugriff auf diese URL verlieren, wenn Sie von dieser Seite weg navigieren. Andernfalls müssen Sie einen neuen Webhook erstellen.
  7. Klicken Sie anschließend auf die Schaltfläche „OK“.
  8. Nachdem Sie nun wieder auf der Seite „Webhook hinzufügen“ sind, klicken Sie auf die Schaltfläche „Erstellen“.

Erstellen des Abonnements für die Ereignisse über den Webhook

Nun, da der Webhook erstellt wurde, ist es an der Zeit, das Ereignisabonnement zu erstellen. Dies ist der letzte Schritt bei der Konfiguration des Automatisierungsprozesses.

  1. Navigieren Sie zurück zum Automation-Konto
  2. Scrollen Sie im linken Menü nach unten zu den zugehörigen Ressourcen und klicken Sie auf das Event Grid.
  3. Klicken Sie auf der Seite „Event Grid“ auf „Ereignisabonnement“, um ein neues Abonnement zu erstellen.
  4. Geben Sie auf der Seite „Ereignisabonnement“ einen Namen für das Abonnement ein.
  5. Wählen als Thema „Speicherkonten“.
  6. Wählen Sie das Abonnement und die Ressourcengruppe.
  7. Wählen Sie für die Ressource das Thema, das im vorherigen Abschnitt erstellt wurde.
  8. Geben Sie für „Systemthemenname“ einen beliebigen Namen ein. Ich habe es als „topicsforwatcher“ benannt.
  9. Wählen Sie für die Ereignistypen „Blob erstellt“.
  10. Wählen Sie für den Endpunkttyp unter Endpunktdetails die Option „Webhook“ aus dem Dropdown-Menü und klicken Sie dann auf den Link „Endpunkt auswählen“.
  11. Fügen Sie im Popup-Fenster „WebHook auswählen“ die zuvor kopierte Endpunkt-URL in das Textfeld „Abonnenten-Endpunkt“ ein.
  12. Nachdem Sie alle Angaben gemacht haben, klicken Sie auf die Schaltfläche „Auswahl bestätigen“ und schließlich auf „Erstellen“.

Nachdem nun alle Schritte zur Konfiguration der Automatisierung abgeschlossen sind, ist es an der Zeit, das System zu testen. Wir gehen zum Speicherkonto und laden die Excel-Datei mit dem Namen „CreateVM.xlsx“ innerhalb des Containers „createvm“ hoch.

Nachdem die Datei hochgeladen wurde, gehen wir zurück zum „InitiateWatcherRunbook“ innerhalb des Automatisierungskontos. Wir können nun sehen, dass das Runbook automatisch startet.

Wenn wir auf den Status klicken, können wir weitere Details sehen. Unter dem Wert können wir sehen, dass der Vorgang durch den Webhook ausgelöst wurde.

Nachdem der Vorgang abgeschlossen ist, können wir die Ausgaben weiter untersuchen, indem wir auf die Registerkarte „Ausgabe“ klicken.

Schließlich können wir zu „Virtuelle Maschinen“ gehen. Hier sehen wir, dass die beiden virtuellen Maschinen erfolgreich bereitgestellt wurden.

Übersicht

Azure Automation ist ein Cloud-basierter Automatisierungs- und Konfigurationsdienst, mit dem Sie die Verwaltung und den IT-Betrieb automatisieren und die Aktionen in Umgebungen innerhalb und außerhalb von Azure sowie in lokalen Umgebungen orchestrieren können. Es hilft den IT-Teams und den Service-Desk-Teams, sich mehr auf produktive Arbeit und ihre Aufgaben zu konzentrieren, anstatt sich damit beschäftigen zu müssen, wie genau die Arbeit erledigt werden soll. So wird ein größerer Mehrwert für das Unternehmen geschaffen. Außerdem hilft es Unternehmen dabei, ihre Betriebskosten zu senken.

Avatar

Neeraj Kumar

Neeraj ist ein Azure-Enthusiast, Unternehmensarchitekt und Leiter des technischen Programms. Mit 21 Jahren Erfahrung in der IT-Branche leitet Neeraj High-End-Programme, die sich auf digitale und Cloud-Services konzentrieren, indem er Lösungen für Azure Cognitive Services, Data Science, IoT, Cloud-Migrationen etc. entwirft und entwickelt, um Unternehmen durch Maximierung ihres RoI zu unterstützen. Neeraj ist ein zertifizierter Azure-Architekt und -Administrator und entwickelt mit Leidenschaft Kurse zu echten Problemlösungen in Azure, um Unternehmen und Lernenden bei ihren Cloud-Tätigkeiten zu helfen.

 

Möchten Sie Varonis in Aktion erleben?

Vereinbaren Sie eine Demo oder wenden Sie sich an unseren Vertrieb unter +49 89 3803 7990