Azure Terraforming

Azure Terraforming

Azure Terraforming

Azure Terraforming: Die reiferen Leser/innen kennen das Wort «Terraforming» noch aus den Star Trek Filmen (Raumschiff Enterprise). Dort versuchte die Föderation mittels Terraforming auf einem leblosen Planeten eine “Klasse-M” Athomspäre zu erschaffen. Damit sollten neue Kolonien innerhalb des Föderationsgebietes erschlossen werden. Zudem über einen Zeitraum von dreissig Jahren.

Heute sind wir als IT Administratoren zeitlich stets gefordert, wenn es um die zugrundeliegenede Infrastruktur in der Cloud geht. Desweiteren herrscht eine Tendenz zur agilen Entwicklung, sodass immer kürzere Entwicklungszyklen und noch schnellere Umsetzungen von Veränderungen möglich werden. Da bleibt einem leider kein Jahrzent mehr, die Umsetzung muss oft innerhalb von Stunden möglich sein.

Um diese Schnelllebigkeit zu meistern, muss das Cloud Management, soweit als möglich, automatisiert sein. Sprechen wir von Infrastruktur in der Cloud, dann ist damit ein maschinenlesbarer Konfigurationscode gemeint. Die Bezeichnung dafür ist Infrastructure as Code (IaC)«.

Azure Terraforming: Infrastructure as Code

Für Entwicklungsteams ist es relativ üblich, den Quellcode einer Anwendung in einem Quellcode-Repository (wie z. B. GitHub oder Azure Repos) zentral zu verwalten. Somit kann der Code gemeinsam genutzt und Konflikte zwischen Entwicklern, die zum Beispiel an gleichen Modulen arbeiten, sind einfach lösbar. Leider ist dies bei Infrastruktur IT Teams noch nicht überall der Fall.

Aber es ist heute durchaus möglich, genau die gleichen Muster und Praktiken auf eine Cloud Infrastruktur anzuwenden. Dementsprechend beschreibt man diese einfach per Code und behandelt sie auch so. Man beschreibt die geplante Cloud Infrastruktur zuerst deklarativ (deklarativ =  in der Art einer Deklaration) in Code und im Anschluss deployed man den Code. Somit legt man alle Skripte, Konfigurationsdateien und Templates in einem Source-Control-Repository ab, versioniert sie und nutzt den gleichen Lebenszyklus wie bei den Anwendungen, die auf dieser Infrastruktur laufen.

Azure Terraforming

HashiCorp Terraform

Man kann diverse Tools nutzen, die einem beim Erstellen von Code zum Deployment einer Cloud Infrastruktur helfen. Microsoft bietet mit den Azure Resource Manager Templates die Möglichkeit, die gesamte Infrastruktur mit einigen Variablen und Parametern zu beschreiben.

Auch Azure Terraform ist ein Open-Source-Tool, das von HashiCorp entwickelt und gepflegt wird. Es verfolgt genau das gleiche Ziel wie die ARM-Templates: Es hilft, eine Cloud Infrastruktur deklarativ zu beschreiben.

HCL (HashiCorp Configuration Language)

Azure Terraform bietet mit HCL, eine einheitliche Deklarationssprache. Mit dieser lassen sich Cloud Ressourcen „standardisiert“ beschreiben. Statt händisch über das Azure Portal neue Instanzen anzulegen oder dort bestehende Ressourcen anzupassen, werden diese in HCL beschrieben und an Terraform übergeben. Terraform führt die beschriebenen Änderungen über die Azure API automatisch durch. Somit erstellt Terraform eine komplette Cloud Infrastruktur (anlog dem Bild unten).

Azure Terraforming

Plan, Apply und Destroy

Steht der Code einmal bereit, arbeitet man vereinfacht mit den folgenden drei Hauptschritten:

  • Plan: der Code wird direkt mit der bestehenden Cloud Umgebung verglichen, allfällige Änderungen die ausgeführt “würden”, werden angezeigt
  • Apply: die Differenz zwischen Code und bestehender Cloud Umgebung wird deployed (neu erstellt, geändert, gelöscht)
  • Destroy: Alle im Code beschriebenen Ressourcen werden in der Cloud Umgebung gelöscht

