Zum Inhalt springen

Installation von Smarter Visitor Registration

Von der Bereitstellung in Azure bis zum ersten Login: welche Ressourcen entstehen, welche Rechte nötig sind und wie Sie die Anwendung in Betrieb nehmen.

So läuft die Installation ab

Smarter Visitor Registration wird in Ihrem eigenen Azure-Abonnement betrieben. Eine Vorlage legt alle Ressourcen an, danach wird das Anwendungspaket eingespielt und die Lösung im Browser eingerichtet. Rechnen Sie mit etwa einer Stunde, wenn die nötigen Berechtigungen vorliegen.

Vorlage und Anwendungspaket erhalten Sie von uns. Auf Wunsch führen wir die Installation gemeinsam mit Ihrer IT in einer Remote-Sitzung durch – nehmen Sie dazu Kontakt mit uns auf.

1

Voraussetzungen

BereichAnforderung
AzureEin Abonnement und eine Ressourcengruppe, in der Sie Mitwirkender oder Besitzer sind.
Microsoft Entra IDRechte, um eine App-Registrierung anzulegen, einer verwalteten Identität Microsoft-Graph-Rollen zuzuweisen und Administratorzustimmung zu erteilen. In der Praxis: Globaler Administrator oder Administrator für privilegierte Rollen.
Microsoft 365Exchange Online für Outlook-Add-in und E-Mail-Versand, optional Microsoft Teams.
Objekt-ID des ersten AdministratorsDie Entra-Objekt-ID der Person, die die Ersteinrichtung durchführt. Sie finden sie im Entra Admin Center im Benutzerprofil oder mit az ad signed-in-user show --query id -o tsv.
Geheimer SitzungsschlüsselEine zufällige Zeichenfolge mit mindestens 32 Zeichen, etwa aus openssl rand -hex 32.

Ohne Objekt-ID kein erster Login

Solange keine Admin-Gruppe eingerichtet ist, dürfen nur die bei der Bereitstellung angegebenen Objekt-IDs die Einstellungen öffnen. Bleibt der Wert leer, kann niemand die Ersteinrichtung durchführen.

2

Was in Azure entsteht

RessourceZweck
App Service (Linux, Node.js 22)Die Web-Anwendung mit Terminal, Einstellungen, Auswertungen und der Schnittstelle für das Outlook-Add-in. Nur HTTPS, mindestens TLS 1.2.
Azure Cosmos DB (Serverless)Datenbank mit den Containern für geplante Termine, Besucherkontakte, Check-ins, Einstellungen, Änderungsprotokoll und Dateien.
Verwaltete IdentitätLiest über Microsoft Graph Gruppenmitgliedschaften und Benutzer (Anwendungsrollen Group.Read.All und User.Read.All). Es wird kein Client-Secret benötigt.
App-RegistrierungAnmeldung für Browser, Outlook und Teams. Stellt den Bereich access_as_user bereit; Outlook und Teams sind dafür bereits vorautorisiert.
Application Insights (optional)Protokolle und Telemetrie für den Betrieb.
Key Vault (optional)Speichert Datenbankschlüssel und Sitzungsschlüssel statt in den App-Einstellungen.

Die laufenden Azure-Kosten hängen von Tarif und Nutzung ab. In der kleinsten Ausbaustufe (App Service B1, Cosmos DB Serverless) liegen sie als Richtwert bei rund 20 Euro pro Monat. Die Kosten rechnet Microsoft direkt mit Ihnen ab.

3

Ressourcen bereitstellen

Die Vorlage (main.json) stellen Sie im Azure-Portal über Benutzerdefinierte Vorlage bereitstellen oder mit der Azure CLI bereit. Diese Parameter sind relevant:

