第032题 - sap
庞士-布鲁克斯彗星的离子尾
图片来源及版权:Massimo Di Fusco, Mirco Turra
说明:庞士-布鲁克斯彗星(12P/Pons–Brooks)有一条相当长的尾巴。这一喷发的脏雪球最早于1385年被发现,每71年就会回到太阳系内部一次。这一次,它开始在深度相机曝光中亮相。在特色图片中,淡蓝色的流是由被太阳风从彗核吹开的带电粒子组成的离子尾。离子尾的形状由太阳风和彗核旋转共同决定,总是指向远离太阳的方向。庞士-布鲁克斯彗星现在可以用双筒望远镜在傍晚西北方向的天空中被看到,我们可以看到它每天都会有明显的移动。这颗频繁爆发的彗星预计将持续变亮,对于那些处于即将到来的4月8日日食全食带的人来说,甚至可能在白天用肉眼便看到。
题目翻译 (Question Translation)
English: A company is in the process of implementing AWS Organizations to constrain its developers to use only Amazon EC2, Amazon S3, and Amazon DynamoDB. The developers account resides in a dedicated organizational unit (OU). The solutions architect has implemented the following SCP on the developers account:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowEC2",
"Effect": "Allow",
"Action": "ec2:*",
"Resource": "*"
},
{
"Sid": "AllowDynamoDB",
"Effect": "Allow",
"Action": "dynamodb:*",
"Resource": "*"
},
{
"Sid": "AllowS3",
"Effect": "Allow",
"Action": "s3:*",
"Resource": "*"
}
]
}
When this policy is deployed, IAM users in the developers account are still able to use AWS services that are not listed in the policy. What should the solutions architect do to eliminate the developers’ ability to use services outside the scope of this policy?
中文翻译: 一家公司正在使用 AWS Organizations 来限制其开发人员仅使用 Amazon EC2、Amazon S3 和 Amazon DynamoDB。开发人员账户位于一个专用的组织单元(OU)中。解决方案架构师在开发人员账户上实施了以下 SCP:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowEC2",
"Effect": "Allow",
"Action": "ec2:*",
"Resource": "*"
},
{
"Sid": "AllowDynamoDB",
"Effect": "Allow",
"Action": "dynamodb:*",
"Resource": "*"
},
{
"Sid": "AllowS3",
"Effect": "Allow",
"Action": "s3:*",
"Resource": "*"
}
]
}
当此策略被部署时,开发人员账户中的 IAM 用户仍然能够使用策略中未列出的 AWS 服务。解决方案架构师应该如何消除开发人员使用此策略范围之外服务的能力?
选项分析 (Answer Analysis)
选项 A
为每个需要约束的 AWS 服务创建一个显式拒绝声明。
- 分析:虽然这是一个方法,但对于每项服务创建一个显式拒绝是不必要的工作,且易被忽视。
选项 B
从开发人员账户的 OU 中移除 FullAWSAccess SCP。
- 分析:如果 OU 中有 FullAWSAccess SCP,移除它将阻止对所有服务的访问,除非明确被其他策略允许。
选项 C
修改 FullAWSAccess SCP 以显式拒绝所有服务。
- 分析:在 SCP 中添加显式拒绝会覆盖所有允许声明,但应使用更优雅的允许策略。
选项 D
在 SCP 的末尾添加一个通配符的显式拒绝声明。
- 分析:添加一个通配符的显式拒绝可以确保没有未指定的服务被使用。这是一个有效同时简洁的方法。
最佳答案 (Correct Answer)
答案:D
详细解析 (Detailed Explanation)
- 为什么选择 D?
- 全面限制:通过在策略末尾添加一个通配符显式拒绝,确保无法访问未明确允许的资源。
- 简单生效:使用通配符拒绝声明是实现策略收敛的快捷方式,能全面限制未列出的服务。
为什么不选择其他选项?
- A:为每项服务添加拒绝声明繁琐且可能遗漏。
- B:虽然可能有效,但具体取决于 OU 的其他策略。删除 FullAWSAccess SCP 可能会对其他账户的访问产生广泛影响,因此该操作需谨慎。
- C:这是一种治标不治本的方法,不如显式限制来得清晰。
总结 (Summary)
选择 D,通过在策略中加入显式的通配符拒绝声明,能够确保只允许策略中指定的 EC2、S3、和 DynamoDB 服务,阻止任何策略范围之外的服务,使得策略更具约束力且易于管理。