Skip to content

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_ADMIN oder TENANT_ADMIN Rolle
  • 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

  1. Öffnen Sie die Atlassian Developer Console
  2. Klicken Sie auf Create > OAuth 2.0 integration
  3. Geben Sie einen Namen ein (z.B. "TCM365 Configuration Manager")
  4. 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

  1. Navigieren Sie zu Authorization in Ihrer App
  2. Klicken Sie auf Add neben "OAuth 2.0 (3LO)"
  3. Geben Sie die Callback URL ein:
https://ihre-tcm365-instanz.de/api/v1/setup/atlassian/callback

Für lokale Entwicklung:

http://localhost:8000/api/v1/setup/atlassian/callback
  1. 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)

  1. Navigieren Sie im TCM365 Frontend zu Tenants
  2. Klicken Sie auf Tenant hinzufügen
  3. Wählen Sie Atlassian als Vendor
  4. Der Atlassian Setup Wizard oeffnet sich (AtlassianSetupWizardView)
  5. Geben Sie ein:
  6. Anzeigename für den Tenant
  7. OAuth Client ID aus Schritt 2
  8. OAuth Client Secret aus Schritt 2
  9. Klicken Sie auf Verbinden
  10. Sie werden zur Atlassian-Autorisierungsseite weitergeleitet
  11. Wählen Sie die zu verbindende Atlassian Site aus
  12. Klicken Sie auf Accept
  13. Sie werden zurück zu TCM365 geleitet (AtlassianCallbackView)

Über die API

POST /api/v1/tenants
{
  "name": "Meine Atlassian Cloud",
  "vendor": "atlassian",
  "oauthClientId": "ihr-client-id",
  "oauthClientSecret": "ihr-client-secret"
}

Danach den OAuth-Flow starten:

POST /api/v1/setup/atlassian/authorize

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:

  1. Navigieren Sie zu Snapshots
  2. Klicken Sie auf Neuer Snapshot
  3. Wählen Sie Ihren Atlassian Tenant
  4. Wählen Sie die gewünschten Resource Types (z.B. alle Jira + Confluence + Org Security)
  5. 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 AtlassianRateLimiter handhabt 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