【发布时间】:2019-06-02 12:55:50
【问题描述】:
我想知道是否可以为 AWS Athena 创建 VPC 终端节点并限制为仅允许某些用户(必须在我的账户中)使用 VPC 终端节点。我目前将此 VPC 终端节点策略用于 S3 终端节点,并且我需要与 AWS Athena 一起使用的类似内容。
{
"Version": "2008-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::<MY_ACCOUNT_ID>:user/user1",
"arn:aws:iam::<MY_ACCOUNT_ID>:user/user2",
...
]
},
"Action": "*",
"Resource": "*"
}
]
}
我要解决的问题是阻止我公司中登录我公司 VPN 内的 RDP 会话的开发人员将数据卸载到个人 AWS 账户。所以我需要一个阻止访问公共互联网的解决方案,所以我认为 VPC 端点应该是唯一的选择,但我接受新的想法。
【问题讨论】:
-
Athena 不支持 VPC 终端节点。您是否无法根据docs.aws.amazon.com/athena/latest/ug/access.html 使用 IAM 策略限制对相关资源的访问?
-
无法使用 IAM 策略,因为如果我允许在我的私有 VPC 中使用公共 AWS Athena 端点(例如,athena.us-east-1.amazonaws.com),我公司的一些开发人员将允许创建个人 AWS 账户,并将能够将数据卸载到他的个人 AWS 账户。
-
您需要凭据才能访问这些资源。该开发人员如何获得访问 Athena 和底层 S3 数据的凭据?如果他确实有凭据,则允许他访问数据。阻止具有有效凭据的人窃取数据并非易事。
-
开发人员访问私有 VPC 会抛出一个阻止复制/粘贴的 RDP 会话(是 Windows GPO 策略),因此数据保留在私有 VPC 内,开发人员只能看到数据,不能提取或卸载到他们的机器上。他们只能使用 S3 端点访问此环境中的 S3。如果他们创建个人 AWS 账户,他们将无法将数据卸载到他们创建的个人 S3 存储桶,因为他们只能使用我公司账户中的凭证访问终端节点。这就是我需要端点策略的原因。