94 lines
3.0 KiB
Markdown
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!
|