0Pricing
AWS Security Academy · Lektion

Bedingungen, Platzhalter und Richtlinienvariablen

Feinabstimmen Sie Zugriffe mit Kontextschlüsseln und dynamischen Werten.

Bedingungen, Platzhalter und Richtlinienvariablen ist eine kostenlose AWS Security Academy-Lektion auf CoddyKit. Dies ist Lektion 4 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 AWS Security Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der AWS Security Academy-Kurs umfasst insgesamt 4 Lektionen.

Zugriff feinabstimmen

Über Aktion und Ressource hinaus bietet IAM leistungsfähige Werkzeuge, mit denen sich Richtlinien präzise und dynamisch gestalten lassen: Bedingungen, Platzhalter und Richtlinienvariablen. Wenn Sie diese beherrschen, können Sie genau die benötigten Zugriffsrechte unter genau den richtigen Umständen gewähren. Das ist der Kern des Prinzips der geringsten Rechte und ein wiederkehrendes Prüfungsthema.

Das Condition-Element

Ein Condition-Block enthält einen oder mehrere Tests, die alle erfüllt sein müssen, damit die Anweisung angewendet wird. Jeder Test verknüpft einen Operator mit einem Condition Key und einem Wert, zum Beispiel StringEquals für aws:PrincipalTag. Mehrere Schlüssel in einem Block werden mit AND verknüpft; mehrere Werte für einen Schlüssel mit OR.

Häufige Condition Keys

Globale Condition Keys kommen in Prüfungen sehr häufig vor:

  • aws:SourceIp — Zugriff nach IP-Adressbereich des Aufrufers einschränken.
  • aws:SecureTransport — TLS voraussetzen.
  • aws:MultiFactorAuthPresent — MFA voraussetzen.
  • aws:PrincipalOrgID — Zugriff auf Ihre Organisation beschränken.

Servicespezifische Schlüssel (wie s3:prefix) ermöglichen eine noch feinere Steuerung.

Verschlüsselung während der Übertragung erzwingen

Ein klassisches Muster verweigert den Zugriff, sofern die Anfrage nicht TLS verwendet. Diese Bedingung in einer Bucket-Richtlinie blockiert jeden Aufruf ohne HTTPS und stellt sicher, dass Daten während der Übertragung immer verschlüsselt sind. In Prüfungen ist dies häufig die richtige Antwort auf die Frage, wie sich „Verschlüsselung während der Übertragung für S3 voraussetzen“ lässt.

"Condition": {
  "Bool": { "aws:SecureTransport": "false" }
}

Condition-Operatoren

Operatoren legen fest, wie Werte verglichen werden: StringEquals, StringLike (unterstützt Platzhalter), IpAddress, DateGreaterThan, Bool und Null sowie weitere. Wenn Sie einem Operator IfExists hinzufügen, ist der Test auch dann erfolgreich, wenn der Schlüssel fehlt. Die Wahl des richtigen Operators ist entscheidend, damit die gewünschte Logik umgesetzt wird.

Platzhalter in Aktionen

Platzhalter (* für eine beliebige Zeichenfolge, ? für genau ein Zeichen) machen Richtlinien kompakter, können aber zu weitreichende Berechtigungen gewähren. s3:Get* umfasst alle Leseoperationen; s3:* umfasst alles in S3. Verwenden Sie den engsten Platzhalter, der die Anforderungen erfüllt, und prüfen Sie weit gefasste Platzhalter in jeder Richtlinie besonders kritisch.

Platzhalter in Ressourcen

