有没有办法允许在 AWS 中通过 VPC 访问 AWS S3 存储桶中的对象而无需身份验证?我不想为此使用 AWS IAM 角色或用户。我不想禁用除 VPC 之外的所有对象的访问权限,因为对象应该通过 AWS 之外的 AWS IAM 角色访问。
目的:为在私有节点上的 AWS EKS Kubernetes 集群内运行的 GitLab Runners 提供 AWS S3 存储桶访问权限。
注意:公共访问已被阻止,并将继续被阻止。所有对象都是私有的,并将保持私有状态。
是的,您可以允许通过 AWS 中的 VPC 访问 AWS S3 存储桶中的对象,而无需使用 S3 的 AWS VPC 端点 (VPCE) 和该 AWS S3 存储桶上的存储桶策略进行身份验证。
要考虑的要点:
S3
类型的 Gateway
服务创建,并选择所需的 AWS VPC 和路由表以及 Full Access
策略。政策示例如下:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "allow-access-to-S3-bucket-via-VPC-endpoint",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::[BUCKET_NAME]/*",
"Condition": {
"StringEquals": {
"aws:sourceVpce": "[VPCE_ID]"
}
}
}
]
}
其中
[BUCKET_NAME]
和[VPCE_ID]
将相应地替换为适当的值。