Использование AWS Security для разработчиков
Rahul Singh
Technical Product Manager
Правка, которая ничего не меняет

До трёх уровней
В собственной учётной записи достаточно разрешения от одной из политик
Запрет на любом уровне блокирует запрос

Политика на основе удостоверения

Политика на основе удостоверения
Политика на основе ресурса

Два вида политик на основе удостоверения

Два вида политик на основе удостоверения
Удобство или точность

Зачем учётной записи это нужно
Граница разрешений

Зачем учётной записи это нужно
Граница разрешений
Почему iam:CreateUser не сработал

Зачем учётной записи это нужно
Граница разрешений
Почему iam:CreateUser не сработал
Политика сеанса: один сеанс AssumeRole

Ключ условия
Сужает разрешение до контекста конкретного запроса
aws:SourceIp: сеть, откуда пришёл запрос

Ключ условия
Сужает разрешение до контекста конкретного запроса
aws:SourceIp: сеть, откуда пришёл запрос
aws:PrincipalTag: тег вызывающей стороныABAC: управление доступом на основе атрибутов

Одна общая таблица

"Condition": {
"ForAllValues:StringEquals": {
"dynamodb:LeadingKeys": ["${aws:PrincipalTag/tenant}"]
}
}
Одна общая таблица
Одно условие сужает доступ
ForAllValues: должны совпадать все переданные ключи"Action": ["dynamodb:Query", "dynamodb:GetItem", "dynamodb:Scan"],
"Condition": {
"ForAllValues:StringEquals": {
"dynamodb:LeadingKeys": ["${aws:PrincipalTag/tenant}"]
}
}
Одна общая таблица
Одно условие сужает доступ
ForAllValues: должны совпадать все переданные ключиdynamodb:Scan не передаёт ключей, поэтому проверке нечего отклонятьИспользование AWS Security для разработчиков