API-Keys & Authentifizierung¶
Übersicht¶
Die Polycrate API unterstützt mehrere Authentifizierungsmethoden für unterschiedliche Anwendungsfälle:
| Methode | Anwendungsfall | Empfohlen für |
|---|---|---|
| SSO (OIDC) | Web-Login | Benutzer im Browser |
| API-Keys | Programmatischer Zugriff | CLI, Scripts, CI/CD |
| Agent-Tokens | Monitoring-Agents | Automatisierte Checks |
SSO / OIDC¶
Unterstützte Provider¶
Die Polycrate API unterstützt OpenID Connect (OIDC) mit:
- Keycloak (Standard)
- Azure AD / Entra ID
- Okta
- Google Workspace
- Andere OIDC-kompatible Provider
Login-Flow¶
┌─────────┐ ┌─────────────┐ ┌──────────────┐
│ Browser │─────▶│ Polycrate │─────▶│ SSO Provider │
│ │ │ API │ │ (Keycloak) │
└─────────┘ └─────────────┘ └──────────────┘
│ ▲ │
│ │ │
│ ┌──────┴──────┐ │
│ │ Session │ │
│ │ erstellt │ │
│ └─────────────┘ │
│ │
└───────────────────────────────────────┘
Redirect nach Login
Gruppen-Mapping¶
OIDC-Gruppen können automatisch auf Polycrate-Rollen gemappt werden:
| OIDC-Gruppe | Polycrate-Rolle |
|---|---|
polycrate-admins | Super Admin |
polycrate-{org}-admins | Org Admin |
polycrate-{org}-users | User |
polycrate-{org}-viewers | Viewer |
API-Keys¶
Was sind API-Keys?¶
API-Keys sind langlebige Tokens für programmatischen Zugriff. Sie werden vom Benutzer erstellt und können jederzeit widerrufen werden.
API-Key erstellen¶
- Öffnen Sie Profil → API-Keys
- Klicken Sie + Neuer API-Key
- Geben Sie einen Namen ein (z.B. "MacBook Pro", "CI/CD Pipeline")
- Optional: Ablaufdatum setzen
- Wichtig: Token wird nur einmal angezeigt – sofort kopieren!
Token-Sicherheit
Der API-Key wird nur einmalig nach Erstellung angezeigt. Speichern Sie ihn sicher – er kann nicht erneut abgerufen werden!
API-Key verwenden¶
API-Key-Eigenschaften¶
| Eigenschaft | Beschreibung |
|---|---|
| Name | Benutzerfreundlicher Identifier |
| Created At | Erstellungszeitpunkt |
| Expires At | Ablaufdatum (optional) |
| Last Used | Letzte Verwendung |
| Scopes | Berechtigungsbereiche (zukünftig) |
API-Key widerrufen¶
- Öffnen Sie Profil → API-Keys
- Finden Sie den zu widerrufenden Key
- Klicken Sie Löschen
- Bestätigen Sie die Aktion
Sofortige Wirkung
Nach dem Widerruf ist der API-Key sofort ungültig. Alle Anfragen damit schlagen fehl.
Agent-Tokens¶
Was sind Agent-Tokens?¶
Agent-Tokens sind spezielle Tokens für Polycrate Monitoring Agents. Sie haben eingeschränkte Berechtigungen:
- ✅ Endpoints abrufen
- ✅ Check-Ergebnisse melden
- ✅ Agent-Status aktualisieren
- ❌ Konfiguration ändern
- ❌ Auf andere Ressourcen zugreifen
Agent-Token erstellen¶
- Öffnen Sie Monitoring → Agents
- Klicken Sie + Neuer Agent
- Geben Sie einen Namen und Standort ein
- Agent-Token wird generiert
Agent-Token verwenden¶
Berechtigungsmodell¶
Rollen-Hierarchie¶
Super Admin
│ Alle Rechte im System
│
▼
Org Admin
│ Alle Rechte in einer Organisation
│
▼
Workspace Admin
│ Alle Rechte in einem Workspace
│
▼
User
│ Lesen + Schreiben (eingeschränkt)
│
▼
Viewer
│ Nur Lesen
Standard-Berechtigungen¶
| Aktion | Super Admin | Org Admin | WS Admin | User | Viewer |
|---|---|---|---|---|---|
| Organisationen verwalten | ✅ | ❌ | ❌ | ❌ | ❌ |
| Workspaces erstellen | ✅ | ✅ | ❌ | ❌ | ❌ |
| Workspaces konfigurieren | ✅ | ✅ | ✅ | ❌ | ❌ |
| Action-Runs ausführen | ✅ | ✅ | ✅ | ✅ | ❌ |
| Dashboard ansehen | ✅ | ✅ | ✅ | ✅ | ✅ |
| Alerts bestätigen | ✅ | ✅ | ✅ | ✅ | ❌ |
| API-Keys erstellen | ✅ | ✅ | ✅ | ✅ | ❌ |
Sicherheits-Best-Practices¶
API-Key-Management¶
- Separate Keys pro Anwendungsfall
- Einen für lokale Entwicklung
- Einen für CI/CD
-
Einen pro Automatisierungs-Script
-
Ablaufdaten setzen
- CI/CD-Keys: 90 Tage
- Entwickler-Keys: 365 Tage
-
Temporäre Keys: 7 Tage
-
Regelmäßige Rotation
- Kritische Keys alle 90 Tage
- Alle Keys mindestens jährlich
Secret-Storage¶
Niemals tun¶
- ❌ API-Keys in Git committen
- ❌ Keys in Logs ausgeben
- ❌ Keys in öffentlichen Kanälen teilen
- ❌ Einen Key für alles verwenden
- ❌ Keys ohne Ablaufdatum für CI/CD
Audit-Logging¶
Alle Authentifizierungs-Events werden geloggt:
| Event | Geloggte Daten |
|---|---|
| Login (SSO) | Benutzer, IP, Zeitpunkt, Provider |
| API-Key erstellt | Benutzer, Key-Name, Zeitpunkt |
| API-Key verwendet | Key-ID, Endpoint, IP, Zeitpunkt |
| API-Key widerrufen | Benutzer, Key-ID, Zeitpunkt |
| Fehlgeschlagener Login | IP, Zeitpunkt, Grund |
Logs sind unter Administration → Audit Logs einsehbar.