Security+ Academy · Lektion

Cloud-Identität: IAM-Rollen und Servicekonten

Konfigurieren Sie IAM-Rollen und Servicekonten nach dem Prinzip der geringsten Rechte in Cloud-Plattformen und vermeiden Sie typische Fehler wie Wildcard-Berechtigungen und langlebige Schlüssel.

Lektion 3 von 413 Schritte

Cloud-Identität: IAM-Rollen und Servicekonten ist eine kostenlose Security+ Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Security+ Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Security+ Academy-Kurs umfasst insgesamt 4 Lektionen.

Grundlagen der Cloud-Identität

In Cloud-Umgebungen ist die Identität der neue Perimeter. Jede Aktion – vom Starten einer VM über das Lesen einer Datenbank bis zum Aufrufen einer API – wird anhand der aufrufenden Identität autorisiert. Cloud-IAM-Systeme (Identity and Access Management) legen fest, wer was auf welchen Ressourcen tun darf. Anders als in On-Premises-Umgebungen, in denen der Netzwerkstandort implizites Vertrauen vermittelte, behandelt Cloud-IAM jede Anfrage unabhängig von ihrem Ursprung als zugriffspflichtig und verlangt eine ausdrückliche Autorisierung.

Benutzer, Gruppen und Rollen in AWS IAM

AWS IAM kennt drei primäre Identitätstypen. IAM Users stehen für einzelne Personen oder Anwendungen mit langfristig gültigen Zugangsdaten (Zugriffsschlüssel + geheimer Schlüssel). IAM Groups fassen Benutzer zusammen und weisen ihnen gemeinsame Berechtigungen zu. IAM Roles sind Identitäten mit temporären Zugangsdaten, die von Benutzern, AWS-Diensten (EC2, Lambda) oder anderen Konten übernommen werden können. Rollen sind langfristig gültigen Zugriffsschlüsseln vorzuziehen, da ihre Zugangsdaten automatisch ablaufen und dadurch das Risiko einer Offenlegung verringert wird.

# IAM role trust policy — allows EC2 to assume this role
{
  'Version': '2012-10-17',
  'Statement': [{
    'Effect': 'Allow',
    'Principal': { 'Service': 'ec2.amazonaws.com' },
    'Action': 'sts:AssumeRole'
  }]
}

# EC2 instance with this role attached can call AWS APIs
# using temporary credentials from the instance metadata service

Prinzip der geringsten Rechte in IAM-Richtlinien

IAM-Richtlinien legen fest, welche Aktionen eine Identität auf welchen Ressourcen ausführen darf. Das Prinzip der geringsten Rechte verlangt, dass Richtlinien nur die für eine Aufgabe erforderlichen Aktionen gewähren. Häufige Verstöße sind die Verwendung von *-Wildcards für Aktionen (gewährt alle Aktionen eines Dienstes), die Verwendung von * für Ressourcen (gewährt Zugriff auf alle Ressourcen) und das Zuweisen übermäßig weitreichender verwalteter Richtlinien wie AdministratorAccess zu Servicekonten. Jede Wildcard sollte begründet und regelmäßig überprüft werden.

# Overly permissive policy (AVOID)
{
  'Effect': 'Allow',
  'Action': 's3:*',      # all S3 actions
  'Resource': '*'         # all buckets
}

# Least-privilege policy (PREFERRED)
{
  'Effect': 'Allow',
  'Action': ['s3:GetObject', 's3:ListBucket'],
  'Resource': [
    'arn:aws:s3:::my-specific-bucket',
    'arn:aws:s3:::my-specific-bucket/*'
  ]
}

Dienstkonten in GCP

In Google Cloud Platform (GCP) authentifizieren sich nichtmenschliche Workloads mithilfe von Dienstkonten – verwalteten Identitäten mit JSON-Schlüsseldateien oder Workload Identity Federation. Für jedes Dienstkonto sollte das Prinzip der geringsten Privilegien gelten: Binden Sie es nur an die GCP-Dienste, die es aufrufen muss. Dienstkontoschlüssel (aus der Konsole heruntergeladene JSON-Dateien) sind langlebige Zugangsdaten und müssen wie Passwörter behandelt werden: regelmäßig rotieren und niemals in den Quellcode übernehmen oder in öffentliche Repositories hochladen.

# Check service account permissions (gcloud)
gcloud projects get-iam-policy my-project \
  --flatten='bindings[].members' \
  --format='table(bindings.role, bindings.members)' \
  --filter='bindings.members:serviceAccount'

# Prefer Workload Identity over service account keys
# (no downloadable key files — uses workload federation tokens)

