Drei-Schichten-Anwendung: Web, App, DB. Die Datenbank muss unter allen Umständen vom Internet aus unerreichbar sein.
→Öffentliche Subnetze für die Web-Schicht (ALB). Private Subnetze für die Anwendungs- und DB-Schichten. Die DB-Sicherheitsgruppe erlaubt den Traffic nur von der Sicherheitsgruppe der App-Schicht (nicht von CIDR-Bereichen).
Warum: Subnetz-Routing-Tabellen erzwingen die Erreichbarkeit; Referenzen zwischen Sicherheitsgruppen kodieren das Prinzip der geringsten Rechte auf der SG-Ebene und überleben IP-Änderungen.
Referenz↗
EC2-Instanz muss auf S3 zugreifen. Eingebettete Anmeldeinformationen vermeiden.
→IAM-Rolle über Instanzprofil angehängt. SDK ruft temporäre Anmeldeinformationen von IMDSv2 ab.
Warum: Langlebige Zugriffsschlüssel auf Instanzen sind die Hauptursache für das Durchsickern von Anmeldeinformationen. Rollen werden automatisch rotiert und nie dauerhaft gespeichert.
Referenz↗
SSRF-Angriffe blockieren, die versuchen, EC2-Instanzmetadaten zu lesen.
→IMDSv2 (`HttpTokens=required`) beim Start der Instanz erzwingen. Unauthentifizierte IMDSv1-Anfragen ablehnen.
Warum: IMDSv2 erfordert ein Sitzungstoken über PUT, bevor der Metadaten-Endpunkt antwortet; SSRF-Angriffe, die nur GETs durchführen, werden blockiert.
Referenz↗
Dienst A in Konto A ruft Lambda in Konto B auf. Geringste Rechte.
→Ressourcenbasierte Richtlinie für das Ziel-Lambda, die `lambda:InvokeFunction` dem Rollen-Principal von Konto A gewährt. Aufrufer übernimmt seine eigene Rolle und ruft direkt auf — keine Rollenverkettung erforderlich.
Warum: Ressourcenrichtlinien sind das einfachste kontoübergreifende Muster für dienstgesteuerte Ressourcen (Lambda, S3, SNS, SQS, KMS).
Referenz↗
Andere AWS-Konten müssen in einen zentralen S3-Bucket hochladen.
→Bucket-Richtlinie, die `s3:PutObject` externen Konto-Principals gewährt. `bucket-owner-full-control` ACL-Anforderung hinzufügen, damit der Bucket-Besitzer die Kontrolle über Objekte behält.
Warum: Ohne `bucket-owner-full-control` (oder `BucketOwnerEnforced` Object Ownership) gehören hochgeladene Objekte dem schreibenden Konto.
Referenz↗
Verhindern, dass S3-Buckets in der Organisation öffentlich gemacht werden.
→S3 Block Public Access auf Kontoebene aktivieren (und organisationsweit über SCPs). Überschreibt Bucket-Level-ACLs und -Richtlinien.
Warum: Die Einstellung auf Kontoebene hat Vorrang vor Einstellungen pro Bucket — Abwehr gegen versehentliche Fehlkonfiguration.
Referenz↗
Entwickler müssen IAM-Rollen selbst bereitstellen können, aber keine Berechtigungen vergeben, die über ein definiertes Maximal-Berechtigungssatz hinausgehen.
→Berechtigungsgrenzen für den Entwickler-Principal. Effektive Berechtigungen = Identitätsrichtlinie ∩ Grenze.
Warum: SCPs gelten auf Konto-/OU-Ebene; Grenzen begrenzen einzelne Principals. Verwenden Sie Grenzen für delegierte Administrator-Muster.
Referenz↗
Eine OU auf bestimmte Regionen für die Einhaltung der Datenresidenz beschränken.
→Service Control Policy in Organizations, die jede Aktion verweigert, bei der `aws:RequestedRegion` nicht in der zulässigen Liste enthalten ist.
Warum: SCPs sind der einzige Mechanismus, der Aktionen verweigern kann, die das Konto selbst zulässt. IAM kann nicht verweigern, was ein Konto-Root gewähren könnte.
Referenz↗
Single Sign-On für Mitarbeiter über viele AWS-Konten hinweg; Integration mit dem Unternehmens-IdP.
→AWS IAM Identity Center (ehemals AWS SSO) mit SAML/OIDC-Föderation zum Unternehmens-IdP. Berechtigungssätze werden Rollen in Mitgliedskonten zugeordnet.
Warum: Identity Center ist die kanonische Multi-Konto-Mitarbeiteridentität. Cognito ist für Anwendungs-Endbenutzer, nicht für Mitarbeiter.
Referenz↗
Cognito User Pool vs. Identity Pool auswählen.
→User Pool = Registrierung / Anmeldung / JWT-Ausgabe für App-Benutzer. Identity Pool = Austausch von Tokens gegen temporäre AWS-Anmeldeinformationen. Die meisten Apps verwenden beides: User Pool authentifiziert, Identity Pool autorisiert AWS-Zugriff.
Referenz↗
Benutzerdefinierten Validierungsschritt zum Cognito-Anmeldevorgang hinzufügen (z.B. E-Mail-Domain auf Whitelist setzen).
→Lambda-Trigger: Pre Sign-up, Pre Authentication, Define/Create/Verify Auth Challenge. Validieren oder ablehnen in der Lambda-Funktion.
Referenz↗
Volle Kontrolle über Schlüsselrotation, Löschung und Audit-Trail pro Schlüssel erforderlich.
→Kundenverwalteter KMS-Schlüssel (CMK). AWS-verwaltete Schlüssel (`aws/<service>`) sind einfacher, bieten aber keine Kontrolle über die Schlüsselrichtlinie oder Einblick in die individuelle Schlüsselnutzung.
Warum: CMKs ermöglichen es Ihnen, den Zugriff pro Schlüssel in CloudTrail zu definieren, Schlüsselrichtlinien für die kontoübergreifende Nutzung festzulegen und die Löschung zu deaktivieren/zu planen.
Referenz↗
Konto B muss S3-Objekte entschlüsseln, die mit dem CMK von Konto A verschlüsselt wurden.
→Schlüsselrichtlinie auf dem CMK gewährt `kms:Decrypt` den Principals von Konto B. Das IAM von Konto B benötigt ebenfalls `kms:Decrypt` auf dem Schlüssel-ARN. Beide Hälften erforderlich.
Warum: KMS kontoübergreifend erfordert eine explizite Genehmigung sowohl in der Schlüsselrichtlinie als auch in der aufrufenden IAM-Identität (im Gegensatz zu den meisten Ressourcenrichtlinien).
Referenz↗
Daten in `us-east-1` verschlüsseln; nach der Replikation in `us-west-2` entschlüsseln, ohne neu zu verschlüsseln.
→KMS Multi-Region-Schlüssel. Primär in einer Region, Replikat in einer anderen, beide mit dem gleichen Schlüsselmaterial und derselben ID.
Warum: Vermeidet das erneute Umschließen des Chiffretextes bei regionsübergreifendem Failover oder DR.
Referenz↗
Große Objekte verschlüsseln, ohne dass KMS-API-Aufrufe pro Objekt die Kosten dominieren.
→Umschlagverschlüsselung (Envelope Encryption). KMS generiert einen Datenschlüssel (ein API-Aufruf); verwenden Sie den Datenschlüssel, um die Nutzdaten lokal zu verschlüsseln; speichern Sie den verschlüsselten Datenschlüssel zusammen mit dem Chiffretext.
Warum: KMS ist ratenbegrenzt und wird pro Anfrage abgerechnet. Das Umschlag-Muster ist die kanonische Methode, um Daten > weniger KB zu verschlüsseln.
Referenz↗
Secrets Manager vs. SSM Parameter Store SecureString auswählen.
→DB-Anmeldeinformationen mit automatischer Rotation, kontoübergreifender Freigabe, großen Secrets → Secrets Manager. Konfigurations-Flags, App-Einstellungen, einfache Secrets, geringste Kosten → SSM Parameter Store.
Warum: Secrets Manager verfügt über integrierte Rotations-Lambdas für RDS/Aurora/DocumentDB/Redshift; Parameter Store hat keine native Rotation, ist aber im Standard-Tarif kostenlos.
Referenz↗
RDS-Passwort alle 30 Tage automatisch rotieren.
→Secrets Manager mit verwalteter Rotation. Integrierte Lambda-Vorlage handhabt die Rotation eines einzelnen Benutzers gegen den RDS-Endpunkt. Apps rufen das Secret zur Verbindungszeit ab (zwischengespeichert) — keine erneute Bereitstellung der App.
Referenz↗
Layer-7-HTTP-Flood abmildern, ohne legitime Spitzen zu blockieren.
→AWS WAF ratenbasierte Regel (z.B. 2000 Anfragen / 5 Min pro IP) auf dem ALB oder CloudFront. Kombinieren mit verwalteten Regelgruppen für bekannte schlechte IPs.
Warum: WAF-Ratenregeln verfolgen pro Quell-IP; automatische Blockierung, wenn der Schwellenwert überschritten wird; Freigabe nach dem Fenster.
Referenz↗
Missionskritische Anwendung benötigt DDoS-Kostenschutz und 24×7 SRT-Support.
→AWS Shield Advanced auf CloudFront / ALB / NLB / Global Accelerator. Enthält Kostenschutz (Rückerstattungen für Skalierungsausgaben während eines Angriffs) + Zugang zum Shield Response Team.
Warum: Shield Standard ist automatisch und kostenlos; Advanced fügt Schutz und SLA hinzu. CloudFront ist immer die empfohlene "Haustür".
Referenz↗
Sicherheitsgruppe vs. NACL auswählen.
→Stateful, an ENI anhängen, nur zulassen → Sicherheitsgruppe (Standard). Stateless, Subnetz-Ebene, zulassen + explizit ablehnen → NACL. NACLs für pauschale Ablehnungsregeln verwenden (IP-Bereiche blockieren); SGs für alles andere.
Warum: NACLs bewerten eingehenden und ausgehenden Datenverkehr getrennt. SGs erlauben den Rückverkehr automatisch.
Referenz↗
EC2 in privatem Subnetz muss S3/DynamoDB ohne NAT-Ausgangskosten erreichen.
→VPC-Gateway-Endpunkt für S3 und DynamoDB. Kostenlos, Routing-Tabellen-Eintrag, kein NAT.
Warum: Gateway-Endpunkte sind nur für S3/DynamoDB. Spart NAT-Datenverarbeitungsgebühren und hält den Datenverkehr im AWS-Backbone.
Referenz↗
Privates Subnetz muss AWS-Dienst-APIs (KMS, Secrets Manager, ECR usw.) privat erreichen.
→VPC-Interface-Endpunkt (PrivateLink) pro Dienst. ENI in Ihrer VPC, Abrechnung pro Stunde + pro GB.
Warum: Interface-Endpunkte funktionieren für fast jeden AWS-Dienst. Verwenden Sie diese, um den NAT-Ausgang für Dienstaufrufe zu eliminieren.
Referenz↗
SaaS-Anbieter stellt seinen In-VPC-Dienst Kundenkonten privat zur Verfügung, ohne VPC-Peering oder die Notwendigkeit, Kunden-Routing zu pflegen.
→AWS PrivateLink-Endpunktdienst, unterstützt durch einen NLB. Kunden erstellen Interface-Endpunkte zur Nutzung.
Warum: Keine CIDR-Überlappungsprobleme, kein Peering-Meshing, einseitige Exposition (Anbieter sieht keinen Kundenverkehr).
Referenz↗
Mehr als 30 VPCs kontoübergreifend und On-Premises in einer Hub-and-Spoke-Topologie verbinden.
→AWS Transit Gateway. Einzelner Anhang pro VPC; Routing-Tabellen segmentieren den Datenverkehr.
Warum: Full-Mesh-Peering erfordert N×(N-1)/2 Verbindungen. TGW skaliert linear und unterstützt kontoübergreifend über RAM.
Referenz↗
Hybride Konnektivität, die vorhersagbare Bandbreite, geringe Latenz und Verschlüsselung benötigt.
→Direct Connect mit einem Site-to-Site VPN über DX (MACsec oder IPsec). DX allein ist unverschlüsselt; VPN über DX ist privat + verschlüsselt + jitterarm.
Warum: Einfaches VPN über das Internet ist günstig, hat aber variable Latenz. DX allein ist schnell, aber im Klartext auf der Verbindungsschicht.
Referenz↗
Kontinuierliche Bedrohungserkennung über VPC Flow Logs, DNS, CloudTrail, EKS-Audit, S3-Datenereignisse hinweg.
→Amazon GuardDuty. Organisationsweit über delegierten Administrator von Organizations.
Warum: Verwaltete Bedrohungserkennung. Ergebnisse in Security Hub oder EventBridge zur Automatisierung der Reaktion.
Referenz↗
PII / PHI in S3-Buckets entdecken und klassifizieren.
→Amazon Macie. ML-basierte Erkennung sensibler Daten, S3-bezogen, integriert mit Security Hub.
Referenz↗
Kontinuierliches CVE-Scanning für EC2, ECR-Images, Lambda-Funktionen.
→Amazon Inspector v2. Erkennt Ressourcen automatisch über den Systems Manager Agent und scannt gegen veröffentlichte CVEs.
Referenz↗
Ergebnisse von GuardDuty, Inspector, Macie, IAM Access Analyzer in einem Dashboard zusammenfassen.
→AWS Security Hub. CSPM mit AWS Foundational Security Best Practices und CIS-Standards.
Referenz↗
Durchsetzen, dass alle EBS-Volumes verschlüsselt sind; nicht-konforme Ressourcen automatisch beheben.
→AWS Config-Regeln (verwaltetes `encrypted-volumes`) + Systems Manager Automation-Runbook zur Behebung, ausgelöst über Config-Behebungsaktion.
Referenz↗
Ein einziges manipulationssicheres Audit-Log über alle Konten in der Organisation.
→Organisationstrail mit aktivierter Logdatei-Validierung, geschrieben in einen zentralen S3-Bucket mit einer Bucket-Richtlinie, die das Löschen verweigert.
Warum: Org-Trails werden in allen Mitgliedskonten (aktuelle und zukünftige) automatisch aktiviert. Validierungshashes beweisen, dass Logs nicht geändert wurden.
Referenz↗
Mehrere Abteilungen benötigen bereichsbezogenen Zugriff auf verschiedene Präfixe in einem gemeinsamen S3-Bucket.
→S3 Access Points — eine pro Abteilung, jede mit ihrer eigenen Zugriffsrichtlinie und (optional) VPC-Einschränkung.
Warum: Sauberer als eine ausufernde Bucket-Richtlinie; Access Points haben ihre eigenen ARNs und DNS-Namen.
Referenz↗
PCI DSS-Workload — strikte Isolation von Nicht-PCI-Konten.
→Dediziertes AWS-Konto innerhalb einer Organizations OU mit SCPs, die den Dienst-/Regionenzugriff einschränken. Separate VPC, KMS-Schlüssel, IAM-Rollen. Network Firewall oder GWLB für die Ausgangsinspektion.
Warum: Kontogrenze ist die stärkste Isolation des Blast Radius in AWS.
Referenz↗
Öffentliches TLS-Zertifikat für `*.example.com` auf ALB und CloudFront. Automatische Verlängerung.
→Öffentliches AWS Certificate Manager (ACM)-Zertifikat mit DNS-Validierung in Route 53. Verlängert sich automatisch 60 Tage vor Ablauf.
Warum: Kostenlos für die Verwendung mit AWS-integrierten Diensten. E-Mail-Validierung funktioniert, aber DNS-Validierung wird für die Automatisierung bevorzugt.
Referenz↗