Auch Ressourcen-ARNs akzeptieren Platzhalter, zum Beispiel arn:aws:s3:::logs/2024/*, um den Zugriff auf ein Präfix zu beschränken. So kann eine Richtlinie einen Ordner oder ein Muster ansprechen, ohne jedes Objekt einzeln aufzulisten. Ein Resource-Wert von „*“ gewährt jedoch kontoübergreifend weitreichenden Zugriff. Hinterfragen Sie daher immer, ob diese Breite wirklich erforderlich ist.

Richtlinienvariablen

Richtlinienvariablen fügen bei der Auswertung den Kontext der Anfrage ein. Dafür wird die Syntax ${...} verwendet. Besonders nützlich ist ${aws:username}, mit der eine Richtlinie jedem Benutzer ausschließlich Zugriff auf die eigenen Ressourcen gewähren kann. Variablen sorgen dafür, dass sich eine einzige wiederverwendbare Richtlinie je nach Principal unterschiedlich verhält, und ermöglichen so eine elegante Umsetzung des Prinzips der geringsten Rechte.

Beispiel für benutzerspezifische Ressourcen

Diese Anweisung ermöglicht es jedem Benutzer, nur Objekte in einem nach seinem Benutzernamen benannten Ordner zu verwalten — ein leistungsfähiges Muster mit einer Richtlinie für alle.

"Resource": "arn:aws:s3:::team-bucket/${aws:username}/*"

Tag-basierter Zugriff (ABAC)

Attribute-Based Access Control (ABAC) verwendet Tags in Bedingungen und vergleicht die Tags des Principals (aws:PrincipalTag) mit den Tags einer Ressource (aws:ResourceTag). Stimmen sie überein, wird Zugriff gewährt. ABAC lässt sich hervorragend skalieren: Sie gewähren Zugriff anhand von Tags, statt für jedes Projekt eine neue Richtlinie zu schreiben — eine moderne Best Practice, die in Prüfungen häufig hervorgehoben wird.

Alles zusammenführen

Kombinieren Sie diese Werkzeuge bewusst: Verwenden Sie Bedingungen, um den Zugriff an MFA, IP-Adresse, TLS oder die Zugehörigkeit zu einer Organisation zu knüpfen; setzen Sie Platzhalter sparsam und möglichst eng gefasst ein; nutzen Sie Richtlinienvariablen und Tags für skalierbare, auf einzelne Principals zugeschnittene Berechtigungen nach dem Prinzip der geringsten Rechte. Zusammen ermöglichen diese Werkzeuge, mit einer gut gestalteten Richtlinie präzise, kontextabhängige Zugriffsrechte für viele Identitäten und Ressourcen durchzusetzen.

Schnelltest

Testen Sie Bedingungen und Variablen.

Zusammenfassung

Bedingungen knüpfen die Anwendung von Anweisungen mithilfe von Operatoren wie StringLike und Bool an Kontextschlüssel (aws:SourceIp, aws:SecureTransport, aws:MultiFactorAuthPresent, aws:PrincipalOrgID). Platzhalter (* und ?) halten Richtlinien kompakt, können aber zu weitreichende Berechtigungen gewähren. Richtlinienvariablen wie ${aws:username} und tag-basiertes ABAC ermöglichen skalierbare, auf einzelne Principals zugeschnittene Berechtigungen nach dem Prinzip der geringsten Rechte.

Häufig gestellte Fragen

Ist die Lektion „Bedingungen, Platzhalter und Richtlinienvariablen“ kostenlos?

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

Was lerne ich in „Bedingungen, Platzhalter und Richtlinienvariablen“?

Feinabstimmen Sie Zugriffe mit Kontextschlüsseln und dynamischen Werten. Du übst AWS 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 AWS Security Academy zu starten?

Keine Vorkenntnisse erforderlich. AWS 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 4 von 4.

Wie lange dauert die Lektion „Bedingungen, Platzhalter und Richtlinienvariablen“?

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 AWS Security Academy-Lektion Code schreiben und ausführen?

Ja. Jede AWS 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. Aufbau eines IAM-Richtliniendokuments
  2. Identitätsbasierte und ressourcenbasierte Richtlinien
  3. Ablauf der Richtlinienauswertung
  4. Bedingungen, Platzhalter und Richtlinienvariablen
← Zurück zu AWS Security Academy