terraform plan

Der gesamte Code aller Azure Terraform Dateien im aktuellen Arbeitsverzeichnis wird überprüft und man erhält eine Übersicht über alle Änderungen, die vorgenommen werden würden:

Azure Terraforming

terraform apply

Analog «Plan» werden die Änderungen angezeigt, aber jetzt erhält man die Option um die Änderungen direkt an der Cloud Infrastruktur umsetzen zu lassen. Die Ausgabe zeigt den Fortschritt und die Rückmeldung, wenn die Änderungen abgeschlossen sind.

blank
blank

terraform destroy

Genau wie bei Apply erhält man eine Übersicht über die Elemente, die zerstört werden sollen. Nach der Ausführung sind alle beschriebenen Ressourcen wieder gelöscht:

blank
blank

Wofür nutzen wir Azure Terraforming?

Die Azure Umgebungen unserer KMU Kunden sind im Wesentlichen immer ähnlich aufgebaut. Sie werden von uns deshalb per Terraform erstellt und und auch so verwaltet. Dadurch erhalten diese Umgebungen immer das gleiche Deployment, sowie ein einheitliches Naming aller Azure Objekte. Der Code selbst ist in sich geschlossen und wird pro Kunde abgelegt.

Arbeiten wir in grösseren Kunden oder Enterprise Umgebungen mit Azure Terraforming, sind die einzelnen Terraform Projekte meist untereinander abhängig. Die Terraform Stati müssen zentral abgelegt werden (z.B. auf einem Azure Storage Account) und für andere Projekte zur Verfügung stehen.

Speziell in grösseren Deployments nutzen wir das Microsoft Cloud Adption Framework. Darin werden meist die zentralen Infrastruktur Komponenten als Provider für die Landing-Zones separat zu den eigentlichen Applikationsprojekten generiert und modular verwaltet:

  • Der Cloud Perimeter mit Firwall’s, WAF’s und anderen Core Komponenten werden per Code bereitgestellt und der Terraform Status zentral abgelegt
  • Landing-Zone deployment werden ebenfalls per Code bereitgestellt, können dann auf den Perimeter Status zugreifen und alle erforderlichen Infos für Peerings, Policies usw. im Code direkt verwenden
  • Soll eine weitere Region oder Datacenter hinzugefügt werden, ändern sich nur die Variablen im Code damit ein eine komplette neue Cloud Umgebung erstellt werden kann

 

 

blank

Fazit

Mit Azure Terraform kann man eine komplette Cloud Infrastruktur as Code erstellen und diese in Azure deployen, verwalten und auch wieder zerstören.

Dies mit folgenden Vorteilen:

  • Cloud Ressourcen erhalten einheitliche Namen und werden nicht dynamisch generiert wie über das Azure Portal
  • Die komplette Umgebung kann gelöscht und in kurzer Zeit wieder neu erstellt werden
  • Umgebungen können dupliziert werden unter Wiederverwendung des Codes. Sei es für DEV,TEST und PROD Umgebungen oder als komplettes eigenes virtuelles Datacenter in einer anderen Azure Region
  • Bei jedem Durchlauf wird der Code, der gespeicherte Status sowie die Echtzeit Umgebung geprüft und verglichen. Änderungen die direkt gemacht wurden und nicht per Code, werden sofort ersichtlich

Conditional Access (hybrid Umgebung inkl. Mac)

Conditional Access

Ausgangslage Conditional Access

In diesem Blog beschreiben wir Conditional Access mit Microsoft Intune in einer hybriden Umgebung. Als Ausgangslage dient eine Umgebung, die hybrid betrieben wird und noch den einen oder anderen Apple Mac PC beinhaltet. Die bestehenden File-Server wurden durch SharePoint Online abgelöst. Nun muss jedoch sichergestellt werden, dass die Bibliotheken nur auf Firmengeräten synchronisiert werden dürfen. Wie lässt sich dies unter diesen Voraussetzungen sicherstellen?

