AWS-Sicherheit für Entwickler:innen nutzen
Rahul Singh
Technical Product Manager
Die Änderung, die nichts ändert

Bis zu drei Ebenen
Im eigenen Account reicht eine erlaubende Richtlinie
Von jeder getroffenen Ebene verweigert

Identitätsbasierte Richtlinie

Identitätsbasierte Richtlinie
Ressourcenbasierte Richtlinie

Zwei Arten identitätsbasierter Richtlinien

Zwei Arten identitätsbasierter Richtlinien
Bequemlichkeit oder Präzision

Warum ein Account eine anfügt
Berechtigungsgrenze

Warum ein Account eine anfügt
Berechtigungsgrenze
Warum iam:CreateUser nichts bewirkte

Warum ein Account eine anfügt
Berechtigungsgrenze
Warum iam:CreateUser nichts bewirkte
Sitzungsrichtlinie: eine AssumeRole-Sitzung

Bedingungsschlüssel
Verengt ein Allow auf den Kontext der Anfrage
aws:SourceIp: das Herkunftsnetz

Bedingungsschlüssel
Verengt ein Allow auf den Kontext der Anfrage
aws:SourceIp: das Herkunftsnetz
aws:PrincipalTag: ein Tag am AufruferABAC: Attribut-basierte Zugriffskontrolle

Eine gemeinsame Tabelle

"Condition": {
"ForAllValues:StringEquals": {
"dynamodb:LeadingKeys": ["${aws:PrincipalTag/tenant}"]
}
}
Eine gemeinsame Tabelle
Eine Bedingung verengt sie
ForAllValues: jeder angegebene Schlüssel muss passen"Action": ["dynamodb:Query", "dynamodb:GetItem", "dynamodb:Scan"],
"Condition": {
"ForAllValues:StringEquals": {
"dynamodb:LeadingKeys": ["${aws:PrincipalTag/tenant}"]
}
}
Eine gemeinsame Tabelle
Eine Bedingung verengt sie
ForAllValues: jeder angegebene Schlüssel muss passendynamodb:Scan liefert keine, daher kann nichts fehlschlagenAWS-Sicherheit für Entwickler:innen nutzen