本文档说明接入云转码服务时,客户对象存储所需的最小权限配置。
转码服务在转码过程中需要访问客户的存储桶进行读写操作,具体需要以下权限:
| 操作类型 | 说明 |
|---|---|
| 读取权限 | 下载待转码文件 |
| 写入权限 | 上传转码后的输出文件 |
| 分片上传权限 | 大文件分片上传、断点续传相关操作 |
参考文档:通过 RAM Policy 设置授权策略
| 权限 | 说明 |
|---|---|
oss:GetObject | 获取对象(下载文件) |
oss:PutObject | 上传对象(上传文件) |
oss:AbortMultipartUpload | 取消分片上传 |
oss:ListMultipartUploads | 列举分片上传任务 |
oss:ListParts | 列举已上传分片 |
{"Version": "1","Statement": [{"Effect": "Allow","Action": ["oss:GetObject","oss:PutObject","oss:AbortMultipartUpload","oss:ListMultipartUploads","oss:ListParts"],"Resource": ["acs:oss:*:*:your-bucket-name/*"]}]}
**注意:**请将
your-bucket-name替换为您的实际存储桶名称。
参考文档:腾讯云 CAM 策略
| 权限 | 说明 |
|---|---|
cos:HeadObject | 获取对象元数据 |
cos:GetObject | 获取对象(下载文件) |
cos:PutObject | 上传对象(上传文件) |
cos:InitiateMultipartUpload | 初始化分片上传 |
cos:UploadPart | 上传分片 |
cos:CompleteMultipartUpload | 完成分片上传 |
cos:ListParts | 列举已上传分片 |
cos:AbortMultipartUpload | 取消分片上传 |
{"version": "2.0","statement": [{"effect": "allow","action": ["cos:HeadObject","cos:GetObject","cos:PutObject","cos:InitiateMultipartUpload","cos:UploadPart","cos:CompleteMultipartUpload","cos:ListParts","cos:AbortMultipartUpload"],"resource": ["qcs::cos:::your-bucket-name/*"]}]}
**注意:**请将
your-bucket-name替换为您的实际存储桶名称。
参考文档:访问策略(Policy)
| 权限 | 说明 |
|---|---|
tos:GetObject | 获取对象(下载文件) |
tos:PutObject | 上传对象(上传文件) |
tos:ListBucketMultipartUploads | 列举分片上传任务 |
tos:ListMultipartUploadParts | 列举已上传分片 |
tos:AbortMultipartUpload | 取消分片上传 |
{"Statement": [{"Effect": "Allow","Action": ["tos:GetObject","tos:PutObject","tos:ListBucketMultipartUploads","tos:ListMultipartUploadParts","tos:AbortMultipartUpload"],"Resource": ["trn:tos:*:*:your-bucket-name/*"]}]}
**注意:**请将
your-bucket-name替换为您的实际存储桶名称。
参考文档:用户策略(User Policy)
| 权限 | 说明 |
|---|---|
ks3:GetObject | 获取对象(下载文件) |
ks3:PutObject | 上传对象(上传文件) |
ks3:ListBucketMultipartUploads | 列举分片上传任务 |
ks3:ListMultipartUploadParts | 列举已上传分片 |
ks3:AbortMultipartUpload | 取消分片上传 |
{"Version": "2015-11-01","Statement": [{"Effect": "Allow","Action": ["ks3:GetObject","ks3:PutObject","ks3:ListBucketMultipartUploads","ks3:ListMultipartUploadParts","ks3:AbortMultipartUpload"],"Resource": ["krn:ksc:ks3:::your-bucket-name/*"]}]}
**注意:**请将
your-bucket-name替换为您的实际存储桶名称。
参考文档:Multipart Upload API and Permissions
| 权限 | 说明 |
|---|---|
s3:GetObject | 获取对象(下载文件) |
s3:PutObject | 上传对象(上传文件) |
s3:ListBucketMultipartUploads | 列举分片上传任务 |
s3:ListMultipartUploadParts | 列举已上传分片 |
s3:AbortMultipartUpload | 取消分片上传 |
{"Version": "2012-10-17","Statement": [{"Effect": "Allow","Action": ["s3:GetObject","s3:PutObject","s3:ListBucketMultipartUploads","s3:ListMultipartUploadParts","s3:AbortMultipartUpload"],"Resource": ["arn:aws:s3:::your-bucket-name/*"]}]}
**注意:**请将
your-bucket-name替换为您的实际存储桶名称。
参考文档:IAM 权限和角色
与其他云存储不同,GCS 采用 IAM 角色授权机制。您需要先创建自定义角色并分配所需权限,然后创建服务账号,最后在存储桶级别将该角色授权给服务账号。
创建自定义角色
分配权限
创建服务账号
存储桶授权
生成 HMAC Key
| 权限 | 说明 |
|---|---|
storage.objects.get | 获取对象(下载文件) |
storage.objects.create | 创建对象(上传文件) |
storage.objects.createContext | 创建对象上下文 |
storage.objects.delete | 删除对象 |
storage.objects.deleteContext | 删除对象上下文 |
storage.objects.list | 列举对象 |
storage.objects.update | 更新对象 |
storage.objects.updateContext | 更新对象上下文 |
storage.multipartUploads.create | 创建分片上传任务 |
storage.multipartUploads.list | 列举分片上传任务 |
storage.multipartUploads.listParts | 列举已上传分片 |
storage.multipartUploads.abort | 取消分片上传 |
{"title": "Transcode Service Role","description": "Role for media transcoding service to access GCS","stage": "GA","includedPermissions": ["storage.objects.get","storage.objects.create","storage.objects.createContext","storage.objects.delete","storage.objects.deleteContext","storage.objects.list","storage.objects.update","storage.objects.updateContext","storage.multipartUploads.create","storage.multipartUploads.list","storage.multipartUploads.listParts","storage.multipartUploads.abort"]}
注意:
- 请将示例中的参数替换为您的实际项目信息
- HMAC Key 的 Access Key 和 Secret 将用于配置转码服务的 GCS 访问凭证
参考文档:Define access and permissions using bucket policies
Linode Object Storage 兼容 AWS S3 API,因此权限配置与 AWS S3 完全一致。
| 权限 | 说明 |
|---|---|
s3:GetObject | 获取对象(下载文件) |
s3:PutObject | 上传对象(上传文件) |
s3:ListBucketMultipartUploads | 列举分片上传任务 |
s3:ListMultipartUploadParts | 列举已上传分片 |
s3:AbortMultipartUpload | 取消分片上传 |
{"Version": "2012-10-17","Statement": [{"Effect": "Allow","Action": ["s3:GetObject","s3:PutObject","s3:ListBucketMultipartUploads","s3:ListMultipartUploadParts","s3:AbortMultipartUpload"],"Resource": ["arn:aws:s3:::your-bucket-name/*"]}]}
**注意:**请将
your-bucket-name替换为您的实际存储桶名称。
存储桶名称:请将示例中的 your-bucket-name 替换为您的实际存储桶名称。
权限范围:以上权限为云转码服务的最小必需权限,仅包含文件读写和分片上传相关操作。
Resource 格式:不同平台的资源 ARN 格式不同,请严格按照对应平台示例填写。
分片上传:分片上传相关权限用于大文件上传和断点续传功能,建议全部授予以确保上传稳定性。
如遇权限相关错误,请检查:
如有其他问题,请联系 Visionular 技术支持团队。