ks3

金山ks3

子账号登录控制台时,要选IAM账号登录,填主账号和子账号密码

私有化部署版本问题

当前版本 子账号不能创建bucket
此版本ks3 不支持项目?

ks3 给不同子账户设置不同的bucket访问权限

  1. 使用主账户登录创建私有bucket
  2. 创建子账号,生成秘钥保存
  3. 创建策略,允许对 bucket ag-test1 一切访问权限,允许访问bucket列表(才能查看)
{
   "Version": "2015-11-01",
   "Statement": [
       {
           "Effect": "Allow",
           "Action": [
               "ks3:*"
           ],
           "Resource": [
               "krn:ksc:ks3:::ag-test1",
               "krn:ksc:ks3:::ag-test1/*"
           ]
       },
       {
           "Effect": "Allow",
           "Action": "ks3:ListBuckets",
           "Resource": "*"
       }
   ]
}
  1. 将此策略关联到相应的子账户即可
    当使用其他子账户登录时可以看到所有bucket 列表,但没有权限的bucket 里的内容看不到,同样使用此子账户的key 和secret 只能访问和修改授权的bucket,访问其他bucket时报错 AccessDeniedException
com.ksyun.ks3.exception.serviceside.AccessDeniedException:[RequestId:3ec6eb0c80bc4c76b779eba09346e98c,Resource:/ess-test2/2019/10/08/测试/915f4d4a-dd66-44a2-b177-fcb6975e2dc7save.png,Statue code:403,Expected statue code:200,Error code:AccessDenied,Error message:Access Denied]
    at com.ksyun.ks3.http.Ks3CoreController.doExecute(Ks3CoreController.java:136)
    at com.ksyun.ks3.http.Ks3CoreController.execute(Ks3CoreController.java:81)
    at com.ksyun.ks3.service.Ks3Client.putObject(Ks3Client.java:493)

备份文件

使用ks3util

使用ks3util 上传文件,/app/testfile 是本地文件,svndata/2019/testfile是对象存储中路径
./ks3util put -a Private -b wangyj-test2 -c /opt/ks3util-1.1.3/sample.conf /app/testfile svndata/2019/testfile

按前缀查出文件列表写入文件toDelete -p 是指定前缀
./ks3util ls -b svnbackup -c /opt/ks3util-1.1.3/sample.conf -k /opt/ks3util-1.1.3/bin/toDelete -p 2019/9
按toDelete文件列表删除 -f 是删除失败的文件列表,-k 是要删除的文件列表
./ks3util multi-del -b svnbackup -c /opt/ks3util-1.1.3/sample.conf -f /app/deletefail -k /opt/ks3util-1.1.3/bin/toDelete

自定义服务 再用curl 方式

使用java 客户端开发服务在用curl 发送文件
curl http://127.0.0.1:8081/api/ks3svn/upload -X POST -F "file=@/app/testfile" -F "filekey=svndata/2019/09/testfile" -F "secret=123"

你可能感兴趣的:(ks3)