mail-organizer/docs/Azure-App-Registration-Anle...

94 lines
3.0 KiB
Markdown

# Azure App Registration — Einrichtungsanleitung
Diese Anleitung beschreibt die einmalige Einrichtung einer Azure App Registration,
die als Authentifizierungsbasis fuer den Mail-Organizer dient.
## 1. App Registration anlegen
1. Oeffne das Azure Portal: https://portal.azure.com
2. Navigiere zu **Microsoft Entra ID** (ehemals Azure AD) > **App registrations**
3. Klicke **New registration**
4. Konfiguriere:
- **Name**: `KRAH-Mail-Organizer`
- **Supported account types**: "Accounts in this organizational directory only"
- **Redirect URI**: `http://localhost` (Type: Web)
5. Klicke **Register**
## 2. Wichtige IDs notieren
Nach der Registrierung findest du auf der Uebersichtsseite:
- **Application (client) ID** — wird in `config/settings.json` eingetragen
- **Directory (tenant) ID** — wird in `config/settings.json` eingetragen
## 3. Client Secret erstellen
1. Gehe zu **Certificates & secrets** > **Client secrets**
2. Klicke **New client secret**
3. Beschreibung: `Mail-Organizer`
4. Ablauf: 24 Monate (oder nach Firmenpolicy)
5. **WICHTIG**: Kopiere den **Value** sofort — er wird nur einmal angezeigt!
6. Trage den Wert in `config/settings.json` unter `ClientSecret` ein
## 4. API-Berechtigungen konfigurieren
1. Gehe zu **API permissions** > **Add a permission**
2. Waehle **Microsoft Graph**
3. Waehle **Application permissions** (nicht Delegated!)
4. Fuege folgende Berechtigungen hinzu:
- `Mail.Read` — E-Mails lesen
- `Mail.ReadWrite` — E-Mails als gelesen markieren / verschieben
- `Mail.Send` — Benachrichtigungen per E-Mail senden (optional)
5. Klicke **Grant admin consent for [Dein Tenant]**
- Erfordert Global Admin oder Application Admin Rechte
- Status muss auf "Granted" wechseln (gruenes Haekchen)
## 5. Mailbox-Zugriff einschraenken (empfohlen)
Standardmaessig hat eine App mit `Mail.Read` Zugriff auf ALLE Mailboxen.
Um den Zugriff auf deine Mailbox einzuschraenken:
1. Erstelle eine Mail-Enabled Security Group in Exchange Admin Center
2. Fuege deine Mailbox als Mitglied hinzu
3. Fuehre in PowerShell aus:
```powershell
# Exchange Online PowerShell verbinden
Connect-ExchangeOnline
# App-Zugriff auf die Gruppe beschraenken
New-ApplicationAccessPolicy `
-AppId "93f9f15c-b566-4ca1-9145-c23f87c7f5c7" `
-PolicyScopeGroupId "chrka@krahgruppe.onmicrosoft.com" `
-AccessRight RestrictAccess `
-Description "Mail-Organizer nur fuer definierte Postfaecher"
```
## 6. settings.json konfigurieren
Oeffne `config/settings.json` und trage deine Werte ein:
```json
{
"TenantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"ClientId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"ClientSecret": "dein-secret-hier",
"MailboxUser": "christian@example.com"
}
```
**Sicherheitshinweis**: In Produktionsumgebungen sollte das ClientSecret
nicht im Klartext gespeichert werden. Alternativen:
- Windows Credential Manager
- Azure Key Vault
- Umgebungsvariablen
## 7. Testen
Fuehre das Test-Script aus:
```powershell
.\scripts\Test-Connection.ps1
```
Bei Erfolg siehst du eine Liste der letzten E-Mails. Fertig!