Was ist die Lösung?

Die Lösung hierfür lautet Conditional Access. Mit der Verwendung von Conditional Access Policies lassen sich entsprechende Zugriffskontrollen erstellen. Dabei lassen sich weit komplexere und umfassendere Policies erstellen, als wir es in diesem Beispiel tun.

Lizenzierung

Um Conditional Access verwenden zu können, müssen die erforderlichen Benutzer mindestens über eine Azure AD Premium P1 Lizenz verfügen. (*Azure AD Premium P1 steht auch mit Microsoft 365 Business Premium zur Verfügung.)

Ziel

Das Ziel ist es, sicherzustellen, dass ein Benutzer der auf eine SharePoint Online Bibliothek zugreift, diese nur mit OneDrive synchronisieren kann, wenn sein Gerät der Firma gehört. Somit soll verhindert werden, dass Firmenbibliotheken auf privaten, unsicheren Computern synchronisiert werden.

Mancher denkt sich jetzt, «ist ja einfach und lässt sich ganz simpel im SharePoint Admin Center einstellen» Sicher ja, dies könnte es sein. Doch eine Umgebung, bei welcher einige Geräte Azure AD joined sind, andere sich in der lokalen Active Directory befinden und zusätzlich noch Apple Macs existieren, wird es dann doch etwas komplizierter. Aus diesem Grund kommt eine Lösung mit Conditional Access zum Zug.

Übersicht Zugriffe

In folgender Tabelle abgebildet ist die Zugriffsübersicht.

  Zugriff
Gerät (Besitzer) Browser OneDrive-Client
Desktop (Firma) Ja Ja
Laptop (Firma) Ja Ja
iMac (Firma) Ja Ja
Desktop (Privat) Ja Nein
Laptop (Privat) Ja Nein
iMac (Privat) Ja Nein
Übrige (Privat) Ja Nein

Conditional Access Policy

Basierend auf vorgehender Tabelle, wird nun eine Conditional Access Policy erstellt, die den Zugriff auf SharePoint Online regelt.

Dafür wird eine neue Policy erstellt, die auf alle Benutzer angewandt wird. Weiters wird die Policy auf die Cloud App Office 365 SharePoint Online angewandt, und zwar für jedes Device von jeder Location. Der Browser wird ausgeschlossen. Was nun wichtig ist: Die Richtlinie wird für alle Device states gesetzt, ausgenommen werden aber Geräte die a) Hybrid Azure AD joined oder b) als «compliant» markiert sind. Dazu im nächsten Abschnitt mehr. Weiters wählen wir Block access und !WICHTIG! erst einmal «Report only». Dadurch sperren wir uns nicht gleich selbst aus und können erst einmal mit What-if ein paar Szenarien prüfen.

Folgend ein paar Szenarien im Test. (Benutzer im Azure AD)

 

  • Zugriff von privatem Windows 10 Gerät via Browser: Erlaubt
What-if private Windows 10 Browser
  • Zugriff von privatem Windows 10 Gerät via OneDrive: Blockiert
What-if private Windows 10 OneDrive
  • Zugriff von Firmengerät, Windows 10 via OneDrive: Erlaubt
What-if company Win 10 OneDrive

Device State compliant oder Hybrid Azure AD joined

Wichtig ist, dass die Firmengeräte einer dieser beiden Status erhalten. Hybrid Azure AD joined erhält ein Gerät, wenn es aus der lokalen AD ins Azure AD synchronisiert wird. Somit wird davon ausgegangen, dass diese Geräte auch der Firma gehörten. Was aber nun mit den Azure AD joined-Geräten und den Macs, die sich nicht in der lokalen AD befinden?

Intune

