存储桶名称的后半部分即为 APPID 信息,您可以登录 对象存储控制台 查看。SecretId、SecretKey 等信息,请登录访问管理控制台的 API 密钥管理 中查看。
临时密钥目前主账号最长2小时(即7200秒),子账号最长36小时(即129600秒),默认值为30分钟(即1800秒)。临时密钥过期后,携带过期临时密钥的请求将会被拒绝。有关临时密钥的介绍,请参见 临时密钥生成及使用指引。
用户可删除已泄露的密钥,并新建一个密钥。详情请参见 访问密钥。
请参见 临时密钥生成及使用指引 文档设定密钥有效时间。
您可以参见 设置文件夹权限 为子账号授予指定文件夹的访问权限。如果为子账号进行更高级的授权,可参考文档 权限设置相关案例。
您可以借助 COS 团队为开发者提供的 COS 调试工具,通过开发者配置 Hosts 抓包 COS API 请求,智能分析请求中出现的错误,也可以按照以下思路进行排查。
AccessDenied 一般是由于未授权,缺少权限导致的报错。请按照以下步骤逐步排查问题:
COS 团队为开发者提供了 COS 调试工具,通过开发者配置 Hosts 抓包 COS API 请求,智能分析请求中出现的错误,给出错误提示和修改建议。
每个主账号(即同一个 APPID),存储桶 ACL 规则数量最多为1000条。当设置的存储桶 ACL 大于1000条时,会出现此报错,因此建议删除无用的 ACL 规则。
说明:我们不建议使用文件级别的 ACL 或 Policy。建议您在调用 API 或 SDK 时,若不需要对文件进行特别的 ACL 控制时,请将 ACL 相关参数(如 x-cos-acl、ACL 等)置空,保持继承存储桶权限。
此情况是存储桶设置了公有读私有写或者公有读写权限,该权限会占用主账户的 ACL 规则数量。由于主账号的 ACL 规则数量达到了上限,且无法调整数量上限,所以会报错。
以下提供两种解决方案供您参考:
方案一:您可以把存储桶的访问权限修改为私有读写,详情请参见 设置存储桶访问权限。
方案二:您可在 Policy 权限设置中添加策略,设置相应的访问权限,详情请参见 添加存储桶策略。
如果您使用过期的签名链接访问公有读文件,那么 COS 会优先校验权限情况,判断链接过期后会拒绝访问。
请按照以下步骤逐步排查问题:
COS 团队为开发者提供了 COS 调试工具,通过开发者配置 Hosts 抓包 COS API 请求,智能分析请求中出现的错误,给出错误提示和修改建议。
如需限制他人下载文件到本地,需要区分以下几种场景:
deny anyone Get Object
操作。假设主账户 A 名下的存储桶需要授权给主账户 B 下的子账户 B0 操作权限,您需要先授予主账号 B 操作 A 名下存储桶的权限,再通过主账户 B 授予子账号 B0 操作 A 名下存储桶的权限。详情操作可参见 授予其他主帐号下的子帐号操作名下存储桶的权限。
可以通过 访问管理控制台 创建自定义策略,对子用户设置特定权限,详细操作步骤可参见 创建自定义策略。
说明:在创建自定义策略时,需要授权读操作,写操作中仅选择上传的权限,不要选择删除相关的权限。
您可以为对应存储桶设置一条 deny anyone 的 Get Bucket 权限。操作步骤如下:
登录 对象存储控制台,选择存储桶列表,进入对应存储桶的权限管理页面。
找到 Policy 权限设置项,单击策略语法 > 编辑,输入以下表达式:
{
"Statement": [
{
"Action": [
"name/cos:GetBucket",
"name/cos:GetBucketObjectVersions"
],
"Effect": "Deny",
"Principal": {
"qcs": [
"qcs::cam::anyone:anyone"
]
},
"Resource": [
"qcs::cos:ap-beijing:uid/1250000000:examplebucket-1250000000/*"
]
}
],
"version": "2.0"
}
注意:
请将qcs::cos:ap-beijing:uid/1250000000:examplebucket-1250000000/*
中的相关信息进行以下替换:
- “ap-beijing”替换为您的存储桶所在地域。
- “1250000000”替换为您的 APPID 信息。
- “examplebucket-1250000000”替换为您的存储桶名称。
其中,APPID 为存储桶名称的后半部分,您可以在 对象存储控制台 查看存储桶名称。
ACL 限制针对账号。我们不建议使用文件级别的 ACL 或 Policy。建议您在调用 API 或 SDK 时,若不需要对文件进行特别的 ACL 控制时,请将 ACL 相关参数(如 x-cos-acl、ACL 等)置空,保持继承存储桶权限。
协作者账号是一类特殊的子账号,详情请参见 访问策略语言概述。
可登录 访问管理控制台,进入用户管理页面,给不同的业务开启子账号,并赋予不同的授权操作。
详情请参见 授权子账号访问 COS,创建子账号并对其授权。
若希望子账号只有特定存储桶的操作权限,可以使用子账号添加路径。详情请参见 子账号访问存储桶列表。
请参考 资源访问异常 文档进行排查处理。
可能是因为 CDN 加速域名为关闭状态导致,请您参考 使用 CDN 域名访问 COS 返回 HTTP ERROR 403 文档进行处理。
可能是因为存在缓存导致,请您参考 同一个链接访问的文件异常 文档进行更新操作。
如果您希望在 COS 私有读写的情况下,实现 CDN 回源 COS 时鉴权,可以参考 CDN 回源鉴权。
本页内容是否解决了您的问题?