复制这条只读策略,把桶名换成你的
结构取自 AWS 官方示例:s3:ListBucket 作用于桶本身,对象级操作作用于“桶/*”[1]。这里把对象级操作收窄为只读的 s3:GetObject。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ListAmsBuckets",
"Effect": "Allow",
"Action": "s3:ListBucket",
"Resource": [
"arn:aws:s3:::yourshop-ams-sp-traffic",
"arn:aws:s3:::yourshop-ams-sp-conversion",
"arn:aws:s3:::yourshop-ams-sb-traffic",
"arn:aws:s3:::yourshop-ams-sb-conversion"
]
},
{
"Sid": "ReadAmsObjects",
"Effect": "Allow",
"Action": "s3:GetObject",
"Resource": [
"arn:aws:s3:::yourshop-ams-sp-traffic/*",
"arn:aws:s3:::yourshop-ams-sp-conversion/*",
"arn:aws:s3:::yourshop-ams-sb-traffic/*",
"arn:aws:s3:::yourshop-ams-sb-conversion/*"
]
},
{
"Sid": "OptionalBrowseButton",
"Effect": "Allow",
"Action": "s3:ListAllMyBuckets",
"Resource": "*"
}
]
}- 第 1 段 ListAmsBuckets(必需)
- 允许列出这 4 个桶里的文件,中转靠它找到新的数据文件。
- 第 2 段 ReadAmsObjects(必需)
- 允许下载这 4 个桶里的文件,注意 Resource 末尾的
/*。 - 第 3 段 OptionalBrowseButton(可选)
- 只为中转客户端设置页的“浏览存储桶”按钮服务;AWS 官方示例同样把
s3:ListAllMyBuckets授权在 * 上 [5]。不想让它看到桶名列表,就删掉这一段(连同前一段末尾的逗号),手动输入桶名即可。
kms:Decrypt 权限 [6]。跟着动画创建只读用户与访问密钥
字段名以 AWS 英文控制台为准。点左侧任一步可单独查看。
创建只读 IAM 用户:详细步骤
用 JSON 编辑器创建策略
IAM → Policies → Create policy → Policy editor:JSON粘贴上方策略、替换 4 个桶名,Next 后填写策略名称,点 Create policy [7]。
新建 IAM 用户,不开控制台访问
IAM → Users → Create user用户名如 ams-reader-yourshop。只创建用户需要的凭证:这个用户只需程序访问,不必设置控制台密码 [8]。
直接附加刚才的策略
Set permissions → Attach policies directly只勾选 AMS-S3-ReadOnly-yourshop 一条,点 Create user。遵循最小权限原则 [2]。
创建访问密钥,用例选 Other
Users → ams-reader-yourshop → Security credentials → Access keys → Create access key在 Access key best practices & alternatives 说明页选 Other → Next →(可选)填描述标签 → Create access key [9]。
立刻保存 Secret Access Key
Retrieve access keys → Show / Download .csv file秘密访问密钥只在创建时可取回,之后无法再次查看,丢失只能删除后重建 [3]。
录入中转客户端
中转客户端本机设置页 → AWS / S3把 Access Key ID 与 Secret Access Key 填入 AWS 访问密钥两栏,“使用 IAM 角色”不要勾选。完整填法见 第 5 步。
为什么用 IAM 用户的访问密钥,而不是 IAM 角色?
AWS 官方总体上更推荐临时凭证(IAM 角色),同时明确:无法使用 IAM 角色的工作负载,可以使用 IAM 用户的长期访问密钥,并按最小权限配置 [10]。中转客户端运行在你办公室的 Windows 电脑上,不在 EC2、Lambda 等 AWS 计算资源里,所以中转设置页里的“使用 IAM 角色”选项不适用,应使用访问密钥。
- 只读:只有列出与下载两项权限,不能写入、不能删除。
- 只限 4 个桶:看不到你账号里的其他桶和任何其他服务。
- 只存你电脑:密钥由你录入本机中转客户端并加密保存,S3 请求在你的电脑上签名、从你自己的网络发出,云端从不接收。见 凭证永不离开你的电脑。
- 随时可收回:在 IAM 里停用或删除这把密钥,读取立即中止。
定期轮换密钥,不中断同步
官方也建议定期清理不再使用的用户、权限与凭证 [2]。
只读 IAM 用户常见问题
为什么不直接附加 AmazonS3ReadOnlyAccess?
不给 s3:ListAllMyBuckets 行不行?
Secret Access Key 忘了保存怎么办?
这把密钥会被琼仁智度拿走吗?
相关功能
AWS 小时级数据
5 步把亚马逊小时级广告数据接进你自己的 AWS,再交给中转客户端只读读取。
查看 →AWS 教程 · 5/5验证与排障
S3 里看到分区文件 → 中转填区域、桶名、前缀与密钥 → 报错对照表排障。
查看 →接入教程安装中转客户端
Windows 电脑双击安装、配对码上线,在本机设置页录入全部凭证,凭证不离开这台电脑。
查看 →凭证安全凭证不离开你的电脑
凭证只加密存在你的电脑,云端从不接收、从不存储。
查看 →客户端安全中转客户端安全
不开入站端口、设置页仅本机、只认亚马逊请求、全程加密、自动恢复。
查看 →AWS 教程 · 3/5订阅 4 个数据集
为本店 profile 调 4 次订阅接口,填 3 个 ARN,Firehose 无需确认,ACTIVE 即成功。
查看 →参考资料与权威来源
本页所有涉及亚马逊规则、行业数据与方法论的表述均标注来源。链接指向官方文档、同行评审论文、专利或法律法规原文;访问日期 2026-09。
- [1]官方Grant read and write access to Amazon S3 bucket objects — AWS · 2026AWS 官方策略示例中,s3:ListBucket 授权在桶 ARN 上,对象级操作授权在“桶 ARN/*”上。
- [2]官方Security best practices in IAM — AWS Identity and Access Management User Guide · 2026AWS 建议只授予完成任务所需的权限(最小权限);能用临时凭证就不用长期访问密钥,必须用长期访问密钥时按需更新,并定期清理不再使用的用户、权限与凭证。
- [3]官方Manage access keys for IAM users — AWS · 2026访问密钥由访问密钥 ID 与秘密访问密钥组成;秘密密钥只在创建时可取回,丢失只能删除后重建;每个用户最多 2 个访问密钥;不要用根用户创建访问密钥,不要把密钥写进应用文件或项目目录。
- [4]官方Root user best practices for your AWS account — AWS · 2026除必须由根用户执行的任务外不要使用根用户;为根用户启用 MFA,最多可注册 8 个 MFA 设备;不要为根用户创建访问密钥;根用户邮箱建议用企业管理的群组邮箱。
- [5]官方Amazon S3: Allows read and write access to objects in an S3 Bucket, programmatically and in the console — AWS · 2026需要列出账户中的存储桶时,官方示例把 s3:ListAllMyBuckets 授权在资源 * 上。
- [6]官方Using server-side encryption with AWS KMS keys (SSE-KMS) — AWS · 2026S3 默认对新对象使用 SSE-S3 加密;若改用 SSE-KMS,下载对象还需要该 KMS 密钥的 kms:Decrypt 权限。
- [7]官方Create IAM policies (console) — AWS · 2026IAM→Policies→Create policy→Policy editor 选择 JSON→粘贴策略→Next→填写策略名称→Create policy;创建后再附加给用户、组或角色。
- [8]官方Create an IAM user in your AWS account — AWS · 2026IAM 用户持有长期凭证,官方建议仅在联合身份不支持的特定场景使用;只创建用户需要的凭证,例如只需程序访问的用户不必开控制台密码。
- [9]官方How an IAM administrator can manage IAM user access keys — AWS · 2026IAM→Users→选择用户→Security credentials→Access keys→Create access key→用例选 Other→(可选)描述标签→Create access key→Show 或 Download .csv file;错过这一步就无法再次查看秘密密钥。
- [10]官方Create an IAM user for workloads that can't use IAM roles — AWS · 2026无法使用 IAM 角色的工作负载可以使用 IAM 用户的访问密钥;控制台路径 Users→Create user→Security credentials→Create access key;秘密密钥只在创建时可查看或下载;应按最小权限使用自定义策略,并建立更新密钥的流程。
- [11]官方Update access keys — AWS · 2026不中断业务的密钥轮换:旧密钥仍有效时先创建第二个密钥→所有程序改用新密钥→确认旧密钥不再被使用后先停用→观察无误再删除。
- [12]官方Troubleshoot access denied (403 Forbidden) errors in Amazon S3 — AWS · 2026S3 返回 403 访问被拒,来自策略中的显式拒绝,或没有任何适用的允许语句(隐式拒绝);IAM 默认拒绝,所需操作必须被显式允许。