39 Authentifizierungsmethoden

Authentifizierungsmethoden in OpenShift implementieren Multi-Protokoll-Identity-Verification-Systeme für sichere Plattform-Zugriffskontrolle über verschiedene Authentifizierungsmuster und Identity-Provider-Integration. Diese Authentifizierungs-Frameworks unterstützen Enterprise-Identity-Standards und moderne Cloud-Native-Authentifizierungsmuster für flexible und sichere Benutzer-Authentifizierung.

39.1 Grundlagen der OpenShift-Authentifizierung

OpenShifts Authentifizierungs-Architektur trennt Identity-Verifikation von Autorisierungs-Entscheidungen durch OAuth2-basierte Token-Management-Systeme. Diese Trennung der Aufgabenbereiche ermöglicht flexible Identity-Provider-Integration ohne Änderungen der Autorisierungs-Logik.

Token-basierte Authentifizierung implementiert zustandslose Authentifizierungsmechanismen über JWT-Tokens mit eingebetteten Identity-Informationen und Ablaufmanagement. Diese Token-Architektur unterstützt skalierbare Authentifizierung ohne serverseitige Session-Verwaltung.

39.1.1 Multi-Protokoll-Unterstützung

OpenShift unterstützt gleichzeitige Authentifizierung über verschiedene Protokolle wie OAuth2, SAML, LDAP und OpenID Connect. Diese Protokoll-Vielfalt unterstützt die Integration heterogener Identity-Infrastrukturen und ermöglicht es verschiedenen Benutzergruppen, ihre bevorzugten Authentifizierungsmethoden zu verwenden.

Die Authentifizierungs-Flow-Orchestrierung koordiniert komplexe Authentifizierungssequenzen mit mehrstufiger Verifikation und Fallback-Mechanismen. Diese Flow-Verwaltung gewährleistet robuste Authentifizierungserfahrungen für verschiedene Authentifizierungsszenarien.

39.1.2 Token-Lebenszyklus

OpenShift verwendet OAuth2-Access-Tokens für API-Zugriffe und Session-Management. Diese Tokens haben konfigurierbare Lebensdauern und können automatisch erneuert werden, um längerfristige Sessions ohne erneute Authentifizierung zu ermöglichen.

Access-Tokens sind typischerweise 24 Stunden gültig, während Refresh-Tokens längere Lebensdauern haben können. Die Token-Rotation erfolgt automatisch, um Sicherheitsrisiken durch langlebige Tokens zu minimieren.

39.2 OAuth2 und OpenID Connect

OAuth2 bildet das Fundament für OpenShifts Authentifizierungssystem und unterstützt verschiedene Grant Types für unterschiedliche Anwendungsszenarien.

39.2.1 Authorization Code Flow

Der Authorization Code Flow implementiert sichere webbasierte Authentifizierung mit Benutzeragenten-Weiterleitung für interaktive Authentifizierungssitzungen. Dieser Standard-OAuth2-Flow unterstützt Web-Anwendungsauthentifizierung mit hohen Sicherheitsstandards.

apiVersion: config.openshift.io/v1
kind: OAuth
metadata:
  name: cluster
spec:
  identityProviders:
  - name: oidc-provider
    type: OpenID
    openID:
      clientID: openshift
      clientSecret:
        name: oidc-secret
      issuer: https://identity.example.com
      claims:
        preferredUsername: ['preferred_username']
        name: ['name']
        email: ['email']

39.2.2 Client Credentials Flow

Client Credentials Flow ermöglicht Service-zu-Service-Authentifizierung ohne Benutzerinteraktion für automatisierte System-Authentifizierung. Diese Machine-to-Machine-Authentifizierung unterstützt API-Zugriff und Service-Integration.

39.2.3 PKCE-Enhancement

PKCE (Proof Key for Code Exchange) Enhancement implementiert zusätzliche Sicherheit für öffentliche Clients ohne Client-Secret-Speicher-Fähigkeit. Diese erweiterte Sicherheit unterstützt mobile Anwendungen und native Desktop-Anwendungen.

39.2.4 OpenID Connect-Erweiterungen

OpenID Connect erweitert OAuth2 um Identity-Layer mit standardisierten User-Info-Endpunkten und ID-Tokens. Diese Standardisierung vereinfacht die Integration mit modernen Identity-Providern und ermöglicht reichhaltige Benutzer-Profile.

39.3 SAML-basierte Authentifizierung

SAML2-Integration implementiert Enterprise-SSO-Fähigkeiten über SAML-Assertion-basierte Authentifizierung mit Identity-Provider-Federation. Diese SAML-Unterstützung ermöglicht Integration mit Enterprise-Identity-Management-Systemen.

39.3.1 SAML-Konfiguration

