Zum Inhalt springen

Azure Cloud Shell ohne Terminal-Stress

Azure CLI und die SBS-Installationsskripte direkt im Browser ausführen – ohne lokale Installation und mit klaren Prüfungen für Tenant, Abonnement und Berechtigungen.

Der einfachste Weg: Cloud Shell im Azure-Portal

Azure Cloud Shell ist ein Terminal direkt im Browser. Sie sind mit Ihrem Azure-Konto bereits angemeldet und die Azure CLI (az) ist vorinstalliert. Für die Installation von Smarter Visitor Registration empfehlen wir Bash in Cloud Shell.

Diese Seite begleitet Sie durch die beiden einmaligen Microsoft-Entra-Schritte: prepare-app-registration vor der Marketplace-Bereitstellung und grant-graph-permissions danach. Die vollständige Reihenfolge finden Sie in der Installationsanleitung.

1

Vor einer Visitor-Registration-Installation

Beginnen Sie mit der Vorabprüfung für Subscription, eindeutige Firmennamen, App-Service-Quota und Resource Provider. Dort finden Sie getrennte Bash-Blöcke zum Prüfen und Registrieren, einschließlich Microsoft.OperationalInsights. Die Skript-Erklärung beschreibt die Änderungen im Mandanten; die Wiederanlauf-Hilfe unterscheidet Redeploy und Regionswechsel.

2

Cloud Shell öffnen

  1. Öffnen Sie portal.azure.com und wechseln Sie in den Tenant des Kunden.
  2. Wählen Sie oben in der schwarzen Portal-Leiste das Terminal-Symbol Cloud Shell. Alternativ öffnen Sie shell.azure.com.
  3. Wählen Sie Bash. Die Befehle auf dieser Seite sind für Bash geschrieben.
  4. Beim ersten Start kann Azure nach einem Abonnement und einem Speicher für Ihre Cloud-Shell-Dateien fragen. Folgen Sie dem Assistenten und warten Sie auf die Eingabeaufforderung, die mit $ endet.

Keine lokale Installation nötig

In Cloud Shell müssen Sie weder Azure CLI installieren noch normalerweise az login ausführen. Ihr Portal-Konto wird automatisch verwendet.

AuswahlEmpfehlung
BashEmpfohlen für die Befehle und .sh-Skripte in dieser Anleitung.
PowerShellFunktioniert ebenfalls; verwenden Sie dann die bereitgestellten .ps1-Skripte und die PowerShell-Beispiele weiter unten.
Lokales TerminalNur verwenden, wenn Azure CLI bereits installiert ist und Sie mit Tenant-Wechsel, Dateipfaden und Shell-Rechten vertraut sind.
3

Tenant und Abonnement kontrollieren

Prüfen Sie vor jedem Skript, in welchem Tenant und Abonnement Azure CLI arbeitet. Ein im Portal sichtbares Abonnement ist nicht automatisch das aktive CLI-Abonnement.

Aktuellen Kontext anzeigen
az account show \
  --query "{subscription:name, subscriptionId:id, tenant:tenantId, user:user.name}" \
  -o table
Verfügbare Abonnements anzeigen und das richtige auswählen
az account list \
  --query "[].{Name:name, Id:id, Tenant:tenantId, Default:isDefault}" \
  -o table

az account set --subscription "<Abonnementname oder Abonnement-ID>"

az account show \
  --query "{subscription:name, tenant:tenantId, user:user.name}" \
  -o table

Erst weitermachen, wenn der Kontext stimmt

Tenant, Abonnement und Benutzer müssen zum Kunden beziehungsweise zur geplanten Installation gehören. Wechseln Sie andernfalls im Portal das Verzeichnis oder melden Sie sich gezielt mit az login --tenant <Tenant-ID> an und wählen Sie danach das Abonnement erneut.

Eigene Entra-Objekt-ID ermitteln
az ad signed-in-user show --query id -o tsv

