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.
Voraussetzungen
| Bereich | Anforderung |
|---|---|
| Azure | Ein Abonnement und eine Ressourcengruppe, in der Sie Mitwirkender oder Besitzer sind. |
| Microsoft Entra ID | Rechte, 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 365 | Exchange Online für Outlook-Add-in und E-Mail-Versand, optional Microsoft Teams. |
| Objekt-ID des ersten Administrators | Die 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üssel | Eine 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.
Was in Azure entsteht
| Ressource | Zweck |
|---|---|
| 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ät | Liest über Microsoft Graph Gruppenmitgliedschaften und Benutzer (Anwendungsrollen Group.Read.All und User.Read.All). Es wird kein Client-Secret benötigt. |
| App-Registrierung | Anmeldung 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.
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:
| Parameter | Bedeutung | Standard |
|---|---|---|
deploymentName | Präfix für alle Ressourcennamen, 3 bis 20 Zeichen | – |
webAppName | Name der Web-App und damit die Adresse https://<name>.azurewebsites.net. Muss weltweit eindeutig sein. | <deploymentName>-webapp |
appServicePlanSku | Tarif des App Service | B1 |
adminBootstrapObjectIds | Objekt-IDs der Personen, die die Ersteinrichtung durchführen dürfen, durch Komma getrennt | leer |
jwtSecret | Geheimer Sitzungsschlüssel, mindestens 32 Zeichen | – |
azureAdClientId | Client-ID einer vorhandenen App-Registrierung. Leer lassen, damit die Vorlage eine anlegt. | leer |
enableAppInsights | Application Insights anlegen | true |
enableKeyVault | Geheimnisse in einem Key Vault ablegen | false |
visitorsRetentionDays | Automatische Löschfrist für Besucherkontakte in Tagen, 0 = keine automatische Löschung | 0 |
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.
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 zipPrüfen Sie danach im Browser die Adresse https://<name>.azurewebsites.net/api/health. Die Antwort {"status":"ok", …} zeigt, dass die Anwendung läuft.
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:
- Öffnen Sie im Microsoft Entra Admin Center Anwendungen › App-Registrierungen und wählen Sie die App aus.
- Wechseln Sie zu API-Berechtigungen.
- Klicken Sie auf Administratorzustimmung für <Mandant> erteilen und bestätigen Sie.
| Berechtigung | Art | Wofür |
|---|---|---|
User.Read, User.ReadBasic.All, People.Read | delegiert | Anmeldung und Personensuche |
Group.Read.All | delegiert | Gruppenauswahl in den Einstellungen |
Mail.Send | delegiert | E-Mails an Besucher im Namen des Terminal-Kontos |
Group.Read.All, User.Read.All | Anwendung (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.
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.

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.
Nächste Schritte
- Standorte einrichten: Terminal-Benutzer, Richtlinien und E-Mails.
- Outlook-Add-in veröffentlichen und verteilen.
- Terminal als Kiosk einrichten, im Browser oder in Microsoft Teams.
- Den ersten Besuch testen.
Updates und Betrieb
- Update der Anwendung: Das neue ZIP-Paket mit
az webapp deployeinspielen. 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.
Fehlerbehebung
Nach der Anmeldung steht „Sie sind angemeldet, aber für diesen Bereich nicht berechtigt“.
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.
azureAdClientId eine vorbereitete App-Registrierung an.Der Name der Web-App ist bereits vergeben.
azurewebsites.net sind weltweit eindeutig. Wählen Sie einen anderen Wert für webAppName.Besucher erhalten keine E-Mails.
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.
Fragen zu diesem Produkt?
Unser Support-Team hilft Ihnen bei Fragen zu Smarter Visitor Registration gerne weiter.