Q62 — AWS SAA-C03 第14章
第 62/100 题 | ← 返回第14章
Q1062. 一家公司有一个在 Amazon EC2 实例上的 Amazon Elastic Kubernetes Service (Amazon EKS) 集群上运行的应用程序.该应用程序有一个使用 Amazon DynamoDB 的 UI 和使用 Amazon S3 作为应用程序部署一部分的数据服务.公司必须确保 UI 的 EKS Pod 只能访问 Amazon DynamoDB,而数据服务的 EKS Pod 只能访问 Amazon S3.公司使用 AWS Identity and Access Management (IAM).哪种解决方案可以满足这些要求?
- A. 为 Amazon S3 和 DynamoDB 访问创建具有所需权限的单独 IAM 策略.将两个 IAM 策略附加到 EC2 实例配置文件.使用基于角色的访问控制 (RBAC) 控制各个 EKS Pod 对 Amazon S3 或 DynamoDB 的访问.
- B. 使用所需的权限为 Amazon S3 和 DynamoDB 访问创建单独的 IAM 策略.将 Amazon S3 IAM 策略直接附加到用于数据服务的 EKS Pod,并将 DynamoDB 策略附加到用于 UI 的 EKS Pod.
- C. 为 UI 和数据服务创建单独的 Kubernetes 服务账户以承担 IAM 角色.将 AmazonS3FullAccess 策略附加到数据服务账户,并将 AmazonDynamoDBFullAccess 策略附加到 UI 服务账户.
- D. 为 UI 和数据服务创建单独的 Kubernetes 服务账户以承担 IAM 角色.使用服务账户的 IAM 角色 (IRSA) 为 Amazon S3 提供对 UI 的 EKS Pod 的访问权限,并为 DynamoDB 提供对数据服务的 EKS Pod 的访问权限. ✓
正确答案: D. 为 UI 和数据服务创建单独的 Kubernetes 服务账户以承担 IAM 角色.使用服务账户的 IAM 角色 (IRSA) 为 Amazon S3 提供对 UI 的 EKS Pod 的访问权限,并为 DynamoDB 提供对数据服务的 EKS Pod 的访问权限.
解析
为了确保 UI 的 EKS Pod 只能访问 Amazon DynamoDB,并且数据服务的 EKS Pod 只能访问 Amazon S3,最好的解决方案是:D. 为 UI 和数据服务创建单独的 Kubernetes 服务账户以承担 IAM 角色.使用服务账户的 IAM 角色 (IRSA) 为 Amazon S3 提供对 UI 的 EKS Pod 的访问权限,并为 DynamoDB 提供对数据服务的 EKS Pod 的访问权限.### 解释:\ 1. Kubernetes 服务账户:- 为 UI 和数据服务创建单独的 Kubernetes 服务帐户,可以对每组 Pod 可以访问的资源进行细粒度的控制.\ 2. 服务账户的 IAM 角色 (IRSA):- IRSA 可让您将 IAM 角色与 Kubernetes 服务账户关联.这样,您就可以根据与服务账户关联的角色定义 Pod 可以访问哪些 AWS 资源(如 S3 和 DynamoDB).\ 3. 细粒度访问控制:- 通过使用 IRSA,您可以确保:- UI Pods 只能承担授予 DynamoDB 访问权限的角色.- 数据服务 Pod 只能承担授予 S3 访问权限的角色.- 这种方法满足了限制对必要的 AWS 服务的访问的要求,同时保持了安全最佳实践.其他选项的评估:A. 将两个 IAM 策略附加到 EC2 实例配置文件:- 这会授予在 EC2 实例上运行的所有 Pod 对两种服务的访问权限,这不符合限制特定 Pod 对特定 AWS 服务的访问的要求.B. 将 Amazon S3 IAM 策略直接附加到 EKS Pod:- IAM 策略不能直接附加到 Pod.相反,它们应该通过服务账户和角色进行管理.C. 将 AmazonS3FullAccess 策略附加到数据服务账户,并将 AmazonDynamoDBFullAccess 策略附加到 UI 服务账户:- 虽然此选项建议使用服务账户,但它错误地分配了访问角色.UI Pod 应该有权访问 DynamoDB,而数据服务 Pod 应该有权访问 S3,这与此处的建议相反.### 结论:选项 D 提供了最安全、最合适的方法来管理从 EKS Pods 对 AWS 资源的访问,确保每项服务只能访问其所需的服务,同时遵守 IAM 和 Kubernetes 的最佳实践.