ParameterBedeutungStandard
deploymentNamePräfix für alle Ressourcennamen, 3 bis 20 Zeichen–
webAppNameName der Web-App und damit die Adresse https://<name>.azurewebsites.net. Muss weltweit eindeutig sein.<deploymentName>-webapp
appServicePlanSkuTarif des App ServiceB1
adminBootstrapObjectIdsObjekt-IDs der Personen, die die Ersteinrichtung durchführen dürfen, durch Komma getrenntleer
jwtSecretGeheimer Sitzungsschlüssel, mindestens 32 Zeichen–
azureAdClientIdClient-ID einer vorhandenen App-Registrierung. Leer lassen, damit die Vorlage eine anlegt.leer
enableAppInsightsApplication Insights anlegentrue
enableKeyVaultGeheimnisse in einem Key Vault ablegenfalse
visitorsRetentionDaysAutomatische Löschfrist für Besucherkontakte in Tagen, 0 = keine automatische Löschung0
Beispiel mit der Azure CLI
az group create --name rg-visitor-registration --location westeurope

az deployment group create \
  --resource-group rg-visitor-registration \
  --template-file main.json \
  --parameters deploymentName=visitorreg \
               webAppName=besucher-contoso \
               adminBootstrapObjectIds=<Objekt-ID> \
               jwtSecret=<geheimer Schlüssel>

Notieren Sie nach der Bereitstellung die Ausgaben webAppUrl und azureAdClientId. Die Adresse der Web-App brauchen Sie für alle weiteren Schritte.

Die Adresse ist fest mit der Installation verbunden

Anmeldung, Outlook-Manifest und Teams-App verwenden die Adresse <name>.azurewebsites.net. Wählen Sie den Namen der Web-App deshalb mit Bedacht. Eine eigene Domain erfordert zusätzliche Anpassungen an der App-Registrierung – sprechen Sie uns dazu an.

4

Anwendung einspielen

Die Vorlage legt die Infrastruktur an. Die Anwendung selbst spielen Sie als ZIP-Paket ein:

az webapp deploy \
  --resource-group rg-visitor-registration \
  --name besucher-contoso \
  --src-path deploy.zip --type zip

Prüfen Sie danach im Browser die Adresse https://<name>.azurewebsites.net/api/health. Die Antwort {"status":"ok", …} zeigt, dass die Anwendung läuft.

5

Zustimmung in Microsoft Entra erteilen

Die App-Registrierung heißt Visitor Registration <deploymentName>. Sie verwendet delegierte Microsoft-Graph-Berechtigungen, unter anderem Mail.Send für E-Mails an Besucher. Damit das Terminal E-Mails ohne Rückfrage versenden kann, erteilen Sie einmalig die Administratorzustimmung:

  1. Öffnen Sie im Microsoft Entra Admin Center Anwendungen › App-Registrierungen und wählen Sie die App aus.
  2. Wechseln Sie zu API-Berechtigungen.
  3. Klicken Sie auf Administratorzustimmung für <Mandant> erteilen und bestätigen Sie.
BerechtigungArtWofür
User.Read, User.ReadBasic.All, People.ReaddelegiertAnmeldung und Personensuche
Group.Read.AlldelegiertGruppenauswahl in den Einstellungen
Mail.SenddelegiertE-Mails an Besucher im Namen des Terminal-Kontos
Group.Read.All, User.Read.AllAnwendung (verwaltete Identität)Gruppenmitgliedschaften prüfen, Ansprechpersonen für Teams-Anrufe auflösen

E-Mails aus der Teams-Desktop-App

Läuft das Terminal in der Teams-Desktop-App, versendet der Server die E-Mails stellvertretend. Dafür braucht die App-Registrierung ein Client-Secret, das Sie im App Service als Einstellung AZURE_AD_CLIENT_SECRET hinterlegen. Im Browser und in Teams im Web ist das nicht nötig.

6

Erster Login und Einrichtungsassistent

Öffnen Sie https://<name>.azurewebsites.net/admin und melden Sie sich mit dem Konto an, dessen Objekt-ID Sie bei der Bereitstellung angegeben haben. Solange die Lösung nicht eingerichtet ist, startet der Assistent.

Einrichtungsassistent mit dem ersten Schritt Grundkonfiguration
Der Assistent führt in vier Schritten durch die Ersteinrichtung.

1. Grundkonfiguration

