我希望不使用 AWS Identity and Access Management (IAM) 凭证等身份验证私自访问我的 Amazon Simple Storage Service (Amazon S3) 存储桶。我该怎样做? 

当您从具有至 Amazon S3 的终端节点的 Amazon Virtual Private Cloud (Amazon VPC) 访问 S3 存储桶时,您可以不进行身份验证私自访问 S3 存储桶。

请遵照下列步骤设置 VPC 终端节点以访问 S3 存储桶:

  1. 为 Amazon S3 创建 VPC 终端节点。
  2. 添加允许从 VPC 终端节点访问存储桶的策略。

开始前,您必须创建一个 VPC,然后从该 VPC 访问存储桶。

为 Amazon S3 创建一个 VPC 终端节点

  1. 打开 Amazon VPC 控制台
  2. 使用导航栏中的区域选择器将 AWS 区域设置为与您要使用的 VPC 相同的区域。
  3. 从导航窗格中选择终端节点
  4. 选择创建终端节点
  5. 对于服务类别,请确认已选中 AWS 服务。
  6. 对于服务名称,选择包括 "s3" 的服务名称。例如,美国东部(弗吉尼亚北部)区域的服务名称为 com.amazonaws.us-east-1.s3
  7. 对于 VPC,选择您要使用的 VPC。
  8. 对于配置路由表,根据您希望能够访问终端节点的关联子网选择路由表。
  9. 对于策略,确认已选中完全访问
  10. 选择创建终端节点
  11. 记下 VPC 终端节点的 ID。在稍后的步骤中,您需要此 ID。

添加允许从 VPC 终端节点访问存储桶策略

在您创建的 VPC 终端节点发出请求时,允许用户访问 S3 存储桶,只有在满足这个条件时才能更新您的存储桶策略。要允许这些用户下载对象,您可以使用与以下内容类似的存储桶策略:

:对于 aws:sourceVpce 的值,输入您创建的终端节点的 VPC 终端节点 ID。

{
   "Version": "2012-10-17",
   "Id": "Policy1415115909152",
   "Statement": [
     {
       "Sid": "Access-to-specific-VPCE-only",
       "Principal": "*",
       "Action": "s3:GetObject",
       "Effect": "Allow",
       "Resource": ["arn:aws:s3:::awsexamplebucket/*"],
       "Condition": {
         "StringEquals": {
           "aws:sourceVpce": "vpce-1a2b3c4d"
         }
       }
     }
   ]
}

重要提示:此策略允许从 VPC 终端节点访问,但它不会拒绝从终端节点外部进行的所有访问。如果来自同一个账户的用户进行了身份验证,该策略仍会允许用户从 VPC 终端节点外部访问存储桶。如果您需要更严格的存储桶策略,则使用明确拒绝从终端节点外部进行访问之请求的策略。 


此页面对您有帮助吗? |

返回 AWS Support 知识中心

需要帮助? 请访问 AWS Support 中心

发布时间:2019 年 3 月 6 日