apiVersion: config.openshift.io/v1
kind: OAuth
metadata:
  name: cluster
spec:
  identityProviders:
  - name: saml
    type: SAML
    saml:
      metadataURL: https://saml-idp.example.com/metadata
      insecureSkipSignatureValidation: false
      nameID:
        format: urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified
      attributeMapping:
        name: ['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name']
        preferredUsername: ['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name']

39.3.2 Assertion-Validierung

Assertion-Validierungsmechanismen implementieren kryptographische Verifikation für SAML-Assertions mit zertifikatbasierter Vertrauensbildung. Diese Validierungslogik gewährleistet SAML-Authentifizierungs-Integrität durch Signatur-Verifikation und Zeitstempel-Validation.

39.3.3 Attribut-Mapping

Attribut-Mapping von SAML-Attributen zu OpenShift-Benutzer-Eigenschaften ermöglicht umfassende Benutzer-Profil-Population aus SAML-Identity-Providern. Diese Attribut-Integration unterstützt umfassende Benutzer-Kontext-Etablierung mit Rollenzuweisungen und Gruppenmitgliedschaften.

39.3.4 Single Logout

Single-Logout-Implementierung koordiniert Session-Terminierung über SAML-Federation-Partner für vollständige Session-Bereinigung. Diese SLO-Fähigkeit gewährleistet sicherheitskonforme Session-Verwaltung über Systemgrenzen hinweg.

39.4 LDAP und Active Directory

LDAP-Integration verbindet traditionelle Enterprise-Directory-Services für die Nutzung bestehender Identity-Infrastruktur. Diese direkte Integration unterstützt traditionelle Unternehmens-Directory-Authentifizierung mit bewährten Sicherheitsmustern.

39.4.1 LDAP-Bind-Authentifizierung

apiVersion: config.openshift.io/v1
kind: OAuth
metadata:
  name: cluster
spec:
  identityProviders:
  - name: ldap
    type: LDAP
    ldap:
      attributes:
        id: ['dn']
        preferredUsername: ['uid']
        name: ['cn']
        email: ['mail']
      bindDN: "uid=admin,ou=system,dc=example,dc=com"
      bindPassword:
        name: ldap-bind-password
      url: "ldaps://ldap.example.com:636/ou=users,dc=example,dc=com?uid"
      insecure: false

39.4.2 Gruppen-Synchronisation

Gruppen-Mitgliedschafts-Auflösung über LDAP-Abfragen ermöglicht automatische Gruppen-Zuweisung basierend auf Directory-Gruppen-Mitgliedschaft. Diese Gruppen-Integration reduziert manuelle Berechtigungsverwaltung und hält Autorisierungen mit organisatorischen Änderungen synchron.

LDAP-Attribut OpenShift-Verwendung Beschreibung
dn Eindeutige Benutzer-ID Distinguished Name als primärer Identifikator
uid / sAMAccountName Bevorzugter Benutzername Anzeigename in der Konsole
cn / displayName Vollständiger Name Menschenlesbarer Name
mail E-Mail-Adresse Kontakt-Information
memberOf Gruppenmitgliedschaft Automatische Rollen-Zuweisung

39.4.3 Verschachtelte Gruppen-Unterstützung

Verschachtelte Gruppen-Unterstützung für komplexe LDAP-Hierarchien implementiert rekursive Gruppen-Mitgliedschafts-Auflösung. Diese Hierarchie-Unterstützung unterstützt Enterprise-Organisationsstrukturen mit mehrschichtigen Berechtigungshierarchien.

39.4.4 Performance-Optimierung

Connection-Pooling und Caching-Strategien optimieren LDAP-Authentifizierungs-Performance durch Connection-Wiederverwendung und Query-Ergebnis-Caching. Diese Performance-Optimierung reduziert Authentifizierungs-Latenz und LDAP-Server-Last.

39.5 Zertifikat-basierte Authentifizierung

X.509-Client-Zertifikat-Authentifizierung ermöglicht zertifikatbasierte Benutzer-Authentifizierung für hochsichere Umgebungen. Diese PKI-basierte Authentifizierung unterstützt starke Authentifizierungsanforderungen ohne Passwörter.

39.5.1 Certificate Authority Integration

Certificate Authority-Integration mit internen oder externen CAs implementiert Vertrauensketten-Validierung für Client-Zertifikate. Diese CA-Integration gewährleistet Zertifikat-Vertrauensbildung durch etablierte PKI-Infrastruktur.

apiVersion: v1
kind: ConfigMap
metadata:
  name: ca-config-map
  namespace: openshift-config
data:
  ca-bundle.crt: |
    -----BEGIN CERTIFICATE-----
    [Certificate Authority Certificate]
    -----END CERTIFICATE-----