Da kommt nun Intune zum Einsatz. In Intune wird eine Device Compliance Policy erstellt und anschliessend wird bei allen Azure AD-joined Geräte eine MDM-Registrierung durchgeführt. Für das Enrollment der iMacs und MacBooks muss erst ein Apple MDM Push certificate erstellt werden, worauf sich aber auch die Mac-Geräte im Intune registrieren lassen. Da alle diese Geräte nun compliant sind (sofern sie die Kriterien der Policy erfüllen), können die SharePoint Bibliotheken nun ebenfalls auf diesen Geräten synchronisiert werden.

Device Compliance Intune with iMac

Fazit

Mit dem Einsatz von Conditional Access lässt sich auch in einer gemischten Umgebung der Zugriff auf SharePoint Bibliotheken einschränken. Klar, in dem beschriebenen Szenario könnte der Mitarbeiter den Ordner auch im Browser öffnen und die Datei lokal herunterladen. Es könnte sogar noch weiter gegangen werden und auch den Zugriff via Browser verboten werden, wenn es sich nicht um ein Firmengerät handelt. Wie restriktiv die angewandten Richtlinien sind, hängt immer von der Firma und ihrer Philosophie ab.

User Manager PowerApp mit Power Automate

User Manager PowerApp

Eigenschaften eines Benutzers (Attribute) werden in Azure Active Directory (Azure AD) üblicherweise durch IT-Administratoren bearbeitet. Möchte ein HR-Mitarbeitender eigenständig Benutzer (Attribute) anpassen, also ohne Hilfe der IT und ohne Administratorenrechte, kommt die User Manager PowerAppsins Spiel. Der User Manager ist eine von TwinCap First erstellte App, basierend auf PowerApps. Berechtigte Mitarbeiter können ohne Administrationsrechte, definierte Azure AD Benutzerattribute, selbständig bearbeiten. Das klingt komplizierter als es tatsächlich ist.

User Manager

Mit PowerApps stellen wir ein GUI zur Verfügung, welches dem HR-Mitarbeiter erlaubt die Attribute sämtlicher Azure AD User-Objekte anzupassen. In diesem Beitrag zeigen wir dir, wie die App aufgebaut ist.

Suchfunktion

Die User Manager PowerApp verfügt über eine Suchfunktion, welche in der Azure AD die passenden Objekte (Benutzer) sucht. Diese werden anschliessend, in diesem Fall auf 15 Einträge limitiert, in einer Liste dargestellt.

 

PowerApps User Manager Searchbar

Objekt Attribute

Wird ein Objekt ausgewählt, wird die zugehörige Information geladen und dargestellt. Dies sind in die zwei Kategorien Job Info und Contact Info. Mit einem Klick auf den edit-Button wird die entsprechende Kategorie zur Bearbeitung freigeschaltet.

PowerApps User Manager Attribute Overview

Zu den Attributen, die der Mitarbeitende bearbeiten kann, gehören:

  • Job Titel
  • Department
  • Manager
  • Office
  • Street
  • ZIP
  • City
  • State
  • Country
  • Mobile Phone

 

Wurden die entsprechenden Attribute bearbeitet, wird mit Update Properties der ganze Hintergrundprozess zur Editierung gestartet.

HINTERGRUNDPROZESS

Der Mitarbeiter triggert einen Flow in Power Automate, der die Daten entgegennimmt, verarbeitet und mittels HTTP-Request an einen neuen Flow weitergibt. Dieser prüft erst die Authentifizierung und wenn diese erfolgreich verlaufen ist, werden die Daten weiterverarbeitet. Diese Informationen werden anschliessend mittels Graph API in der Azure AD in das entsprechende User-Objekt geschrieben. Ebenfalls kümmert sich der Flow noch um das Manager-Attribut, falls bei dem etwas geändert werden muss.

PowerApps User Manager Saving

Ist der Prozess erfolgreich durchgelaufen, wird dem Benutzer dies mittels Erfolgsmeldung bestätigt.

PowerApps User Manager Success

Im Anschluss daran kann er auswählen, ob ein weiterer Mitarbeiter bearbeitet werden soll oder er kann die App direkt schliessen.

PowerApps User Manager Optionscreen

SCHLUSSWORT