Name und Zeitzone des ersten Standorts. Optional die Admin-Gruppe – Sie können sie auch später setzen.

2. Standorte

Weitere Standorte mit Terminal-Benutzern und Verhalten beim Check-in anlegen.

3. Branding

Firmenname, Logo und Farben des Terminals.

4. Zeitüberschreitungen

Wie lange Erfolgsmeldungen stehen bleiben und wann das Terminal zur Startseite zurückkehrt.

Mit Einrichtung abschließen speichert der Assistent die Angaben und öffnet das Terminal. Alle Werte können Sie später in den Einstellungen ändern.

Admin-Gruppe nicht vergessen

Tragen Sie unter Einstellungen › Sicherheit eine Entra-Gruppe als Admin-Gruppe ein und prüfen Sie, dass Sie selbst Mitglied sind. Sobald die Gruppe gesetzt ist, gelten die Objekt-IDs aus der Bereitstellung nicht mehr.

7

Nächste Schritte

  1. Standorte einrichten: Terminal-Benutzer, Richtlinien und E-Mails.
  2. Outlook-Add-in veröffentlichen und verteilen.
  3. Terminal als Kiosk einrichten, im Browser oder in Microsoft Teams.
  4. Den ersten Besuch testen.
8

Updates und Betrieb

  • Update der Anwendung: Das neue ZIP-Paket mit az webapp deploy einspielen. Einstellungen und Daten liegen in der Datenbank und bleiben erhalten.
  • Änderungen an der Infrastruktur: Die Vorlage erneut bereitstellen, etwa um den Tarif zu wechseln oder eine Löschfrist zu setzen.
  • Version prüfen: Die installierte Version steht in der Fußzeile der Einstellungen und Auswertungen.
  • Sicherung: Cosmos DB sichert die Daten automatisch in regelmäßigen Abständen. Für längere Aufbewahrung passen Sie die Sicherungsrichtlinie des Datenbankkontos an.
  • Überwachung: Der App Service prüft die Anwendung über /api/health. Fehler und Protokolle finden Sie in Application Insights.

Nach einem Update

Wenn sich das Outlook-Add-in oder die Teams-App geändert hat, steht das in den Versionshinweisen. Veröffentlichen Sie dann das Manifest erneut beziehungsweise laden Sie das neue Teams-Paket mit erhöhter Versionsnummer hoch.

9

Fehlerbehebung

Nach der Anmeldung steht „Sie sind angemeldet, aber für diesen Bereich nicht berechtigt“.

Ihr Konto ist weder Administrator noch Terminal-Benutzer. Bei der Ersteinrichtung: Prüfen Sie, ob Ihre Objekt-ID in der App-Einstellung ADMIN_BOOTSTRAP_OBJECT_IDS des App Service steht. Danach: Prüfen Sie Ihre Mitgliedschaft in der Admin-Gruppe.

Die Bereitstellung bricht bei der App-Registrierung oder den Graph-Rollen ab.

Dem bereitstellenden Konto fehlen Rechte in Microsoft Entra. Führen Sie die Bereitstellung mit einem Konto aus, das App-Registrierungen anlegen und Anwendungsrollen zuweisen darf, oder geben Sie über azureAdClientId eine vorbereitete App-Registrierung an.

Der Name der Web-App ist bereits vergeben.

Namen unter azurewebsites.net sind weltweit eindeutig. Wählen Sie einen anderen Wert für webAppName.

Besucher erhalten keine E-Mails.

Prüfen Sie, ob die Administratorzustimmung für Mail.Send erteilt ist, ob das Terminal-Konto ein Postfach hat und ob der Versand am Standort aktiviert ist. In der Teams-Desktop-App ist zusätzlich das Client-Secret nötig.

Die Anwendung startet nicht oder antwortet mit Fehler 500.

Öffnen Sie im App Service den Protokolldatenstrom. Häufige Ursachen sind ein unvollständig hochgeladenes Paket oder fehlende App-Einstellungen nach einer manuellen Änderung.

Fragen zu diesem Produkt?

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