39.5.2 Zertifikat-Widerruf

Zertifikat-Widerruf-Überprüfung über CRL oder OCSP implementiert Echtzeit-Zertifikat-Gültigkeits-Verifikation. Diese Widerruf-Überprüfung gewährleistet zertifikatbasierte Sicherheitsrichtlinien-Durchsetzung auch bei kompromittierten Zertifikaten.

39.5.3 Smart Card Integration

Smart-Card-Integration für hardwarebasierte Zertifikat-Speicherung unterstützt Hochsicherheits-Authentifizierungsszenarien. Diese Hardware-Security-Module-Integration bietet maximale Authentifizierungs-Sicherheit durch unveränderliche Hardware-Token.

39.6 Multi-Faktor-Authentifizierung

OpenShift kann mit externen MFA-Providern integriert werden, um zusätzliche Sicherheitsebenen zu implementieren. Diese Integration erfolgt typischerweise auf Identity-Provider-Ebene.

39.6.1 TOTP-Integration

TOTP (Time-based One-Time Password) Integration implementiert mobile App-basierte Zweitfaktor-Authentifizierung. Diese MFA-Integration bietet erweiterte Sicherheit für sensible Konto-Zugriffe durch zeitbasierte Einmalpasswörter.

39.6.2 Hardware-Token-Unterstützung

Hardware-Token-Unterstützung für FIDO/U2F-Geräte implementiert hardwarebasierte Zweitfaktor-Authentifizierung. Diese Hardware-MFA bietet höchstes Sicherheitsniveau für kritischen Kontoschutz.

39.6.3 Risikobasierte Authentifizierung

Risikobasierte Authentifizierung implementiert adaptive MFA-Anforderungen basierend auf Login-Risikobewertung. Diese intelligente MFA reduziert Benutzer-Reibung für risikoarme Authentifizierungsszenarien durch Kontext-bewusste Sicherheitsentscheidungen.

39.7 API-Authentifizierungsmuster

OpenShift unterstützt verschiedene Authentifizierungsmuster für API-Zugriff, die unterschiedliche Anwendungsszenarien abdecken.

39.7.1 Bearer Token Authentication

# Token aus aktueller Session abrufen
TOKEN=$(oc whoami -t)

# API-Aufruf mit Bearer Token
curl -H "Authorization: Bearer $TOKEN" \
     https://api.cluster.example.com:6443/api/v1/namespaces

Bearer-Token-Authentifizierung für API-Zugriff implementiert tokenbasierte API-Authentifizierung ohne interaktive Login-Anforderungen. Diese API-Authentifizierung unterstützt automatisierte System-Integration und Skript-basierte Operationen.

39.7.2 Service Account Tokens

Service-Account-Token-Authentifizierung ermöglicht Pod-basierte API-Authentifizierung über Kubernetes-Service-Account-Mechanismen. Diese Service-Authentifizierung unterstützt containerbasierte API-Zugriffe mit automatischer Token-Injektion.

apiVersion: v1
kind: Pod
metadata:
  name: api-client
spec:
  serviceAccountName: api-access-sa
  containers:
  - name: client
    image: curlimages/curl
    command: ['sleep', '3600']
    env:
    - name: TOKEN
      valueFrom:
        secretKeyRef:
          name: api-access-sa-token
          key: token

39.7.3 Basic Authentication

Basic-Authentication-Support für Legacy-API-Clients bietet einfache Benutzername-Passwort-Authentifizierung für Rückwärtskompatibilität. Diese Basic-Auth-Unterstützung unterstützt Legacy-System-Integration, sollte jedoch nur über verschlüsselte Verbindungen verwendet werden.

39.7.4 API-Schlüssel

API-Schlüssel-Authentifizierung implementiert einfache tokenbasierte API-Zugriffe für Drittanbieter-Integrationsszenarien. Diese API-Schlüssel-Verwaltung unterstützt Partner-API-Zugriff mit granularer Berechtigung-Kontrolle.

39.8 Externe Identity-Provider

OpenShift kann mit verschiedenen Cloud- und Enterprise-Identity-Providern integriert werden, um bestehende Identity-Infrastrukturen zu nutzen.

39.8.1 GitHub OAuth Integration

apiVersion: config.openshift.io/v1
kind: OAuth
metadata:
  name: cluster
spec:
  identityProviders:
  - name: github
    type: GitHub
    github:
      clientID: your-github-app-id
      clientSecret:
        name: github-secret
      hostname: github.com
      organizations:
      - your-organization
      teams:
      - your-organization/developers

GitHub-OAuth-Integration ermöglicht entwicklerfreundliche Authentifizierung über GitHub-Konten für Entwicklungsumgebungen. Diese GitHub-Integration unterstützt Developer-Workflow-Integration mit Repository-basierter Zugriffskontrolle.

