Topic 1 Question #1
一位安全工程师正在排查名为 MyLambdaFunction 的 AWS Lambda 函数的问题。该函数在尝试读取名为 DOC-EXAMPLE-BUCKET 的 Amazon S3 存储桶中的对象时遇到错误。该 S3 存储桶具有以下存储桶策略:
" target="_blank" rel="nofollow noopener">https://img.examtopics.com/aws-certified-security-specialty-scs-c03/image1.png">
为了确保 Lambda 函数能够读取存储桶中的对象,安全工程师应该对该策略进行哪些更改?
答案: C
本题考查S3存储桶策略的资源匹配规则,属于AWS安全专项认证中身份与访问管理的核心考点。Lambda函数读取S3对象属于对象级别的操作,初始存储桶策略通常仅配置了存储桶本身的ARN作为资源,仅能匹配s3:ListBucket等桶级操作,无法匹配s3:GetObject等对象级操作。将Resource元素修改为arn:aws:s3:::DOC-EXAMPLE-BUCKET/*后,策略可以匹配存储桶内的所有对象资源,满足Lambda读取对象的权限需求。
各选项分析:
A. 错误。问题根源是资源ARN不匹配对象操作,删除Condition和修改Principal无法解决资源匹配的问题,且无合理理由删除权限限制条件,不符合最小权限原则。
B. 错误。题目中是访问时出错,操作元素只要包含s3:GetObject等合法读操作就无需修改,修改操作元素无法解决资源不匹配的核心问题。
C. 正确。S3对象级操作对应的资源ARN必须包含对象路径,使用/*通配符可以匹配存储桶内的所有对象,修改后存储桶策略可以正确匹配Lambda读取对象的请求,授予对应权限。
D. 错误。存储桶策略的Resource元素需要指向S3相关资源,修改为Lambda函数的ARN完全不符合存储桶策略的资源定义逻辑,无法实现S3访问权限的授予。
关键知识点:
1. S3存储桶与对象的ARN格式规则:桶级ARN为arn:aws:s3:::,适用于桶级操作;对象级ARN为arn:aws:s3:::/,/*通配符可匹配桶内所有对象,适用于对象级操作。
2. IAM策略的资源匹配逻辑:策略生效的前提是请求的资源与策略中Resource字段的ARN匹配,否则即使主体和操作符合要求,策略也不会生效。
3. 最小权限原则:配置权限时应仅授予必要的权限,不应随意删除Condition等权限限制条件,避免权限过度放宽。
参考资料:
1. Amazon S3 存储桶策略示例, https://docs.aws.amazon.com/zh_cn/AmazonS3/latest/userguide/example-bucket-policies.html
2. IAM 策略元素:Resource, https://docs.aws.amazon.com/zh_cn/IAM/latest/UserGuide/reference_policies_elements_resource.html