Direkt zum Hauptbereich

Azure Service Principal

 

Azure Service principal


Ein Azure Service Principal ist ist eine im Azure Portal definierte Identität, die von Automatisierungstools und Services gebraucht wird, um auf spezifische Ressourcen innerhalb der Azure Cloud zuzugreifen. Die Identität verfügt über ein Login mit Passwort oder aber über ein Zertifikat, um sich gegenüber Azure zu authentifizieren. Da die Identität über eine spezfische Rolle verfügt kann die Autorisierung gegenüber ausführbarer Funktionen fein granular gesteuert werden.

Mittels der Identität kann dann beispielsweise eine in Azure DevOps entwickelte App, automatisch auf ein Server in der Azure Cloud deployt werden.

Service connection


In Azure DevOps muss eine Service Connection erstellt werden, so dass Azure DevOps mit den Angaben des Service Prinicpals automatisch eine Anwendung deployen kann. Das Vorgehen für die Erstellung eines Service Principals ist wie folgt:

Projects auswählen


Zuerst wird in den "Organization Settings" der Reiter Projects ausgewählt. Dort wird dann auf das Projekt geklickt, wo eine Service Connection erstellt werden soll.

Das Projekt anklicken

Bei den Pipelines den Menüpunkt "Service connections" anwählen:

Service connections anklicken


Das Plus zeichen anklicken:

+ New service connection anklicken
In der Drop Down Box "Azure Ressource Manager" auswählen:

Unten auf den Link "use the full version of the service..." anklicken


Den obigen Dialog ignorieren und "use the full version of the service ..." anklicken:

Dialog ausfüllen



Es wird eine Subscription ID, ein Subscription Name, ein Service principal client ID, eine Tenant ID und ein Service principal key verlangt.

Diese Informationen müssen als bereitgestellt werden, damit Azure DevOps eine Service connection zum Portal aufbauen kann.

Ein Service Principal im Portal definieren


Subscription ID


All Services auswählen:




Dann  Subscriptions:



Subscription auswählen:






Die ID kopieren und festhalten

Tenant ID

Azure Active Directory anklicken:



Dort Properties anklicken:



und die Directory ID kopieren:



App Registration

Dazu wieder ins Azure Active Directory wechseln und dort App registrations auswählen:



Dann das Plus auswählen:











Die Applicaion ID notieren - sie entspricht der Service Principal Client ID für die Service Connection in Azure DevOps.

Dann auf Setings anklicken und auf Keys:

Key erstellen



Key notieren, wenn erstellt. Der Key entsprich dem Service Principal Key in der Azure DevOps Service connection.

Service Principal konfigurieren


Unter Subscriptions "Access control (IAM)" anwählen:



Add anklicken (Role assignement)




Kommentare

Beliebte Posts aus diesem Blog

Python : Einführung in pygame

Einführung Pygame ist eine Bibliothek in Python, die es erlaubt grafisch anspruchsvolle Spiele zu erstellen. Damit pygame effektiv eingesetzt werden kann, braucht es doch einiges an Basiswissen, das in diesem Blog vermittelt wird. Gerade für Spiele wird vielmals von Elementen der Künstlichen Intelligenz Gebrauch gemacht. Teilweise handelt es sich nur um offensichtliche KI-Routinen aber andererseits auch um hochkomplexe Algorithmen, die nicht so trivial zu verstehen sind. Vor etlichen Jahren habe ich ein Buch gekauft, mit dem ansprechenden Namen " AI for Game developers " von David M. Bourg und Glenn Seemann. Das Ziel war es, herauszufinden, wie einfach ein Spiel unter Java 5 realisiert werden könnte. Das ganze sollte ein Kundenprojekt werden, ist aber dann nie zustande gekommen, weil der Aufwand zu gross war, das Projekt mit den bestehenden Java Bibliotheken umzusetzen. Für meine weitere "Forschung" hinsichtlich KI habe ich dieses Buch wieder zur Hand genomm...

Terraform und Ansible - ein starkes Gespann

Einführung Terraform (IaaS - Infrastructure as a Service) und Ansible (CaaS - Configuration as a Service) bilden zusammen ein starkes Gespann, um schnell konfigurierte Ressourcen auf der Microsoft Azure Cloud zu provisionieren. In meinen bisherigen Blogartikeln habe ich bisher Terraform vorgestellt https://thomkerle.blogspot.com/2019/02/azure-infrastruktur-erstellen-mit.html https://thomkerle.blogspot.com/2019/03/azure-service-principal.html https://thomkerle.blogspot.com/2019/03/eine-komplette-terraform-pipeline-mit.html https://thomkerle.blogspot.com/2019/08/terraform-12-ist-da.html und zwar wie mit Terraform effizient Ressourcen aus Azure DevOps ( https://dev.azure.com ) provisioniert werden können. Während sich Terraform vor allem im Bereich "Ressourcen-Deployment" etabliert hat, scheint sich Ansible im Bereich "Configuration as a Service" zu etablieren. In diesem Artikel präsentiere ich ein Beispiel, wie mit Terraform Ansible Code - nach de...

Gnome Desktop auf Azure

Einleitung DaaS heisst nichts anderes als Desktop as a Service. Darunter wird die Bereitstellung eines Desktops in der Cloud verstanden. Anstatt Windows 10 zu Hause zu nutzen, wird Windows in der Cloud genutzt. Also anstatt leistungsfähige Hardware zu Hause zu horten, kann die Hardware in der Cloud genutzt werden. Mit geeigneter Software kann dann ein virtueller Desktop zur virtuellen Maschine in der Cloud lokal auf dem eigenen Rechner genutzt werden.  Im Moment ist dabei klar Citrix der Marktführer dicht gefolgt von anderen Herstellern unter anderem auch Microsoft. Schaut man in die Linux Welt, so wird mit Spice ein Protokoll angeboten, mit dem eine unter KVM laufende virtuelle Maschine angesprochen werden kann. Das Desktop Experiment übernimmt der virt-viewer, der unter unter  https://www.spice-space.org/download.html heruntergeladen werden kann. Hier gehen wir aber von einem leicht anderen Setup aus. Wir wollen den virt-viewer nutzen, um eine in Azure deployte U...