Meine ersten Deployments · 6.8
App Registration
Auf dieser Seite
Dieses Beispiel schützt eine Entra-App-Registration mit einem Zertifikat statt mit einem Client Secret. App Registrations werden zum Beispiel oft für Skripte verwendet, die auf Exchange Online oder Azure zugreifen, und authentifizieren sich meist mit einem Client Secret. Wer das Secret zusammen mit Tenant ID und Application ID besitzt, kann im Namen der App handeln, und das Secret ist nur befristet gültig. TLSPilot verwendet stattdessen ein Zertifikat und erneuert es automatisch. Anders als in den vorherigen Beispielen ist dies kein TLS-Zertifikat für einen Webserver, sondern ein Zertifikat, mit dem sich ein Computer bei der App Registration authentifiziert.
- Stellen Sie ein Zertifikat von der Private CA aus, wie in Kapitel Private CA (PC) beschrieben, zum Beispiel mit dem Common Name «exoscripts». Da das Zertifikat nur zur Authentifizierung dient, muss der Common Name kein FQDN sein.
- Öffnen Sie den Tab Deployments des Zertifikats wie in Kapitel Lokaler Zertifikatsspeicher beschrieben, schalten Sie Automatic deployment ein, falls noch nicht geschehen, und klicken Sie auf Add…
- Linked service: Wählen Sie Entra app registration.
- Display name: Geben Sie einen Namen für das Deployment ein, zum Beispiel «AppReg Exo Scripts». Mit Create app verwendet TLSPilot diesen Namen als App registration display name und hält beide Felder synchron, bis Sie eines davon separat ändern. Nach dem Helper übernimmt der Anzeigename den Namen der erstellten App. Mit Existing app trägt TLSPilot den Namen der App ein, sofern es ihn auflösen kann.
- Wählen Sie, ob Sie eine bestehende App Registration verwenden oder eine neue erstellen:
- Existing app: Geben Sie Tenant ID und Application (client) ID ein, die Sie aus der App Registration in Entra kopieren können. Hat TLSPilot noch nicht die Berechtigungen, um das Zertifikat in die App Registration zu verteilen, weist es darauf hin.

- Create app: Prüfen Sie unter App registration display name den Namen der neuen App Registration, zum Beispiel «Exo Scripts 2».

- Helper: Klicken Sie auf Open Helper oder öffnen Sie den Tab Helper. Er zeigt, ob alle Pflichtfelder gesetzt sind, welche Rollen Sie brauchen und was der Helper ändert, wie in Kapitel Entra ID Helper beschrieben. Bei einer bestehenden App entfernt er ausserdem weitere Owner und die Berechtigung Application.ReadWrite.All.

- Klicken Sie auf Start. Der Helper arbeitet wie in Kapitel Entra ID Helper beschrieben. Haben Sie sich bei einem früheren Helper-Lauf bereits angemeldet, fragt PowerShell, ob Sie mit diesem Konto fortfahren (Y) oder sich mit einem anderen Konto anmelden (A) wollen. Drücken Sie im PowerShell-Fenster Enter, wenn Sie dazu aufgefordert werden.

- Klicken Sie auf OK und dann auf Save. Bei Existing app bestätigen Sie das Deployment mit Yes. Bei Create app hat der Helper das Zertifikat bereits in der neuen App Registration hinterlegt.
Beim Deployment-Typ App registration speichert TLSPilot das Zertifikat in der App Registration und prüft die Health. Solange ein neu ausgestelltes Zertifikat auf sein Deployment wartet und das Zertifikat auf dem Ziel noch gültig ist, meldet sich der Health-Check mit dem verteilten Zertifikat an, nicht mit dem neuen. Das gilt für die automatische Prüfung und für Check Now. Lehnt Entra das Client-Zertifikat ab, zum Beispiel mit AADSTS700027, oder ist das Zertifikat in der App Registration nicht aufgeführt, ist die Health Drift und zeigt die Meldung von Entra. Ist das verteilte Zertifikat abgelaufen, ist die Health Drift und zeigt den Ablaufzeitpunkt, und TLSPilot kontaktiert Entra nicht. Fehlt der Schlüssel des verteilten Zertifikats im Zertifikatsspeicher, ist die Health Unreachable und zeigt den Fehler des Speichers, und TLSPilot meldet sich nicht mit dem neuen Zertifikat an. Ein echter Ausfall, zum Beispiel ein Timeout, eine abgewiesene Verbindung oder ein 5xx-Fehler, bleibt Unreachable. In Entra können Sie prüfen, ob die App Registration ihr eigener Owner ist, die Berechtigung Application.ReadWrite.OwnedBy statt Application.ReadWrite.All hat und das Zertifikat unter Certificates & secrets enthält.

Bei Create app stellt TLSPilot das Deployment danach auf Existing app um und trägt Tenant ID und Application ID der neuen App Registration ein. Die API-Berechtigungen, die Ihre Skripte brauchen, fügen Sie der App Registration in Entra selbst hinzu.