39.8.2 Google OAuth Integration

Google-OAuth-Integration bietet Consumer-Identity-Provider-Authentifizierung für breite Benutzerbasis-Unterstützung. Diese Google-Integration unterstützt Self-Service-Benutzerregistrierung mit Social-Login-Funktionalitäten.

39.8.3 Microsoft Azure AD

Microsoft-Azure-AD-Integration implementiert Enterprise-Cloud-Identity-Authentifizierung für Hybrid-Cloud-Szenarien. Diese Azure-Integration unterstützt Microsoft-Ökosystem-Integration mit Office 365 und Azure-Services.

39.8.4 Custom OIDC Provider

Custom-OIDC-Provider-Integration ermöglicht Integration mit spezialisierten oder proprietären Identity-Providern. Diese maßgeschneiderte Integration unterstützt einzigartige organisatorische Identity-Anforderungen mit Standard-OIDC-Protokollen.

39.9 Sicherheitshärtung und Best Practices

OpenShift implementiert verschiedene Sicherheitsmaßnahmen zum Schutz des Authentifizierungssystems vor Angriffen und Missbrauch.

39.9.1 Brute Force Protection

Brute-Force-Schutz implementiert Rate-Limiting und Konto-Sperrung-Mechanismen für Authentifizierungs-Angriffsmilderung. Dieser Angriffs-Schutz gewährleistet Authentifizierungs-Service-Resilienz durch automatische Erkennung und Reaktion auf verdächtige Aktivitäten.

Rate-Limiting-Parameter: - Maximale Failed-Login-Versuche: 5 pro 5 Minuten - Konto-Sperrung-Dauer: 30 Minuten (progressiv ansteigend) - IP-basiertes Rate-Limiting: 20 Versuche pro Minute

39.9.2 Passwort-Richtlinien

Passwort-Richtlinien-Durchsetzung für lokale Konten implementiert Komplexitätsanforderungen und Historie-Überprüfung. Diese Passwort-Sicherheit gewährleistet Mindest-Sicherheitsstandards für lokale Benutzer-Authentifizierung.

39.9.3 Audit-Protokollierung

Audit-Protokollierung für Authentifizierungs-Ereignisse protokolliert alle Authentifizierungs-Versuche für Sicherheitsüberwachung und Compliance. Diese Audit-Trail-Generierung unterstützt Sicherheits-Incident-Untersuchung und regulatorische Berichterstattung.

# Authentifizierungs-Events in Audit-Logs anzeigen
oc adm node-logs --role=master --path=audit/audit.log | \
grep '"verb":"create"' | grep '"resource":"tokenreviews"'

39.9.4 Verschlüsselung in Transit

Verschlüsselung während der Übertragung für Authentifizierungs-Kommunikation gewährleistet sichere Credential-Übertragung über Netzwerkverbindungen. Diese Kommunikations-Sicherheit schützt gegen Credential-Abfangung durch TLS-verschlüsselte Verbindungen.

39.10 Performance-Optimierung

Authentifizierungs-Performance kann durch verschiedene Strategien optimiert werden, um Latenz zu reduzieren und Skalierbarkeit zu verbessern.

39.10.1 Authentication Caching

Authentifizierungs-Caching-Strategien implementieren Response-Caching für häufig verwendete Authentifizierungs-Entscheidungen. Diese Caching-Optimierung reduziert Identity-Provider-Last und Authentifizierungs-Latenz durch lokale Cache-Speicherung.

39.10.2 Connection Pooling

Connection-Pooling für Identity-Provider-Verbindungen optimiert Netzwerk-Ressourcen-Nutzung und Antwortzeiten. Diese Connection-Verwaltung verbessert Authentifizierungs-Performance durch Wiederverwendung etablierter Verbindungen.

39.10.3 Load Balancing

Load-Balancing für Identity-Provider-Zugriff implementiert Hochverfügbarkeit und Performance-Verteilung für Authentifizierungs-Services. Diese Last-Verteilung gewährleistet Authentifizierungs-Service-Resilienz bei hohen Benutzerlasten.

Empfohlene Load-Balancing-Konfiguration: - Health-Check-Intervall: 30 Sekunden - Timeout für Identity-Provider: 10 Sekunden - Maximale gleichzeitige Verbindungen: 100 pro Provider - Failover-Zeit: < 5 Sekunden

39.10.4 Geographic Distribution

Geografische Verteilung von Authentifizierungs-Services implementiert regionale Authentifizierungs-Optimierung für globale Deployments. Diese geografische Optimierung reduziert Authentifizierungs-Latenz für globale Benutzerbasis durch regionale Identity-Provider-Instanzen.