ScriptRunner Blog
ScriptRunner, Azure und M365 – ein perfektes Trio
Inhaltsverzeichnis
Azure AD, M365-Dienste wie Exchange Online, Teams u.a. sowie Azure Cloud kommen in vielen Unternehmen zunehmend zum Einsatz. Neben dem grundsätzlichen Management von Benutzern und Diensten sind die Verwendung von Azure AD-Konten sowie die gezielte Suche mittels der verfügbaren Graph-Abfragen bedeutsam.
ScriptRunner integriert alle diese Möglichkeiten unter einem Dach und unterstützt IT Pros optimal im IT Infrastructure & Operations Automation.
Grundkonzept und wesentliche Komponenten
Wir wollen uns zu Beginn das Grundkonzept sowie die notwendigen Komponenten und Bestandteile einer Cloud-Umgebung mit M365 und Azure und deren Funktion und Zusammenspiel anschauen.
Das Grundkonzept (Abb. 1) von ScriptRunner folgt dem Prinzip der „Gewaltenteilung“ für Zugriffe auf Systeme und Dienste. Anwender haben in ScriptRunner Rollen und erhalten Zugriffsrechte auf Funktionen in Abhängigkeit von ihrer Rolle.
ScriptRunner Server erledigt die Zugriffe auf zentrale System und Dienste völlig unabhängig von den Anwenderzugriffen. Er führt als Automatisierungsplattform stellvertretend PowerShell-Scripte im notwendigen und dafür konfigurierten Rechtekontext aus. Damit ist der direkte, unkontrollierte Zugriff von Anwendern, egal in welcher Rolle, auf die IT-Systeme und Cloud-Dienste ausgeschlossen.
Azure AD als Identity Provider
Jede Systemumgebung benötigt einen sogenannten Identity Provider. Die bekannteste Implementierung dafür kennt jeder IT Pro: das eigene Active Directory.
Ein eigenes Active Directory inkl. Zertifizierungsstellen etc. ist in dem Kontext ein privater Identity Provider und stellt alle Ressourcen zur Identifizierung von Anwendern, Geräten, Systemen, Diensten und Applikationen zur Verfügung.
Im Zeitalter von Clouds spielen „öffentliche“ Identity Provider eine zunehmende Rolle. Diese werden von großen Anbietern wie Microsoft, Amazon, Google und anderen bereitgestellt. Neben diesen Anbietern gibt es auch unabhängige Spezialanbieter für Meta-Identity Provider.
Der Identity Provider von Microsoft für M365 und Azure Cloud ist das Azure Active Directory (AAD). Es hat vereinfacht gesagt die Aufgabe Anwender, Geräte, Systeme, Dienste und Anwendungen zu identifizieren und die Rollen, Zugriffsrechte und Funktionen zu regeln.
Daraus folgt: keine Benutzeranmeldung und kein Zugriff auf Dienste von M365 und Azure Cloud ohne AAD. Das AAD ist also eine notwendige Kernkomponente zur Nutzung und zum Management der Microsoft Cloud-Dienste.
Da viele Unternehmen mit dem eigenen AD bereits einen privaten Identity Provider betreiben, kann man diesen mit dem AAD koppeln und synchronisieren. Am häufigsten wird dafür Active Directory Federation Services verwendet. Vorteil: Anwender können mit einem synchronisierten Account sowohl auf interne als auch auf Cloud-Dienste zugreifen. Perspektivisch wird sich die Anmeldung mit dem AAD Account wohl durchsetzen.
Bevor ScriptRunner direkt mit dem Identity Provider AAD interagieren kann, muss er diesem bekannt gemacht werden. Anschließend kann das System so konfiguriert werden, dass sich alle Anwender mit ihrem AAD-Account am ScriptRunner Portal anmelden können. Dazu verwendet man die App Registration.
App Registration in Azure AD
Jede Anwendung und jeder Service, welche der Kontrolle des AAD unterliegen sollen, müssen dem Identity Provider bekannt sein. Dafür hält AAD Methoden zur Registrierung bereit (siehe Abb. 2). Mit der Registrierung entsteht im AAD für externe Dienste bzw. Anwendungen wie ScriptRunner ein minimales digitales Abbild, welches die Zugriffsregelungen für den eigenen AAD-Tenant oder auch im Multi-AAD-Tenant-Betrieb bereithält. Die Einstellungen steuern u.a. auch, ob das ScriptRunner Portal im O365-Portal als App direkt anklickbar ist oder verborgen bleibt.
Vorbereitungen zur App Registration
Um ScriptRunner im AAD registrieren zu können, sollten sie einige vorbereitende Überlegungen und Arbeiten vornehmen:
- Sollen sich die Anwender zukünftig weiter mit ihrem AD-Account oder mit ihrem AAD-Account anmelden? Wenn nein, können sie die nächsten beiden Punkte überspringen. Achtung: Wenn Sie bereits Basic Auth an einem Web Service Connector verwenden, ist der Port für die Benutzeranmeldung mittels AAD bereits belegt
- Anlegen von Security Gruppen im AAD analog zu den Gruppen im AD
- Aktivieren in ScriptRunner in der Rolle „ScriptRunner Main Admins“ den „Azure Initial Admin Access“
- Installieren von .NET 4.7.2 oder höher auf ScriptRunner Server
- Aktivieren von TLS 1.2 auf dem ScriptRunner Server
- Installieren der beiden PowerShell Module AzureAD und Az in der neuesten Version auf ScriptRunner. Deinstallieren Sie unbedingt das Modul AzureADPreview
- Bereitstellen von mindestens einem Zertifikat für die sichere Verbindung und die Zertifikats-basierte Authentifizierung auf ScriptRunner Server
Anschließend testen Sie die Verbindung von ScriptRunner Server zum AAD Endpoint, indem Sie in der PowerShell eine Verbindung aufbauen und sich die Domains anzeigen lassen:
ScriptRunner App registrieren
Nachdem Sie alle Vorbereitungen abgeschlossen und nochmals kontrolliert haben, können Sie die App Registrierungen für ScriptRunner vornehmen. Dazu benötigen Sie die Rechte als globaler Administrator im AAD.
Zuerst lassen Sie sich die Thumbprints der beiden Zertifikate in der PowerShell anzeigen. Dazu nutzen Sie folgenden Befehl:
Es öffnet sich das AAD-Anmeldefenster. Nach der Anmeldung erfolgt eine umfangreichere Script-Verarbeitung. Am Ende erscheint ein längerer Hinweis für die Fertigstellung der Registrierung.
Sie können nun im Azure Portal, unter dem Reiter „App registrations“, die App Registrierungen überprüfen (Abb. 3).
Mit Azure AD Accounts anmelden und Azure AD Sicherheitsgruppen verwenden
Anschließend müssen Sie in ScriptRunner im Hauptmenü „Delegation“ in einer Rollengruppe die entsprechenden AAD Security Gruppen hinzufügen (Abb. 7). Die Wirkung zur Zugriffsberechtigung durch Mitglieder der Gruppen auf Funktionen in ScriptRunner ist äquivalent aus AD Gruppen bekannten Verhalten.
Azure Queries in ScriptRunner
Azure Queries ermöglichen eine interaktive Auswahl von Objekten, welche im Azure AD, Azure Cloud oder M365 verfügbar sind (Abb. 8). Wie schon bei den bekannten AD Queries in ScriptRunner ist es möglich sowohl direkt als auch mittels PowerShell diese Abfragen zu tätigen (Abb. 9).
Über den Autor:
Frank Kresse ist Head of Product und CEO von ScriptRunner. Als Erfinder der Automatisierungs- und Delegationslösung für PowerShell berät er Kunden zu Use-Case-Szenarien und entwickelt Lösungen für die Automatisierung und die Digitalisierung ihrer Prozesse. Außerdem ist er an Technologie-Start-ups beteiligt.