Mit der User Manager PowerApps kann der Mitarbeitermanagement-Prozess vereinfacht werden. Die IT muss nicht jedes Mal angefragt werden, wenn Attribute geändert werden müssen. Gleichzeitig können HR-Mitarbeitende auch nur ausgewählte Attribute verändern, wodurch keine Gefahr von versehentlichen, kritischen Änderungen entsteht. Mit Graph API wird eine moderne Schnittstelle als Zugang zur Azure AD verwendet und mit der Active Directory OAuth der Zugang geschützt. Die durch den Einsatz dieser Applikation entstandene Vereinfachung des Prozesses lohnt sich für Ihr Unternehmen, um einerseits die IT von administrativen Tasks zu entlasten und andererseits kostbare Zeit einzusparen.

Office 365 wird zu Microsoft 365

Office 365 wird zu Microsoft 365

Office 365 wird Microsoft 365

Wie Ende März von Microsoft angekündigt, ändern sich bald die Namen für einige Office 365 Abos. Was dies für Sie bedeutet haben wir in diesem Beitrag kurz zusammengefasst.

Wann? Am 21. April 2020
Welche Abos sind betroffen?  Office 365 Business Essentials, Office 365 Business Premium, Microsoft 365 Business, Office 365 Business und ProPlus
Was ändert sich? Der Produktname
Muss ich etwas vornehmen? Nein, die Änderung passiert automatisch

Produktnamen

Folgend finden Sie eine Übersicht über die neuen Produktnamen.

Alt Neu
1. Office 365 Business Essentials -> 1. Microsoft 365 Business Basic
2. Office 365 Business Premium -> 2. Microsoft 365 Business Standard
3. Microsoft 365 Business -> 3. Microsoft 365 Business Premium
4. Office 365 Business und Office 365 Pro Plus -> 4. Microsoft 365 Apps

Folgende Office 365 Pläne sind von der Änderung nicht betroffen:

  1. Office 365 for Enterprise ( Office 365 E1, E3 und E5)
  2. Office 365 for Firstline Workers (Office 365 F1)
  3. Office 365 for Education (Office 365 A1, A3 und A5)
  4. Office 365 for Government (Office 365 G1, G3 und G5)

Die wichtigsten Fragen und Antworten zu Office 365 wird Microsoft 365

Q: Ab welcher Version wird der neue Namen erscheinen?
A: Ab Version 2004, die am 21. April 2020 starten wird.

Q: Werden ältere Versionen ebenfalls angepasst?
A: Nein, da bleibt der bisherige Namen bestehen.

Q: Ich verteile die Apps via Office Deployment Tool. Ändert sich die Produkt-ID?
A: Aktuell bleibt die Produkt-ID die selbe. Somit muss vorläufig nichts angepasst werden.

Q: Ändert sich mit dem Namen auch der Preis?
A: Aktuell ist keine Preisänderung geplant.

Mehr Details und sämtliche Antworten können Sie diesem Beitrag entnehmen:

Fazit

Office 365 wird Microsoft 365: «Microsoft Office», «Office» oder später dann «Office 365» sind Begriffe, die uns seit dem Jahr 1990 begleiten. Deswegen war es auch nicht verwunderlich, dachten die meisten Menschen lediglich an Word, Excel und PowerPoint wenn sie «Office 365» gehört oder gelesen haben. Es war ja zu einem Synonym für diese Anwendungen geworden. Dass Office 365 aber sehr viel mehr zu bieten hat und diese Apps nur ein Teil davon sind, wurde durch das Naming oft im ersten Gedanken etwas vergessen. Aus diesem Grund erachten wir das Renaming in Microsoft 365 als sinvollen Schritt und bestärkt auch den Weg von Microsoft. Gewusst, wir sind Microsoft Gold Partner Productivity, d.h. spezialisiert auf Microsoft 365

 

 

Mehrere Microsoft Teams als Progressive Web App parallel installieren

Mulit-Teams-PWA

