開発者のための AWS セキュリティ活用
Rahul Singh
Technical Product Manager
{
"Effect": "Allow",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::reports/*",
"Condition": {
"Bool": {
"aws:SecureTransport": "true"
},
"IpAddress": {
"aws:SourceIp": "203.0.113.0/24"
}
}
}

{
"Effect": "Allow",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::reports/*",
"Condition": {
"Bool": {
"aws:SecureTransport": "true"
},
"IpAddress": {
"aws:SourceIp": "203.0.113.0/24"
}
}
}

質問
回答


ID ベース


ID ベース
リソースベース
{"Effect": "Allow", "Action": "s3:*", "Resource": "*"}
{"Effect": "Deny", "Action": "s3:DeleteObject", "Resource": "*"}
{"Effect": "Allow", "Action": "s3:*", "Resource": "*"}
{"Effect": "Deny", "Action": "s3:DeleteObject", "Resource": "*"}
リクエスト: s3:DeleteObject の結果: 拒否。
明示的な拒否は、どれほど広範な許可にも勝ります


{"Effect": "Allow", "Action": "s3:*",
"Resource": "*"}
{"Effect": "Deny", "Action": "s3:DeleteObject",
"Resource": "*"}
s3:GetObject → 許可: 広範な許可がカバーしているs3:DeleteObject → 明示的な拒否: ステートメントが拒否しているkms:Decrypt、dynamodb:GetItem → 暗黙的な拒否: このポリシーはこれらのサービスに一切言及していない同じエラー、2つの原因
明示的な拒否
暗黙的な拒否

開発者のための AWS セキュリティ活用