桶名称:xxxx-xx-*********366
appID:**********656
桶名称 + "-" + appid 能够生成秘钥,但是policy中的
"resource" : [ "qcs::cos:ap-beijing:uid/**********656:xxxx-xx-*********366-**********656/*" ]
我理解是,等于生成的临时秘钥把桶名称当成 “xxxx-xx-*********366-**********656”。这个是不是有问题。
然后我用文档中的Demo去验证临时秘钥,
1、如果 bucketName 只传桶名称不拼接appid,那么会报 Status Code: 403; Error Code: AccessDenied;
2、如果 bucketName 只传桶名称拼接了appid,那么会报 Status Code: 404; Error Code: NoSuchBucket;
之后我调用生成临时秘钥的接口 CosStsClient.getCredential(config);
发现:config.put("bucket", bucket); 这个 bucket 格式只要是 XXXX-appId,不管前面的 XXXX填任何值都可以生成临时秘钥,只是这个临时秘钥指向的桶地址不对而已。
相似问题