Amazon S3¶
将 Amazon S3 存储桶挂载为 Windows 驱动器。同时支持通用存储桶和目录存储桶(S3 Express One Zone)。
准备工作¶
您需要一个 访问密钥 ID 和 秘密访问密钥。
如何获取密钥——在 IAM 控制台中:
- 打开用户并选择您的 IAM 用户(如果只有根账户,请先创建一个—— AWS 建议不要使用根账户的访问密钥)。
- 打开安全凭证选项卡。
- 在访问密钥下,点击创建访问密钥。
- 立即复制两个值——密钥仅在创建时显示一次。
该 IAM 身份至少需要对目标存储桶具有 s3:ListAllMyBuckets、
s3:GetBucketLocation、s3:ListBucket,以及
s3:GetObject / s3:PutObject / s3:DeleteObject 权限:
{
"Version": "2012-10-17",
"Statement": [
{ "Effect": "Allow",
"Action": ["s3:ListAllMyBuckets", "s3:GetBucketLocation"],
"Resource": "*" },
{ "Effect": "Allow",
"Action": ["s3:ListBucket"],
"Resource": "arn:aws:s3:::YOUR-BUCKET" },
{ "Effect": "Allow",
"Action": ["s3:GetObject", "s3:PutObject", "s3:DeleteObject"],
"Resource": "arn:aws:s3:::YOUR-BUCKET/*" }
]
}
来自 AWS 的帮助
连接¶
- 点击工具栏上的添加。
- 选择Enterprise → Amazon S3。
- 选择存储桶类型:通用或目录(S3 Express One Zone)。
- 输入 访问密钥 ID 和 秘密访问密钥,然后点击存储桶字段旁的刷新按钮。
- 选择要挂载的存储桶并点击连接。
手动输入存储桶
如果您的 IAM 身份没有列出存储桶的权限,请勾选存储桶字段左侧的复选框,直接输入存储桶名称。
设置¶
| 设置项 | 说明 | 默认值 |
|---|---|---|
| 类型 | 通用或目录(S3 Express One Zone) | 通用 |
| 访问密钥 ID / 秘密访问密钥 | IAM 凭据 | — |
| 存储桶 | 要挂载的存储桶(列表选择或手动输入) | — |
| 只读 | 阻止对已挂载驱动器的写入 | 关闭 |
行为与限制¶
- 存储桶区域会自动检测;该驱动器会与
s3.<region>.amazonaws.com通信(目录存储桶:s3express-control.<region>.amazonaws.com)。 - RaiDrive 支持在
us-east-1、us-east-2、us-west-2、ap-south-1、ap-northeast-1、eu-west-1和eu-north-1使用目录存储桶。AWS 当前 S3 Express One Zone 的可用区域列表参见 AWS:目录存储桶的服务端点。 - S3 没有真正的文件夹——"文件夹"只是键前缀,因此在驱动器上重命名文件夹相当于对该前缀下的每个对象执行复制并删除,对大型目录树来说速度很慢——参见 AWS:使用文件夹组织对象。
- 具有取回延迟的存储类别(Glacier 和 Glacier Deep Archive)在恢复之前无法打开——参见 AWS:恢复已归档对象。
故障排除¶
| 症状 | 原因 | 解决方法 |
|---|---|---|
| 存储桶列表始终为空 | IAM 身份缺少 s3:ListAllMyBuckets 权限 |
使用手动输入存储桶,或扩展 IAM 策略 |
| 连接时提示 Access Denied(访问被拒绝) | 密钥对没有该存储桶的权限 | 检查存储桶策略和 IAM 策略 |
| 文件夹重命名非常慢 | S3 的前缀复制并删除机制所致 | 避免在驱动器上重命名大型文件夹树 |