Verwaltete Identitäten in Azure

Verwaltete Identitäten in Azure (früher MSI) sind das Azure-Gegenstück zu AWS-IAM-Rollen für Dienste. Sie ermöglichen es Azure-Ressourcen (VMs, App Services, Functions), sich ohne gespeicherte Zugangsdaten bei Azure-APIs zu authentifizieren. Es gibt zwei Typen: vom System zugewiesene verwaltete Identitäten sind an eine bestimmte Ressource gebunden und werden gelöscht, wenn die Ressource gelöscht wird. Vom Benutzer zugewiesene verwaltete Identitäten sind eigenständige Objekte, die von mehreren Ressourcen gemeinsam verwendet werden können. Verwaltete Identitäten machen gespeicherte Schlüssel oder Secrets überflüssig.

# Azure CLI — assign managed identity to a VM
az vm identity assign \
  --name myVM \
  --resource-group myRG \
  --identities /subscriptions/.../userAssignedIdentities/myIdentity

# The VM can now call Azure Key Vault without any stored credentials:
# Token is fetched automatically from the Instance Metadata Service

Langlebige Zugangsdaten: Das Risiko

Langlebige Zugangsdaten – statische Zugriffsschlüssel, API-Tokens und Dienstkontoschlüsseldateien, die niemals ablaufen – gehören zu den größten Risikofaktoren in Cloud-Umgebungen. Wenn sie offengelegt werden (etwa über GitHub, einen S3-Bucket, Protokolle oder einen kompromittierten Laptop eines Entwicklers), gewähren diese Zugangsdaten sofortigen Zugriff, bis sie manuell widerrufen werden. Unternehmen sollten alle langlebigen Zugangsdaten prüfen, sie nach einem festen Zeitplan rotieren, rollenbasierte oder föderierte Zugriffe bevorzugen, die kurzlebige Tokens erzeugen, und sofort alarmieren, wenn Zugangsdaten in öffentlichen Repositories auftauchen.

# Find IAM access keys older than 90 days (AWS)
aws iam generate-credential-report
aws iam get-credential-report --query 'Content' --output text | \
  base64 -d | grep -v 'N/A' | \
  awk -F',' '$10 > 90 {print $1, $10}'

# Keys older than 90 days should be rotated or deleted

Verkettung von IAM-Rollen und Rechteausweitung

Eine IAM-Rechteausweitung liegt vor, wenn eine Identität eine Kombination von Berechtigungen verwendet, um sich zusätzliche Berechtigungen zu gewähren. Zu den klassischen Pfaden der Rechteausweitung gehören: eine umfangreichere Policy an den eigenen Benutzer anhängen, einen neuen IAM-Benutzer mit erweiterten Berechtigungen erstellen, eine Rolle (iam:PassRole) an einen Dienst übergeben und die Ausführungsrolle einer Lambda-Funktion aktualisieren. Der AWS IAM Access Analyzer kann solche Muster erkennen, und IAM-Berechtigungsgrenzen können die maximalen Berechtigungen, die einer Identität gewährt werden dürfen, strikt begrenzen.

# Dangerous permission combination (enables privilege escalation):
# iam:CreatePolicyVersion + iam:SetDefaultPolicyVersion
# Attacker can create a new policy version with AdministratorAccess

# Or: iam:PassRole + lambda:CreateFunction + lambda:InvokeFunction
# Attacker creates Lambda with a privileged role, invokes it

# Defense: permission boundaries limit maximum grantable permissions

Übernahme von Rollen kontoübergreifend

Cloud-Organisationen verwenden häufig mehrere Konten (Entwicklung, Staging, Produktion, Sicherheit), um die Auswirkungen von Sicherheitsvorfällen zu begrenzen. Die kontoübergreifende Übernahme von Rollen ermöglicht es Identitäten in einem Konto, Rollen in einem anderen Konto zu übernehmen, sodass zentralisierte Tools kontenübergreifend arbeiten können. Zu den Sicherheitskontrollen gehören: eine External ID in der Vertrauensrichtlinie zu verlangen, um Confused-Deputy-Angriffe zu verhindern, über die Principal-ARN einzuschränken, welche Konten eine Rolle übernehmen dürfen, und alle kontoübergreifenden Rollenübernahmen zu Prüfzwecken in CloudTrail zu protokollieren.

# Trust policy with External ID (confused deputy protection)
{
  'Effect': 'Allow',
  'Principal': { 'AWS': 'arn:aws:iam::PARTNER-ACCOUNT-ID:root' },
  'Action': 'sts:AssumeRole',
  'Condition': {
    'StringEquals': {
      'sts:ExternalId': 'unique-shared-secret-12345'
    }
  }
}

