PPCWISER 琼仁智度 LogoPPCWISER琼仁智度
AWS + Marketing Stream 教程 · 第 4/5 步

第 4 步:创建只读 IAM 用户,只给系统“看”数据的权限

中转客户端要从你的 S3 桶里下载数据文件,就需要一把钥匙。这把钥匙应该只能打开这 4 个桶、只能看不能改:不能写、不能删、看不到你账号里的其他任何东西。

30 天免费试用¥99/月/店铺起凭证只存你自己的电脑
只读策略

复制这条只读策略,把桶名换成你的

结构取自 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 加密?S3 默认使用 SSE-S3 加密,无需额外权限;如果你把桶改成了 SSE-KMS,下载对象还需要该 KMS 密钥的 kms:Decrypt 权限 [6]。
分步演示

跟着动画创建只读用户与访问密钥

字段名以 AWS 英文控制台为准。点左侧任一步可单独查看。

示意动画,界面文字可能随 AWS 改版变化,以 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 里停用或删除这把密钥,读取立即中止。

定期轮换密钥,不中断同步

  1. 旧密钥仍有效时,为同一用户再创建一个新密钥(每个用户最多 2 个)[3]。
  2. 在中转客户端把密钥换成新的,保存。
  3. 确认同步正常、旧密钥不再被使用后,先停用旧密钥。
  4. 观察无误后再删除旧密钥 [11]。

官方也建议定期清理不再使用的用户、权限与凭证 [2]。

只读 IAM 用户常见问题

为什么不直接附加 AmazonS3ReadOnlyAccess?
那条托管策略能读你账号里所有的桶,权限超出需要。AWS 建议只授予完成任务所需的权限 [2],所以这里只放行 4 个数据桶。
不给 s3:ListAllMyBuckets 行不行?
行。它只服务于中转设置页的“浏览存储桶”按钮;不给的话,手动输入 4 个桶名即可,同步不受影响。
Secret Access Key 忘了保存怎么办?
无法找回,只能删除这把密钥再新建一把 [3]。新建后在中转客户端里替换即可。
这把密钥会被琼仁智度拿走吗?
不会。密钥只录入你电脑上的中转客户端并加密保存在本机,云端从不接收、从不存储;S3 请求在你的电脑上签名、从你的网络发出。即便如此,它本身也只有 4 个桶的只读权限。
能用根用户或管理员的访问密钥图省事吗?
不要。官方明确建议不要为根用户创建访问密钥 [4],也不要把密钥写进应用文件 [3]。给系统专门建一个只读用户,出问题时影响范围最小。
填进中转后报 AccessDenied?
多半是策略少了某一段:桶上缺 s3:ListBucket,或“桶/*”上缺 s3:GetObject;用了 KMS 加密还要 kms:Decrypt [12][6]。完整报错对照表见 第 5 步。

密钥只存你自己的电脑,系统只读、不写、不删

PPCWISER 琼仁智度 30 天免费试用,全部功能开放。之后入门版 ¥99/月/店铺起。

入门版 ¥99/月/店铺 · 含 10 个产品 · 每增加 1 个产品 +¥10/月
继续了解

相关功能

AWS 教程

AWS 小时级数据

5 步把亚马逊小时级广告数据接进你自己的 AWS,再交给中转客户端只读读取。

查看 →
AWS 教程 · 5/5

验证与排障

S3 里看到分区文件 → 中转填区域、桶名、前缀与密钥 → 报错对照表排障。

查看 →
接入教程

安装中转客户端

Windows 电脑双击安装、配对码上线,在本机设置页录入全部凭证,凭证不离开这台电脑。

查看 →
凭证安全

凭证不离开你的电脑

凭证只加密存在你的电脑,云端从不接收、从不存储。

查看 →
客户端安全

中转客户端安全

不开入站端口、设置页仅本机、只认亚马逊请求、全程加密、自动恢复。

查看 →
AWS 教程 · 3/5

订阅 4 个数据集

为本店 profile 调 4 次订阅接口,填 3 个 ARN,Firehose 无需确认,ACTIVE 即成功。

查看 →
REFERENCES

参考资料与权威来源

本页所有涉及亚马逊规则、行业数据与方法论的表述均标注来源。链接指向官方文档、同行评审论文、专利或法律法规原文;访问日期 2026-09。

  1. [1]官方Grant read and write access to Amazon S3 bucket objects — AWS · 2026AWS 官方策略示例中,s3:ListBucket 授权在桶 ARN 上,对象级操作授权在“桶 ARN/*”上。
  2. [2]官方Security best practices in IAM — AWS Identity and Access Management User Guide · 2026AWS 建议只授予完成任务所需的权限(最小权限);能用临时凭证就不用长期访问密钥,必须用长期访问密钥时按需更新,并定期清理不再使用的用户、权限与凭证。
  3. [3]官方Manage access keys for IAM users — AWS · 2026访问密钥由访问密钥 ID 与秘密访问密钥组成;秘密密钥只在创建时可取回,丢失只能删除后重建;每个用户最多 2 个访问密钥;不要用根用户创建访问密钥,不要把密钥写进应用文件或项目目录。
  4. [4]官方Root user best practices for your AWS account — AWS · 2026除必须由根用户执行的任务外不要使用根用户;为根用户启用 MFA,最多可注册 8 个 MFA 设备;不要为根用户创建访问密钥;根用户邮箱建议用企业管理的群组邮箱。
  5. [5]官方Amazon S3: Allows read and write access to objects in an S3 Bucket, programmatically and in the console — AWS · 2026需要列出账户中的存储桶时,官方示例把 s3:ListAllMyBuckets 授权在资源 * 上。
  6. [6]官方Using server-side encryption with AWS KMS keys (SSE-KMS) — AWS · 2026S3 默认对新对象使用 SSE-S3 加密;若改用 SSE-KMS,下载对象还需要该 KMS 密钥的 kms:Decrypt 权限。
  7. [7]官方Create IAM policies (console) — AWS · 2026IAM→Policies→Create policy→Policy editor 选择 JSON→粘贴策略→Next→填写策略名称→Create policy;创建后再附加给用户、组或角色。
  8. [8]官方Create an IAM user in your AWS account — AWS · 2026IAM 用户持有长期凭证,官方建议仅在联合身份不支持的特定场景使用;只创建用户需要的凭证,例如只需程序访问的用户不必开控制台密码。
  9. [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. [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. [11]官方Update access keys — AWS · 2026不中断业务的密钥轮换:旧密钥仍有效时先创建第二个密钥→所有程序改用新密钥→确认旧密钥不再被使用后先停用→观察无误再删除。
  12. [12]官方Troubleshoot access denied (403 Forbidden) errors in Amazon S3 — AWS · 2026S3 返回 403 访问被拒,来自策略中的显式拒绝,或没有任何适用的允许语句(隐式拒绝);IAM 默认拒绝,所需操作必须被显式允许。