Atlassian Cloud Integration¶
Diese Anleitung führt Sie durch die Einrichtung der Atlassian Cloud Integration in TCM365. Nach Abschluss kann TCM365 Konfigurationen aus Jira, Confluence und Atlassian Org Security erfassen, Drift erkennen und kontrollierte Rollbacks durchführen.
Voraussetzungen
- TCM365 ist installiert und läuft (siehe Schnellstart)
- Sie haben einen Admin-Account mit
SUPER_ADMINoderTENANT_ADMINRolle - Sie haben Organisations-Admin-Zugriff auf Ihre Atlassian Cloud-Instanz
- Zugang zur Atlassian Developer Console
Übersicht¶
TCM365 verbindet sich mit Atlassian Cloud über OAuth 2LO (Two-Legged OAuth), auch bekannt als OAuth 2.0 mit Client Credentials. Diese Methode ermöglicht server-zu-server Zugriff ohne Benutzerinteraktion nach der initialen Autorisierung.
Unterstützte Produkte und Resource Types¶
| Produkt | Resource Types | Beispiele |
|---|---|---|
| Jira | 16 | Projekte, Workflows, Permission Schemes, Issue Security, Notification Schemes, Custom Fields |
| Confluence | 5 | Spaces, Global Templates, Space Permissions, Look and Feel, System Configuration |
| Org Security | 7 | Authentication Policies, IP Allowlists, Audit Log Settings, External Users, Security Policies |
Schritt 1: OAuth App in der Atlassian Developer Console erstellen¶
- Öffnen Sie die Atlassian Developer Console
- Klicken Sie auf Create > OAuth 2.0 integration
- Geben Sie einen Namen ein (z.B. "TCM365 Configuration Manager")
- Klicken Sie auf Create
App-Berechtigungen (Scopes) konfigurieren¶
Navigieren Sie zu Permissions in Ihrer neuen App und fügen Sie folgende Scopes hinzu:
Jira API Scopes¶
| Scope | Zweck |
|---|---|
read:jira-work |
Jira-Projekte, Issues und Workflows lesen |
read:jira-user |
Jira-Benutzer und Gruppen lesen |
manage:jira-project |
Projekt-Konfigurationen verwalten (für Rollback) |
manage:jira-configuration |
Globale Jira-Einstellungen verwalten (für Rollback) |
Confluence API Scopes¶
| Scope | Zweck |
|---|---|
read:confluence-space.summary |
Confluence Spaces lesen |
read:confluence-content.all |
Confluence-Inhalte und Templates lesen |
write:confluence-space |
Space-Einstellungen verwalten (für Rollback) |
Admin API Scopes¶
| Scope | Zweck |
|---|---|
read:organization |
Organisationsinformationen lesen |
read:audit-log:organization |
Audit Logs lesen |
read:policy:organization |
Sicherheitsrichtlinien lesen |
Minimale Scopes
Wenn Sie nur Lese-Operationen (Snapshots, Drift Detection) benötigen, können Sie die manage: und write: Scopes weglassen. TCM365 unterstützt Graceful Degradation und deaktiviert Rollback-Features automatisch, wenn Write-Scopes fehlen.
Schritt 2: Authorization konfigurieren¶
- Navigieren Sie zu Authorization in Ihrer App
- Klicken Sie auf Add neben "OAuth 2.0 (3LO)"
- Geben Sie die Callback URL ein:
Für lokale Entwicklung:
- Klicken Sie auf Save changes
Client Credentials notieren¶
Navigieren Sie zu Settings und notieren Sie:
- Client ID -- Wird in TCM365 als OAuth Client ID benötigt
- Client Secret -- Wird in TCM365 als OAuth Client Secret benötigt (klicken Sie auf "Show" zum Anzeigen)
Secret sicher aufbewahren
Das Client Secret wird nur einmal vollständig angezeigt. Notieren Sie es sicher. In TCM365 wird es mit Per-Tenant-Verschlüsselung (AES-256 oder Azure Key Vault) gespeichert.
Schritt 3: Atlassian Tenant in TCM365 verbinden¶
Über den Setup Wizard (empfohlen)¶
- Navigieren Sie im TCM365 Frontend zu Tenants
- Klicken Sie auf Tenant hinzufügen
- Wählen Sie Atlassian als Vendor
- Der Atlassian Setup Wizard oeffnet sich (
AtlassianSetupWizardView) - Geben Sie ein:
- Anzeigename für den Tenant
- OAuth Client ID aus Schritt 2
- OAuth Client Secret aus Schritt 2
- Klicken Sie auf Verbinden
- Sie werden zur Atlassian-Autorisierungsseite weitergeleitet
- Wählen Sie die zu verbindende Atlassian Site aus
- Klicken Sie auf Accept
- Sie werden zurück zu TCM365 geleitet (
AtlassianCallbackView)
Über die API¶
{
"name": "Meine Atlassian Cloud",
"vendor": "atlassian",
"oauthClientId": "ihr-client-id",
"oauthClientSecret": "ihr-client-secret"
}
Danach den OAuth-Flow starten:
Schritt 4: Site Discovery und Guard Tier¶
Nach erfolgreicher OAuth-Autorisierung führt TCM365 automatisch folgende Schritte durch:
Automatische Site Discovery¶
TCM365 ermittelt automatisch:
- Site ID -- Eindeutige Kennung der Atlassian Cloud Site
- Site URL -- URL der Site (z.B.
https://contoso.atlassian.net) - Site Name -- Anzeigename der Site
Guard Tier Erkennung¶
TCM365 erkennt den Atlassian Guard Tier der Organisation:
| Tier | Beschreibung | Verfügbare Security Features |
|---|---|---|
| Free | Basis-Sicherheit | Grundlegende Authentication Policies |
| Standard | Erweiterte Sicherheit | IP Allowlists, erweiterte Audit Logs |
| Premium | Enterprise-Sicherheit | Vollständige Org Security Controls, Data Residency |
Der Guard Tier bestimmt, welche Org Security Resource Types erfasst werden können.
Schritt 5: Ersten Snapshot erstellen¶
Nach der Verbindung können Sie sofort Snapshots erstellen:
- Navigieren Sie zu Snapshots
- Klicken Sie auf Neuer Snapshot
- Wählen Sie Ihren Atlassian Tenant
- Wählen Sie die gewünschten Resource Types (z.B. alle Jira + Confluence + Org Security)
- Klicken Sie auf Capture starten
Der Capture-Prozess nutzt direkte REST API-Aufrufe an die Atlassian Cloud APIs mit dem AtlassianAdapter.
Authentifizierung und Rate Limiting¶
OAuth 2LO Token-Verwaltung¶
Die AtlassianAuthFactory verwaltet OAuth Tokens automatisch:
- Access Token -- Kurzlebiges Token für API-Aufrufe
- Refresh Token -- Langlebiges Token zur Erneuerung des Access Tokens
- Automatische Erneuerung -- Tokens werden vor Ablauf automatisch erneuert
- Verschluesselte Speicherung -- Alle Tokens werden mit Per-Tenant-Verschlüsselung gespeichert
Rate Limiting¶
Der AtlassianRateLimiter implementiert ein points-basiertes Rate Limiting System, das die Atlassian API Rate Limits respektiert:
- Automatische Drosselung bei Annaeherung an Limits
- Retry-Logik mit exponentialem Backoff
- Separate Rate Limit-Tracking pro Tenant
Feature Flags¶
Die Atlassian-Integration wird über Feature Flags gesteuert:
| Flag | Beschreibung | Standard |
|---|---|---|
atlassian_support |
Atlassian als Vendor-Option im Tenant-Management anzeigen | true (wenn Modul geladen) |
atlassian_snapshot_capture |
Atlassian Snapshot-Erfassung ermöglichen | true |
Feature Flags können pro Organisation über die Feature Registry konfiguriert werden.
Security Baselines für Atlassian¶
TCM365 enthält 3 Atlassian-spezifische Baseline Templates:
| Template | Regeln | Fokus |
|---|---|---|
| Atlassian Org Security | 10 | Authentication Policies, IP Allowlists, Audit Settings, External Users |
| Atlassian Jira Security | 8 | Permission Schemes, Project Roles, Issue Security, Workflow Restrictions |
| Atlassian Confluence Security | 6 | Space Permissions, Anonymous Access, External Sharing, Template Governance |
Bewerten Sie Ihre Atlassian-Konfiguration unter Baselines mit diesen Templates.
Troubleshooting¶
OAuth-Autorisierung schlägt fehl¶
- Prüfen Sie, ob die Callback URL in der Atlassian Developer Console korrekt konfiguriert ist
- Stellen Sie sicher, dass die erforderlichen Scopes in der App konfiguriert sind
- Überprüfen Sie, ob Ihre Atlassian-Organisation externe App-Zugriffe erlaubt
Fehlende Resource Types im Snapshot¶
- Einige Org Security Resource Types erfordern einen höheren Guard Tier (Standard oder Premium)
- Prüfen Sie die erteilten OAuth Scopes -- fehlende Scopes führen zu Graceful Degradation
- Der TCM365 Diagnostik-Endpoint (
/api/v1/diagnostics) zeigt den Verbindungsstatus
Rate Limit-Fehler¶
- Der
AtlassianRateLimiterhandhabt Rate Limits automatisch - Bei persistenten Fehlern prüfen Sie, ob andere Anwendungen dasselbe OAuth Token verwenden
- Erhoehen Sie ggf. die Wartezeiten zwischen Snapshot-Erfassungen
Nächste Schritte¶
Nach erfolgreicher Einrichtung der Atlassian-Integration:
- Drift Detection einrichten -- Configuration Monitor für kritische Atlassian-Einstellungen erstellen
- Baseline-Bewertung durchführen -- Atlassian Security Baselines gegen Ihren Snapshot evaluieren
- Benachrichtigungen konfigurieren -- Alerts für Atlassian Configuration Drift aktivieren
- Vergleiche nutzen -- Regelmäßige Snapshots für Konfigurationsvergleiche erstellen