Dieser Befehl liefert die Objekt-ID des aktuell angemeldeten Benutzers. Verwenden Sie sie als ersten Administrator nur, wenn genau dieses Konto später die Ersteinrichtung ausführt. Für eine andere Person kopieren Sie deren Objekt-ID aus dem Benutzerprofil im Entra Admin Center.

4

SBS-Skripte herunterladen

Kopieren Sie den gesamten Block in Bash. Die Skripte werden in das aktuelle Cloud-Shell-Verzeichnis geladen und anschließend ausführbar gemacht.

Beide Bash-Skripte herunterladen
curl -fsSL \
  https://www.smarterbusiness.at/downloads/smarter-visitor-registration/prepare-app-registration.sh \
  -o prepare-app-registration.sh

curl -fsSL \
  https://www.smarterbusiness.at/downloads/smarter-visitor-registration/grant-graph-permissions.sh \
  -o grant-graph-permissions.sh

chmod +x prepare-app-registration.sh grant-graph-permissions.sh
ls -l prepare-app-registration.sh grant-graph-permissions.sh

Wo sind meine Dateien?

Mit pwd sehen Sie das aktuelle Verzeichnis, mit ls -la dessen Inhalt. Wenn Ihre Cloud Shell persistenten Speicher verwendet, bleiben Dateien im Home-Verzeichnis auch für spätere Sitzungen erhalten.

5

Vor der Bereitstellung: App-Registrierung

Legen Sie zuerst im Marketplace-Schritt „Grundlagen“ den endgültigen Web-App-Namen und das Bereitstellungspräfix fest. Starten Sie dann das Vorbereitungsskript mit genau denselben Werten. Dafür benötigen Sie im Zieltenant mindestens Anwendungsadministrator oder Cloudanwendungsadministrator.

Beispiel – Werte durch Ihre geplanten Namen ersetzen
./prepare-app-registration.sh \
  contoso-visitor-registration \
  visitorreg

Client-ID kopieren

Am Ende erscheint App registration ready und darunter die Client ID. Kopieren Sie diese ID in den Marketplace-Schritt „Identity and security“. Ein erneuter Lauf mit denselben Werten aktualisiert die bestehende Registrierung sicher.

6

Nach der Bereitstellung: Graph-Rechte

Wenn die Marketplace-Bereitstellung erfolgreich abgeschlossen ist, führen Sie das zweite Skript aus. Dafür benötigen Sie Administrator für privilegierte Rollen oder Globalen Administrator.

Beispiel – Ressourcengruppe, Präfix und Client-ID ersetzen
./grant-graph-permissions.sh \
  "rg-visitor-registration" \
  "visitorreg" \
  "11111111-2222-3333-4444-555555555555"

Erwartetes Ergebnis

Das Skript meldet für Group.Read.All und User.Read.All jeweils assigned oder already assigned sowie admin consent granted beziehungsweise updated. Die Rechte können einige Minuten benötigen.

7

Platzhalter richtig ersetzen

PlatzhalterBedeutung und Beispiel
<Abonnementname oder Abonnement-ID>Das Zielabonnement aus az account list. Die spitzen Klammern nicht mitkopieren.
<web-app-name>Der weltweit eindeutige Name aus „Grundlagen“, zum Beispiel contoso-visitor-registration.
<deployment-prefix>Das Bereitstellungspräfix aus dem Marketplace, zum Beispiel visitorreg.
<resource-group>Die Ressourcengruppe der Marketplace-Bereitstellung, zum Beispiel rg-visitor-registration.
<client-id>Die Client-ID aus der Ausgabe von prepare-app-registration.
<tenant-id>Die Tenant-ID aus az account show; nur für einen gezielten Tenant-Wechsel nötig.

Spitze Klammern sind keine Befehlszeichen

Ersetzen Sie immer den gesamten Platzhalter einschließlich < und >. Beispiel: aus az account set --subscription "<Abonnement-ID>" wird az account set --subscription "12345678-…".

8

Alternative mit PowerShell