Ist man im Besitz von mehreren Microsoft Teams Accounts, verteilt auf mehreren Office 365 Tenants, so musste man sich immer ausloggen und mit dem jeweiligen Benutzer, mit dem man zugreifen will, wieder einloggen. Der ganze Prozess gestaltete sich mühselig und aufwändig. Der neue Edge Browser von Microsoft bietet einen Weg, diese Prozedur zu vereinfachen. Erfahren Sie in diesem Beitrag, wie Sie mehrere Teams auf ihrem Windows 10 Gerät als Progressive Web App (PWA) installieren.

Teams als Progressive Web App (PWA) installieren

Seit Microsoft den neuen, auf Chromium basierenden Edge veröffentlicht hat, gibt es die Möglichkeit verschiedene Profile anzulegen (Ich weiss, Google Chrome konnte das schon seit längerem). Dies vereinfacht die ganze Anmelde-/Abmeldeprozedur erheblich und unterstützt auch Single-Sign-on (SSO).

Durch diese Möglichkeit, lässt sich bequem ein Profil für jeden Office 365 Tenant anlegen, in welchem man sich mit dem entsprechenden Benutzer anmelden möchte. Wenn Sie nun Teams im Edge öffnen, lässt sich dieses direkt als App installieren. Dadurch sind Sie in der Lage, für jedes Edge Profil eine eigene Microsoft Teams Umgebung als App zu installieren. Diese App erhält einen nativen Charakter, da das browsertypische Layout wegfällt. Ebenso lässt sich die App dem Start Menu zuweisen.

Wie das genau funktioniert erkläre ich Ihnen in folgendem Abschnitt.

Anleitung

Microsoft Edge installieren

Als erstes benötigen Sie den neuen Edge Browser. Falls Sie ihn noch nicht installiert haben kann er unter folgendem Link abgerufen und installiert werden: Microsoft Edge Chromium
Wählen Sie die gewünschte Sprache und die benötigte Plattform.

Profile in Edge anlegen

Um in Edge ein neues Profil anzulegen, klicken Sie oben rechts auf die drei Punkte. Anschliessend auf Add profile.

Edge Create Profile

Etwas unschön ist die Tatsache, dass das Profil erst einmal mit einem generischen Namen angelegt wird. Den Namen und das Icon des Profils können Sie über Manage Profile Settings ändern.

Edge Edit Profile

Teams als PWA installieren

Als erstes ist es wichtig, dass Sie Microsoft Teams im Browser als Web-App öffnen. Ist die Oberfläche geladen, führt der Weg wieder über die drei Punkte oben rechts auf Apps und Install this site as an app.

Edge Install Site as

Darauf öffnet sich ein Pop-up, indem der Name für die App definiert wird.

Name Edge PWA

Mehrere Teams Apps im Start Menü

Haben Sie nun eines oder mehrere Teams als App installiert, lassen sich diese für den einfachen Zugriff im Startmenü anzeigen. In meinem Fall habe ich sie in der Gruppe Microsoft Teams zusammengefasst.

Teams PWA in Start Menu

FAZIT

Wie sie aus meinem Beitrag entnehmen können, ist die Prozedur ziemlich einfach. Sind die Teams einmal als App installiert, ist es ziemlich einfach diese parallel geöffnet zu haben und dadurch Notifications zu empfangen. Der Zugriff auf die Kamera, Mikrofon und das Erlauben von Benachrichtigungen lässt sich gewähren und auch jederzeit wieder modifizieren. Das einzige was aktuell (Stand 30. März 2020) noch nicht geht, ist die Blur-Funktion für den Hintergrund, wenn die Kamera eingeschaltet ist.

Microsoft Teams PWA

Liebe Blogleser/innen, Sie haben den Blog gelesen, herzlichen Dank hierfür. Wie Sie wissen entwickeln sich die Teams Telefonie Funktionen rasant weiter. Zum Zeitpunkt des Artikels war der Inhalt bestimmt aktuell, es kann aber sein, dass die Infos bereits überholt sind. Da wir geschriebene Blogs nur selten anpassen, finden Sie hier den Link zu unserer Teams Telefonie Seite mit allen aktuellen Informationen zum Thema.