Sicherheit von IMDS und Metadatendiensten

AWS-EC2-Instanzen können die Zugangsdaten ihrer IAM-Rolle über den Instance Metadata Service (IMDS) unter http://169.254.169.254 abrufen. Die SSRF-Schwachstellenklasse ist hier besonders gefährlich: Ist eine Anwendung für SSRF anfällig, kann ein Angreifer die Zugangsdaten der IAM-Rolle der Instanz exfiltrieren, indem er den Server dazu bringt, die IMDS-URL abzurufen. IMDSv2 (das ein Sitzungstoken voraussetzt) mindert den auf SSRF basierenden Diebstahl von Zugangsdaten und sollte auf allen EC2-Instanzen erzwungen werden.

# Enforce IMDSv2 on a new EC2 instance (requires token for IMDS)
aws ec2 run-instances \
  --metadata-options 'HttpTokens=required,HttpEndpoint=enabled' \
  ...

# IMDSv1 (insecure) just needs a GET request:
# curl http://169.254.169.254/latest/meta-data/iam/security-credentials/
# IMDSv2 requires a PUT to get a session token first

IAM Access Analyzer und Policy-Prüfung

IAM Access Analyzer (AWS) erkennt automatisch Ressourcen, die mit externen Principals geteilt werden, sowie IAM-Policies, die mehr Berechtigungen gewähren als beabsichtigt. Das Tool analysiert Bucket-Policies, Vertrauensrichtlinien von Rollen und KMS-Schlüssel-Policies, um externen Zugriff zu kennzeichnen, der nicht ausdrücklich vorgesehen war. Regelmäßige Prüfungen von IAM-Policies – manuell oder mit Tools wie Cloudsplaining, PMapper oder Permissions Boundary Analyzer – sind unerlässlich, um Pfade zur Rechteausweitung zu erkennen, bevor Angreifer sie finden.

Workload Identity Federation

Workload Identity Federation ermöglicht es externen Workloads (GitHub Actions, lokalen Systemen und anderen Cloud-Anbietern), sich mit kurzlebigen OIDC-Tokens statt mit langlebigen Dienstkontoschlüsseln bei Cloud-IAM zu authentifizieren. Ein GitHub-Actions-Workflow kann mithilfe seines OIDC-Tokens für die Dauer des Jobs eine AWS-IAM-Rolle übernehmen; anschließend läuft das Token ab. Dieser Ansatz beseitigt die gesamte Klasse der Leaks langlebiger Zugangsdaten aus CI/CD-Pipelines.

Kurze Lernkontrolle

Testen Sie Ihr Verständnis der CompTIA-Security+-Konzepte (SY0-701) aus dieser Lektion.

Zusammenfassung der Lektion

In dieser Lektion haben Sie gelernt: IAM-Rollen stellen temporäre Zugangsdaten bereit und werden für Cloud-Workloads gegenüber langlebigen Zugriffsschlüsseln bevorzugt, Policies nach dem Prinzip der geringsten Privilegien sollten Wildcards vermeiden und nur bestimmte Aktionen für bestimmte Ressourcen erlauben und IMDSv2, Berechtigungsgrenzen und Workload Identity Federation beseitigen gängige Wege zur Offenlegung von Zugangsdaten. Als Nächstes befassen wir uns mit Cloud Security Posture Management (CSPM).

Kostenlos starten

Lerne Security+ Academy mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
30
Lektionen
120

Häufig gestellte Fragen

Ist die Lektion „Cloud-Identität: IAM-Rollen und Servicekonten“ kostenlos?

Ja — der vollständige Text von „Cloud-Identität: IAM-Rollen und Servicekonten“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Security+ Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Security+ Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Cloud-Identität: IAM-Rollen und Servicekonten“?

Konfigurieren Sie IAM-Rollen und Servicekonten nach dem Prinzip der geringsten Rechte in Cloud-Plattformen und vermeiden Sie typische Fehler wie Wildcard-Berechtigungen und langlebige Schlüssel. Du übst Security+ Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Security+ Academy zu starten?

Keine Vorkenntnisse erforderlich. Security+ Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „Cloud-Identität: IAM-Rollen und Servicekonten“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Security+ Academy-Lektion Code schreiben und ausführen?

Ja. Jede Security+ Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Modell der geteilten Verantwortung: IaaS, PaaS, SaaS
  2. Sicherheit von Cloud-Speichern und Risiken der Datenpreisgabe
  3. Cloud-Identität: IAM-Rollen und Servicekonten
  4. Cloud Security Posture Management (CSPM)
← Zurück zu Security+ Academy