Wenn Sie in Cloud Shell lieber PowerShell verwenden, wechseln Sie über die Shell-Auswahl zu PowerShell und laden Sie die .ps1-Varianten. Vermischen Sie Bash- und PowerShell-Syntax nicht in derselben Eingabe.

PowerShell-Skripte herunterladen und ausführen
Invoke-WebRequest   -Uri "https://www.smarterbusiness.at/downloads/smarter-visitor-registration/prepare-app-registration.ps1"   -OutFile "prepare-app-registration.ps1"

Invoke-WebRequest   -Uri "https://www.smarterbusiness.at/downloads/smarter-visitor-registration/grant-graph-permissions.ps1"   -OutFile "grant-graph-permissions.ps1"

./prepare-app-registration.ps1   -WebAppName "contoso-visitor-registration"   -DeploymentName "visitorreg"

./grant-graph-permissions.ps1   -ResourceGroup "rg-visitor-registration"   -DeploymentName "visitorreg"   -ClientId "11111111-2222-3333-4444-555555555555"
9

Häufige Fehler

„az: command not found“

Sie befinden sich wahrscheinlich in einem lokalen Terminal ohne Azure CLI. Öffnen Sie Azure Cloud Shell und wählen Sie Bash. Dort ist az bereits installiert.

„The subscription … does not exist“ oder das Abonnement fehlt

Prüfen Sie zuerst az account list -o table. Fehlt das Abonnement, sind Sie meist im falschen Tenant oder Ihre Berechtigung wurde erst vor Kurzem vergeben. Wechseln Sie das Portal-Verzeichnis beziehungsweise starten Sie Cloud Shell neu.

„Permission denied“ beim Start eines .sh-Skripts

Führen Sie chmod +x prepare-app-registration.sh grant-graph-permissions.sh aus und starten Sie das Skript anschließend mit ./.

„No such file or directory“

Prüfen Sie mit pwd und ls -la, ob Sie im richtigen Verzeichnis sind. Laden Sie das Skript bei Bedarf mit dem Downloadblock erneut herunter.

„Authorization_RequestDenied“ oder „Insufficient privileges“

Das ist kein Bash-Fehler. Dem angemeldeten Konto fehlt die benötigte Entra-Rolle. Für die App-Registrierung ist ein Anwendungsadministrator oder Cloudanwendungsadministrator nötig; für Graph-Rollen und Admin-Consent ein Administrator für privilegierte Rollen oder Globaler Administrator.

Cloud Shell wurde wegen Inaktivität beendet

Öffnen Sie Cloud Shell erneut, prüfen Sie Tenant und Abonnement nochmals und wechseln Sie in das Verzeichnis mit den Skripten. Bei persistentem Cloud-Shell-Speicher bleiben Dateien im Home-Verzeichnis erhalten.

Das Skript zeigt eine Client-ID, aber der Marketplace akzeptiert sie nicht

Prüfen Sie, ob Skript und Marketplace im selben Tenant laufen und ob Web-App-Name sowie Bereitstellungspräfix identisch sind. Verwenden Sie die Anwendungs-ID (Client-ID), nicht die Objekt-ID der App-Registrierung.
10

Sicher arbeiten und Hilfe holen

  • Senden Sie niemals Sitzungsschlüssel, Kennwörter, Zugriffstoken oder die Ausgabe von az account get-access-token per E-Mail oder Chat.
  • Client-ID und Tenant-ID sind keine Kennwörter. Schwärzen Sie bei Screenshots trotzdem Benutzername, Abonnement-ID und nicht benötigte Tenantdaten.
  • Erzeugen Sie den Sitzungsschlüssel zum Beispiel mit openssl rand -hex 32 und tragen Sie ihn ausschließlich in den geschützten Marketplace-Feldern ein.
  • Senden Sie bei Fehlern den ausgeführten Befehl ohne Geheimnisse, die genaue Fehlermeldung und den Schritt, an dem sie auftrat.

Fragen zu diesem Produkt?

Unser Support-Team hilft Ihnen bei Fragen zu Smarter Visitor Registration gerne weiter.