• 关于

    访问权限

    的搜索结果

回答

详细解答可以参考官方帮助文档对于Object,有四种访问权限: default 继承所属的Bucket的访问权限,即与所属Bucket的权限值一样 public-read-write 允许匿名用户读写该Object public-read 允许匿名用户读该Object private 不允许匿名访问,所有的访问都要经过签名 创建Object时,默认为default权限。之后用户可以通过 Bucket.SetObjectACL来设置Object的权限。上面四种权限分布对应 Go SDK中的常量ACLDefault、ACLPublicReadWrite、ACLPublicRead、ACLPrivate。 提示: Object访问权限设置的示例代码在sample/object_acl.go。 import "fmt" import "github.com/aliyun/aliyun-oss-go-sdk/oss" client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret") if err != nil { // HandleError(err) } bucket, err := client.Bucket("my-bucket") if err != nil { // HandleError(err) } // 设置Object的访问权限 err = bucket.SetObjectACL("my-object", oss.ACLPrivate) if err != nil { // HandleError(err) } // 查看Object的访问权限 aclRes, err := bucket.GetObjectACL("my-object") if err != nil { // HandleError(err) } fmt.Println("Object ACL:", aclRes.ACL) 注意: 如果设置了Object的权限(非default),则访问该Object时进行权限认证时 会优先判断Object的权限,而Bucket的权限设置会被忽略。 允许匿名访问时(设置了public-read或者public-read-write权限),用户 可以直接通过浏览器访问,例如 : http://bucket-name.oss-cn-hangzhou.aliyuncs.com/object.jpg 更多关于访问权限控制的内容请参考 访问控制

2019-12-01 23:14:53 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档对于Object,有四种访问权限: default 继承所属的Bucket的访问权限,即与所属Bucket的权限值一样 public-read-write 允许匿名用户读写该Object public-read 允许匿名用户读该Object private 不允许匿名访问,所有的访问都要经过签名 创建Object时,默认为default权限。之后用户可以通过 Bucket.SetObjectACL来设置Object的权限。上面四种权限分布对应 Go SDK中的常量ACLDefault、ACLPublicReadWrite、ACLPublicRead、ACLPrivate。 提示: Object访问权限设置的示例代码在sample/object_acl.go。 import "fmt" import "github.com/aliyun/aliyun-oss-go-sdk/oss" client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret") if err != nil { // HandleError(err) } bucket, err := client.Bucket("my-bucket") if err != nil { // HandleError(err) } // 设置Object的访问权限 err = bucket.SetObjectACL("my-object", oss.ACLPrivate) if err != nil { // HandleError(err) } // 查看Object的访问权限 aclRes, err := bucket.GetObjectACL("my-object") if err != nil { // HandleError(err) } fmt.Println("Object ACL:", aclRes.ACL) 注意: 如果设置了Object的权限(非default),则访问该Object时进行权限认证时 会优先判断Object的权限,而Bucket的权限设置会被忽略。 允许匿名访问时(设置了public-read或者public-read-write权限),用户 可以直接通过浏览器访问,例如 : http://bucket-name.oss-cn-hangzhou.aliyuncs.com/object.jpg 更多关于访问权限控制的内容请参考 访问控制

2019-12-01 23:14:52 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 除了在创建存储空间的时候能够对存储空间的 ACL 进行设置,也可以之后根据自己的业务需求对存储空间的ACL进行修改。这个操作只有该存储空间的创建者有权限执行。目前存储空间有三种访问权限: 权限值 中文名称 权限对访问者的限制 public-read-write 公共读写 任何人(包括匿名访问)都可以对该存储空间中的文件进行读写操作,所有这些操作产生的费用由该存储空间的拥有者承担,请慎用该权限。 public-read 公共读,私有写 只有该存储空间的拥有者或者授权对象可以对该存储空间内的文件进行写操作,任何人(包括匿名访问)可以对该存储空间中的文件进行读操作。 private 私有读写 只有存储空间的拥有者或者授权对象可以对该存储空间内的文件进行读写操作,其他人在未经授权的情况下无法访问该存储空间内的文件。 详细解释请参见访问权限。 功能使用参考 设置存储空间 ACL 控制台:设置访问权限 Java SDK:设置存储空间访问权限 API:PutBucketACL 获取存储空间 ACL 控制台:登录后可以在存储空间属性中查看 Java SDK:获取存储空间访问权限 API:GetBucketACL

2019-12-01 23:12:25 0 浏览量 回答数 0

阿里云试用中心,为您提供0门槛上云实践机会!

0元试用32+款产品,最高免费12个月!拨打95187-1,咨询专业上云建议!

回答

详细解答可以参考官方帮助文档 除了在创建存储空间的时候能够对存储空间的 ACL 进行设置,也可以之后根据自己的业务需求对存储空间的ACL进行修改。这个操作只有该存储空间的创建者有权限执行。目前存储空间有三种访问权限: 权限值 中文名称 权限对访问者的限制 public-read-write 公共读写 任何人(包括匿名访问)都可以对该存储空间中的文件进行读写操作,所有这些操作产生的费用由该存储空间的拥有者承担,请慎用该权限。 public-read 公共读,私有写 只有该存储空间的拥有者或者授权对象可以对该存储空间内的文件进行写操作,任何人(包括匿名访问)可以对该存储空间中的文件进行读操作。 private 私有读写 只有存储空间的拥有者或者授权对象可以对该存储空间内的文件进行读写操作,其他人在未经授权的情况下无法访问该存储空间内的文件。 详细解释请参见访问权限。 功能使用参考 设置存储空间 ACL 控制台:设置访问权限 Java SDK:设置存储空间访问权限 API:PutBucketACL 获取存储空间 ACL 控制台:登录后可以在存储空间属性中查看 Java SDK:获取存储空间访问权限 API:GetBucketACL

2019-12-01 23:12:25 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 除了在创建存储空间的时候能够对存储空间的 ACL 进行设置,也可以之后根据自己的业务需求对存储空间的ACL进行修改。这个操作只有该存储空间的创建者有权限执行。目前存储空间有三种访问权限: 权限值 中文名称 权限对访问者的限制 public-read-write 公共读写 任何人(包括匿名访问)都可以对该存储空间中的文件进行读写操作,所有这些操作产生的费用由该存储空间的拥有者承担,请慎用该权限。 public-read 公共读,私有写 只有该存储空间的拥有者或者授权对象可以对该存储空间内的文件进行写操作,任何人(包括匿名访问)可以对该存储空间中的文件进行读操作。 private 私有读写 只有存储空间的拥有者或者授权对象可以对该存储空间内的文件进行读写操作,其他人在未经授权的情况下无法访问该存储空间内的文件。 详细解释请参见访问权限。 功能使用参考 设置存储空间 ACL 控制台:设置访问权限 Java SDK:设置存储空间访问权限 API:PutBucketACL 获取存储空间 ACL 控制台:登录后可以在存储空间属性中查看 Java SDK:获取存储空间访问权限 API:GetBucketACL

2019-12-01 23:12:26 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 除了在创建存储空间的时候能够对存储空间的 ACL 进行设置,也可以之后根据自己的业务需求对存储空间的ACL进行修改。这个操作只有该存储空间的创建者有权限执行。目前存储空间有三种访问权限: 权限值 中文名称 权限对访问者的限制 public-read-write 公共读写 任何人(包括匿名访问)都可以对该存储空间中的文件进行读写操作,所有这些操作产生的费用由该存储空间的拥有者承担,请慎用该权限。 public-read 公共读,私有写 只有该存储空间的拥有者或者授权对象可以对该存储空间内的文件进行写操作,任何人(包括匿名访问)可以对该存储空间中的文件进行读操作。 private 私有读写 只有存储空间的拥有者或者授权对象可以对该存储空间内的文件进行读写操作,其他人在未经授权的情况下无法访问该存储空间内的文件。 详细解释请参见访问权限。 功能使用参考 设置存储空间 ACL 控制台:设置访问权限 Java SDK:设置存储空间访问权限 API:PutBucketACL 获取存储空间 ACL 控制台:登录后可以在存储空间属性中查看 Java SDK:获取存储空间访问权限 API:GetBucketACL

2019-12-01 23:12:25 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 除了在创建存储空间的时候能够对存储空间的 ACL 进行设置,也可以之后根据自己的业务需求对存储空间的ACL进行修改。这个操作只有该存储空间的创建者有权限执行。目前存储空间有三种访问权限: 权限值 中文名称 权限对访问者的限制 public-read-write 公共读写 任何人(包括匿名访问)都可以对该存储空间中的文件进行读写操作,所有这些操作产生的费用由该存储空间的拥有者承担,请慎用该权限。 public-read 公共读,私有写 只有该存储空间的拥有者或者授权对象可以对该存储空间内的文件进行写操作,任何人(包括匿名访问)可以对该存储空间中的文件进行读操作。 private 私有读写 只有存储空间的拥有者或者授权对象可以对该存储空间内的文件进行读写操作,其他人在未经授权的情况下无法访问该存储空间内的文件。 详细解释请参见访问权限。 功能使用参考 设置存储空间 ACL 控制台:设置访问权限 Java SDK:设置存储空间访问权限 API:PutBucketACL 获取存储空间 ACL 控制台:登录后可以在存储空间属性中查看 Java SDK:获取存储空间访问权限 API:GetBucketACL

2019-12-01 23:12:25 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 除了在创建存储空间的时候能够对存储空间的 ACL 进行设置,也可以之后根据自己的业务需求对存储空间的ACL进行修改。这个操作只有该存储空间的创建者有权限执行。目前存储空间有三种访问权限: 权限值 中文名称 权限对访问者的限制 public-read-write 公共读写 任何人(包括匿名访问)都可以对该存储空间中的文件进行读写操作,所有这些操作产生的费用由该存储空间的拥有者承担,请慎用该权限。 public-read 公共读,私有写 只有该存储空间的拥有者或者授权对象可以对该存储空间内的文件进行写操作,任何人(包括匿名访问)可以对该存储空间中的文件进行读操作。 private 私有读写 只有存储空间的拥有者或者授权对象可以对该存储空间内的文件进行读写操作,其他人在未经授权的情况下无法访问该存储空间内的文件。 详细解释请参见访问权限。 功能使用参考 设置存储空间 ACL 控制台:设置访问权限 Java SDK:设置存储空间访问权限 API:PutBucketACL 获取存储空间 ACL 控制台:登录后可以在存储空间属性中查看 Java SDK:获取存储空间访问权限 API:GetBucketACL

2019-12-01 23:12:25 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 除了在创建存储空间的时候能够对存储空间的 ACL 进行设置,也可以之后根据自己的业务需求对存储空间的ACL进行修改。这个操作只有该存储空间的创建者有权限执行。目前存储空间有三种访问权限: 权限值 中文名称 权限对访问者的限制 public-read-write 公共读写 任何人(包括匿名访问)都可以对该存储空间中的文件进行读写操作,所有这些操作产生的费用由该存储空间的拥有者承担,请慎用该权限。 public-read 公共读,私有写 只有该存储空间的拥有者或者授权对象可以对该存储空间内的文件进行写操作,任何人(包括匿名访问)可以对该存储空间中的文件进行读操作。 private 私有读写 只有存储空间的拥有者或者授权对象可以对该存储空间内的文件进行读写操作,其他人在未经授权的情况下无法访问该存储空间内的文件。 详细解释请参见访问权限。 功能使用参考 设置存储空间 ACL 控制台:设置访问权限 Java SDK:设置存储空间访问权限 API:PutBucketACL 获取存储空间 ACL 控制台:登录后可以在存储空间属性中查看 Java SDK:获取存储空间访问权限 API:GetBucketACL

2019-12-01 23:12:25 0 浏览量 回答数 0

问题

Go-SDK之如何实现设置访问权限?

青衫无名 2019-12-01 21:47:10 1109 浏览量 回答数 0

问题

Ruby-SDK之如何实现设置访问权限?

青衫无名 2019-12-01 21:46:43 1163 浏览量 回答数 0

回答

1、猜想访问权限的问题 解决方式:查看切片图片文件夹的访问权限,当前用户和管理员都有可读的访问权限。修改切片图片的访问权限为添加Everyone完全控制权限(只是测试是不是这个问题导致的,显示用一般都不要赋予完全控制的权限)。结果还是不行 2、猜想文件是否需要共享问题。 解决方式:将切片文件夹改成共享,访问权限同样赋予Everyone的完全控制权限。结果还是不行 3、猜想iis用户访问权限问题 解决方式:在iis中找到发布的虚拟目录,在其基本设置中的“连接为”设定为待定用户,其中的待定用户为当前的登录用户。结果还是不行 4、猜想防火墙的问题 解决方式:当前图片是采用http方式访问的。外界无法访问,应该是禁用了http的80端口。所以应该在防火墙中添加80端口的例外 具体操作步骤为: 1、打开控制面板,找到Windows防火墙打开 2、找到高级设置打开 3、找到入站规则下的新建规则 4、跟着新建规则向导,选择端口->TCP->输入特定端口80->允许链接->设置可访问的网络类型(可全选)->输入名称(如HTTP)->完成 总结:如果显现本机可访问,局域网其他的电脑不可访问的情况。应首先考虑防火墙的问题

青蛙跳 2019-12-01 23:35:49 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 阿里云权限管理机制包括访问控制(Resource Access Management,简称 RAM)和安全凭证管理(Security Token Service,简称 STS),可以根据需求使用不同权限的子账号来访问OSS,也支持为用户提供临时的访问授权。灵活使用RAM和STS能极大的提高管理的灵活性和安全性。 本文主要讲解了如下的内容: RAM和STS介绍 不使用主账号 读写权限分离 Bucket权限分离 访问控制 STS临时授权访问 常见权限授权管理场景 OSS权限问题及排查 STS常见问题及排查 OSS子账号设置常见问题 单击RAM Policy Editor进行在线编辑,即可生成授权策略。

2019-12-01 23:13:31 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 阿里云权限管理机制包括访问控制(Resource Access Management,简称 RAM)和安全凭证管理(Security Token Service,简称 STS),可以根据需求使用不同权限的子账号来访问OSS,也支持为用户提供临时的访问授权。灵活使用RAM和STS能极大的提高管理的灵活性和安全性。 本文主要讲解了如下的内容: RAM和STS介绍 不使用主账号 读写权限分离 Bucket权限分离 访问控制 STS临时授权访问 常见权限授权管理场景 OSS权限问题及排查 STS常见问题及排查 OSS子账号设置常见问题 单击RAM Policy Editor进行在线编辑,即可生成授权策略。

2019-12-01 23:13:30 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 阿里云权限管理机制包括访问控制(Resource Access Management,简称 RAM)和安全凭证管理(Security Token Service,简称 STS),可以根据需求使用不同权限的子账号来访问OSS,也支持为用户提供临时的访问授权。灵活使用RAM和STS能极大的提高管理的灵活性和安全性。 本文主要讲解了如下的内容: RAM和STS介绍 不使用主账号 读写权限分离 Bucket权限分离 访问控制 STS临时授权访问 常见权限授权管理场景 OSS权限问题及排查 STS常见问题及排查 OSS子账号设置常见问题 单击RAM Policy Editor进行在线编辑,即可生成授权策略。

2019-12-01 23:13:31 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 阿里云权限管理机制包括访问控制(Resource Access Management,简称 RAM)和安全凭证管理(Security Token Service,简称 STS),可以根据需求使用不同权限的子账号来访问OSS,也支持为用户提供临时的访问授权。灵活使用RAM和STS能极大的提高管理的灵活性和安全性。 本文主要讲解了如下的内容: RAM和STS介绍 不使用主账号 读写权限分离 Bucket权限分离 访问控制 STS临时授权访问 常见权限授权管理场景 OSS权限问题及排查 STS常见问题及排查 OSS子账号设置常见问题 单击RAM Policy Editor进行在线编辑,即可生成授权策略。

2019-12-01 23:13:31 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 阿里云权限管理机制包括访问控制(Resource Access Management,简称 RAM)和安全凭证管理(Security Token Service,简称 STS),可以根据需求使用不同权限的子账号来访问OSS,也支持为用户提供临时的访问授权。灵活使用RAM和STS能极大的提高管理的灵活性和安全性。 本文主要讲解了如下的内容: RAM和STS介绍 不使用主账号 读写权限分离 Bucket权限分离 访问控制 STS临时授权访问 常见权限授权管理场景 OSS权限问题及排查 STS常见问题及排查 OSS子账号设置常见问题 单击RAM Policy Editor进行在线编辑,即可生成授权策略。

2019-12-01 23:13:31 0 浏览量 回答数 0

问题

java权限问题,页面和按钮控制怎么搞?

小旋风柴进 2019-12-01 20:05:41 2466 浏览量 回答数 1

回答

详细解答可以参考官方帮助文档 发送访问OSS的请求 您可以直接使用OSS提供的RESTful API接口访问或者使用对API接口进行完整封装的SDK开发包。而每一次向OSS的请求根据当前Bucket权限和操作不同要求用户进行身份验证或者直接匿名访问。对OSS的资源访问的分类如下: 按访问者的角色可分为拥有者访问和第三方用户访问。这里的拥有者指的是Bucket的Owner,也称为开发者。第三方用户是指访问Bucket里资源的用户。 按访问者的身份信息可分为匿名访问和带签名访问。对于OSS来说,如果请求中没有携带任何和身份相关的信息即为匿名访问。带签名访问指的是按照OSS API文档中规定的在请求头部或者在请求URL中携带签名的相关信息。 AccessKey 类型 目前访问 OSS 使用的 AK(AccessKey)有三种类型,具体如下: 阿里云账号AccessKey 阿里云账号AK特指Bucket拥有者的AK,每个阿里云账号提供的AccessKey对拥有的资源有完全的权限。每个阿里云账号能够同时拥有不超过5个active或者inactive的AK对(AccessKeyId和AccessKeySecret)。 用户可以登录AccessKey管理控制台,申请新增或删除AK对。 每个AK对都有active/inactive两种状态。 Active 表明用户的 AK 处于激活状态,可以在身份验证的时候使用。 Inactive 表明用户的 AK 处于非激活状态,不能在身份验证的时候使用。 说明 请避免直接使用阿里云账户的 AccessKey。 RAM子账号AccessKey RAM (Resource Access Management) 是阿里云提供的资源访问控制服务。RAM账号AK指的是通过RAM被授权的AK。这组AK只能按照RAM定义的规则去访问Bucket里的资源。通过RAM,您可以集中管理您的用户(比如员工、系统或应用程序),以及控制用户可以访问您名下哪些资源的权限。比如能够限制您的用户只拥有对某一个Bucket的读权限。子账号是从属于主账号的,并且这些账号下不能拥有实际的任何资源,所有资源都属于主账号。 STS账号AccessKey STS(Security Token Service)是阿里云提供的临时访问凭证服务。STS账号AK指的是通过STS颁发的AK。这组AK只能按照STS定义的规则去访问Bucket里的资源。 身份验证具体实现 目前主要有三种身份验证方式: AK验证 RAM验证 STS验证 当用户以个人身份向OSS发送请求时,其身份验证的实现如下: 用户将发送的请求按照OSS指定的格式生成签名字符串。 用户使用AccessKeySecret对签名字符串进行加密产生验证码。 OSS收到请求以后,通过AccessKeyId找到对应的AccessKeySecret,以同样的方法提取签名字符串和验证码。 如果计算出来的验证码和提供的一样即认为该请求是有效的。 否则,OSS将拒绝处理这次请求,并返回HTTP 403错误。 对于用户来说可以直接使用OSS提供的SDK,配合不同类型的AccessKey即可实现不同的身份验证。 权限控制 针对存放在Bucket的Object的访问,OSS提供了多种权限控制,主要有: Bucket级别权限 Object级别权限 账号级别权限(RAM) 临时账号权限(STS) Bucket级别权限 Bucket权限类型 OSS提供ACL(Access Control List)权限控制方法,OSS ACL提供Bucket级别的权限访问控制,Bucket目前有三种访问权限:public-read-write,public-read和private,它们的含义如下: 权限值 中文名称 权限对访问者的限制 public-read-write 公共读写 任何人(包括匿名访问)都可以对该Bucket中的Object进行读/写/删除操作;所有这些操作产生的费用由该Bucket的Owner承担,请慎用该权限。 public-read 公共读,私有写 只有该Bucket的Owner或者授权对象可以对存放在其中的Object进行写/删除操作;任何人(包括匿名访问)可以对Object进行读操作。 private 私有读写 只有该Bucket的Owner或者授权对象可以对存放在其中的Object进行读/写/删除操作;其他人在未经授权的情况下无法访问该Bucket内的Object。 Bucket权限设定和读取方法 功能使用参考: API:Put BucketACL SDK:Java SDK-设置Bucket ACL 控制台:创建Bucket权限设置 API:Get BucketACL SDK:Java SDK-获取Bucket ACL Object级别权限 Object权限类型 OSS ACL也提供Object级别的权限访问控制。目前Object有四种访问权限:private, public-read, public-read-write, default。Put Object ACL操作通过Put请求中的“x-oss-object-acl”头来设置,这个操作只有Bucket Owner有权限执行。 权限值 中文名称 权限对访问者的限制 public-read-write 公共读写 该ACL表明某个Object是公共读写资源,即所有用户拥有对该Object的读写权限。 public-read 公共读,私有写 该ACL表明某个Object是公共读资源,即非Object Owner只有该Object的读权限,而Object Owner拥有该Object的读写权限。 private 私有读写 该ACL表明某个Object是私有资源,即只有该Object的Owner拥有该Object的读写权限,其他的用户没有权限操作该Object。 default 默认权限 该ACL表明某个Object是遵循Bucket读写权限的资源,即Bucket是什么权限,Object就是什么权限。 说明 如果没有设置Object的权限,即Object的ACL为default,Object的权限和Bucket权限一致。 如果设置了Object的权限,Object的权限大于Bucket权限。举个例子,如果设置了Object的权限是public-read,无论Bucket是什么权限,该Object都可以被身份验证访问和匿名访问。 Object权限设定和读取方法 功能使用参考: API:Put Object ACL SDK:Java SDK-ObjectACL 中设定Object ACL API:Get Object ACL SDK:Java SDK-ObjectACL 中读取Object ACL 账号级别权限(RAM) 使用场景 如果您购买了云资源,您的组织里有多个用户需要使用这些云资源,这些用户只能共享使用您的云账号AccessKey。这里有两个问题: 您的密钥由多人共享,泄露的风险很高。 您无法控制特定用户能访问哪些资源(比如Bucket)的权限。 解决方法:在您的阿里云账号下面,通过RAM可以创建具有自己AccessKey的子用户。您的阿里云账号被称为主账号,创建出来的账号被称为子账号,使用子账号的AccessKey只能使用主账号授权的操作和资源。 具体实现 有关RAM详情,请参考RAM用户手册。 对于授权中需要的Policy的配置方式可以参考本章最后一节:RAM和STS授权策略(Policy)配置。 临时账号权限(STS) 使用场景 对于您本地身份系统所管理的用户,比如您的App的用户、您的企业本地账号、第三方App,也有直接访问OSS资源的可能,将这部分用户称为联盟用户。此外,用户还可以是您创建的能访问您的阿里云资源的应用程序。 对于这部分联盟用户,通过阿里云STS (Security Token Service) 服务为阿里云账号(或RAM用户)提供短期访问权限管理。您不需要透露云账号(或RAM用户)的长期密钥(如登录密码、AccessKey),只需要生成一个短期访问凭证给联盟用户使用即可。这个凭证的访问权限及有效期限都可以由您自定义。您不需要关心权限撤销问题,访问凭证过期后会自动失效。 用户通过STS生成的凭证包括安全令牌(SecurityToken)、临时访问密钥(AccessKeyId, AccessKeySecret)。使用AccessKey方法与您在使用阿里云账户或RAM用户AccessKey发送请求时的方法相同。此外还需要注意的是在每个向OSS发送的请求中必须携带安全令牌。 具体实现 STS安全令牌、角色管理和使用相关内容详情,请参考RAM用户指南中的角色管理。关键是调用STS服务接口AssumeRole来获取有效访问凭证即可,也可以直接使用STS SDK来调用该方法。 RAM和STS应用场景实践 对于不同的应用场景,涉及到的访问身份验证方式可能存在差异。下面以几种典型的应用场景来说明访问身份验证中几种使用方式。 以一个移动App举例。假设您是一个移动App开发者,打算使用阿里云OSS服务来保存App的终端用户数据,并且要保证每个App用户之间的数据隔离,防止一个App用户获取到其它App用户的数据。 方式一:使用AppServer来做数据中转和数据隔离如上图所示,您需要开发一个AppServer。只有AppServer能访问云服务,ClientApp的每次读写数据都需要通过AppServer,AppServer来保证不同用户数据的隔离访问。 对于该种使用方式,使用阿里云账号或者RAM账号提供的密钥来进行签名验证访问。建议您尽量不要直接使用阿里云账号(主账号)的密钥访问OSS,避免出现安全问题。 方式二:使用STS让用户直接访问OSS STS方案描述如下图所示:方案的详细描述如下: App用户登录。App用户和云账号无关,它是App的终端用户,AppServer支持App用户登录。对于每个有效的App用户来说,需要AppServer能定义出每个App用户的最小访问权限。 AppServer请求STS服务获取一个安全令牌(SecurityToken)。在调用STS之前,AppServer需要确定App用户的最小访问权限(用Policy语法描述)以及授权的过期时间。然后通过扮演角色(AssumeRole)来获取一个代表角色身份的安全令牌。 STS返回给AppServer一个有效的访问凭证,包括一个安全令牌(SecurityToken)、临时访问密钥(AccessKeyId, AccessKeySecret)以及过期时间。 AppServer将访问凭证返回给ClientApp。ClientApp可以缓存这个凭证。当凭证失效时,ClientApp需要向AppServer申请新的有效访问凭证。比如,访问凭证有效期为1小时,那么ClientApp可以每30分钟向AppServer请求更新访问凭证。 ClientApp使用本地缓存的访问凭证去请求Aliyun Service API。云服务会感知STS访问凭证,并会依赖STS服务来验证访问凭证,正确响应用户请求。 RAM和STS授权策略(Policy)配置 对于RAM或者STS授权中使用Policy,详细规则如下。 示例 先看下面的一个Policy示例: { "Version": "1", "Statement": [ { "Action": [ "oss:GetBucketAcl", "oss:ListObjects" ], "Resource": [ "acs:oss:*:1775305056529849:mybucket" ], "Effect": "Allow", "Condition": { "StringEquals": { "acs:UserAgent": "java-sdk", "oss:Prefix": "foo" }, "IpAddress": { "acs:SourceIp": "192.168.0.1" } } }, { "Action": [ "oss:PutObject", "oss:GetObject", "oss:DeleteObject" ], "Resource": [ "acs:oss:*:1775305056529849:mybucket/file*" ], "Effect": "Allow", "Condition": { "IpAddress": { "acs:SourceIp": "192.168.0.1" } } } ] } 这是一个授权的Policy,用户用这样的一个Policy通过RAM或STS服务向其他用户授权。Policy当中有一个Statement(一条Policy当中可以有多条Statement)。Statement里面规定了相应的Action、Resource、Effect和Condition。 这条Policy把用户自己名下的mybucket和mybucket/file*这些资源授权给相应的用户,并且支持GetBucketAcl、GetBucket、PutObject、GetObject和DeleteObject这几种操作。Condition中的条件表示UserAgent为java-sdk,源IP为192.168.0.1的时候鉴权才能通过,被授权的用户才能访问相关的资源。Prefix这个Condition是在GetBucket(ListObjects)的时候起作用的,关于这个字段的解释详见OSS的API文档。 配置细则 Version Version定义了Policy的版本,本文档中sw2q的配置方式,设置为1。 Statement 通过Statement描述授权语义,其中可以根据业务场景包含多条语义,每条包含对Action、Effect、Resource和Condition的描述。每次请求系统会逐条依次匹配检查,所有匹配成功的Statement会根据Effect的设置不同分为通过(Allow)、禁止(Deny),其中禁止(Deny)的优先。如果匹配成功的都为通过,该条请求即鉴权通过。如果匹配成功有一条禁止,或者没有任何条目匹配成功,该条请求被禁止访问。 Action Action分为三大类:Service级别操作,对应的是GetService操作,用来列出所有属于该用户的Bucket列表。 Bucket级别操作,对应类似于oss:PutBucketAcl、oss:GetBucketLocation之类的操作,操作的对象是Bucket,它们的名称和相应的接口名称一一对应。 Object级别操作,分为oss:GetObject、oss:PutObject、oss:DeleteObject和oss:AbortMultipartUpload,操作对象是Object。 如想授权某一类的Object的操作,可以选择这几种的一种或几种。另外,所有的Action前面都必须加上oss:,如上面例子所示。Action是一个列表,可以有多个Action。具体的Action和API接口的对应关系如下: Service级别 API Action GetService(ListBuckets) oss:ListBuckets Bucket级别 API Action PutBucket oss:PutBucket GetBucket(ListObjects) oss:ListObjects PutBucketAcl oss:PutBucketAcl DeleteBucket oss:DeleteBucket GetBucketLocation oss:GetBucketLocation GetBucketAcl oss:GetBucketAcl GetBucketLogging oss:GetBucketLogging PutBucketLogging oss:PutBucketLogging DeleteBucketLogging oss:DeleteBucketLogging GetBucketWebsite oss:GetBucketWebsite PutBucketWebsite oss:PutBucketWebsite DeleteBucketWebsite oss:DeleteBucketWebsite GetBucketReferer oss:GetBucketReferer PutBucketReferer oss:PutBucketReferer GetBucketLifecycle oss:GetBucketLifecycle PutBucketLifecycle oss:PutBucketLifecycle DeleteBucketLifecycle oss:DeleteBucketLifecycle ListMultipartUploads oss:ListMultipartUploads PutBucketCors oss:PutBucketCors GetBucketCors oss:GetBucketCors DeleteBucketCors oss:DeleteBucketCors PutBucketReplication oss:PutBucketReplication GetBucketReplication oss:GetBucketReplication DeleteBucketReplication oss:DeleteBucketReplication GetBucketReplicationLocation oss:GetBucketReplicationLocation GetBucketReplicationProgress oss:GetBucketReplicationProgress Object级别 API Action GetObject oss:GetObject HeadObject oss:GetObject PutObject oss:PutObject PostObject oss:PutObject InitiateMultipartUpload oss:PutObject UploadPart oss:PutObject CompleteMultipart oss:PutObject DeleteObject oss:DeleteObject DeleteMultipartObjects oss:DeleteObject AbortMultipartUpload oss:AbortMultipartUpload ListParts oss:ListParts CopyObject oss:GetObject,oss:PutObject UploadPartCopy oss:GetObject,oss:PutObject AppendObject oss:PutObject GetObjectAcl oss:GetObjectAcl PutObjectAcl oss:PutObjectAcl Resource Resource指代的是OSS上面的某个具体的资源或者某些资源(支持*通配),resource的规则是acs:oss:{region}:{bucket_owner}:{bucket_name}/{object_name}。对于所有Bucket级别的操作来说不需要最后的斜杠和{object_name},即acs:oss:{region}:{bucket_owner}:{bucket_name}。Resource也是一个列表,可以有多个Resource。其中的region字段暂时不做支持,设置为*。 Effect Effect代表本条的Statement的授权的结果,分为Allow和Deny,分别指代通过和禁止。多条Statement同时匹配成功时,禁止(Deny)的优先级更高。 例如,期望禁止用户对某一目录进行删除,但对于其他文件有全部权限: { "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "oss:*" ], "Resource": [ "acs:oss:*:*:bucketname" ] }, { "Effect": "Deny", "Action": [ "oss:DeleteObject" ], "Resource": [ "acs:oss:*:*:bucketname/index/*", ] } ] } Condition Condition代表Policy授权的一些条件,上面的示例里面可以设置对于acs:UserAgent的检查、acs:SourceIp的检查、还有oss:Prefix这项用来在GetBucket的时候对资源进行限制。 OSS支持的Condition如下: condition 功能 合法取值 acs:SourceIp 指定ip网段 普通的ip,支持*通配 acs:UserAgent 指定http useragent头 字符串 acs:CurrentTime 指定合法的访问时间 ISO8601格式 acs:SecureTransport 是否是https协议 “true”或者”false” oss:Prefix 用作ListObjects时的prefix 合法的object name 更多示例 针对具体场景更多的授权策略配置示例,可以参考教程示例:控制存储空间和文件夹的访问权限和OSS授权常见问题。 Policy在线图形化便捷配置工具,请单击这里。 最佳实践 RAM和STS使用指南

2019-12-01 23:12:47 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 发送访问OSS的请求 您可以直接使用OSS提供的RESTful API接口访问或者使用对API接口进行完整封装的SDK开发包。而每一次向OSS的请求根据当前Bucket权限和操作不同要求用户进行身份验证或者直接匿名访问。对OSS的资源访问的分类如下: 按访问者的角色可分为拥有者访问和第三方用户访问。这里的拥有者指的是Bucket的Owner,也称为开发者。第三方用户是指访问Bucket里资源的用户。 按访问者的身份信息可分为匿名访问和带签名访问。对于OSS来说,如果请求中没有携带任何和身份相关的信息即为匿名访问。带签名访问指的是按照OSS API文档中规定的在请求头部或者在请求URL中携带签名的相关信息。 AccessKey 类型 目前访问 OSS 使用的 AK(AccessKey)有三种类型,具体如下: 阿里云账号AccessKey 阿里云账号AK特指Bucket拥有者的AK,每个阿里云账号提供的AccessKey对拥有的资源有完全的权限。每个阿里云账号能够同时拥有不超过5个active或者inactive的AK对(AccessKeyId和AccessKeySecret)。 用户可以登录AccessKey管理控制台,申请新增或删除AK对。 每个AK对都有active/inactive两种状态。 Active 表明用户的 AK 处于激活状态,可以在身份验证的时候使用。 Inactive 表明用户的 AK 处于非激活状态,不能在身份验证的时候使用。 说明 请避免直接使用阿里云账户的 AccessKey。 RAM子账号AccessKey RAM (Resource Access Management) 是阿里云提供的资源访问控制服务。RAM账号AK指的是通过RAM被授权的AK。这组AK只能按照RAM定义的规则去访问Bucket里的资源。通过RAM,您可以集中管理您的用户(比如员工、系统或应用程序),以及控制用户可以访问您名下哪些资源的权限。比如能够限制您的用户只拥有对某一个Bucket的读权限。子账号是从属于主账号的,并且这些账号下不能拥有实际的任何资源,所有资源都属于主账号。 STS账号AccessKey STS(Security Token Service)是阿里云提供的临时访问凭证服务。STS账号AK指的是通过STS颁发的AK。这组AK只能按照STS定义的规则去访问Bucket里的资源。 身份验证具体实现 目前主要有三种身份验证方式: AK验证 RAM验证 STS验证 当用户以个人身份向OSS发送请求时,其身份验证的实现如下: 用户将发送的请求按照OSS指定的格式生成签名字符串。 用户使用AccessKeySecret对签名字符串进行加密产生验证码。 OSS收到请求以后,通过AccessKeyId找到对应的AccessKeySecret,以同样的方法提取签名字符串和验证码。 如果计算出来的验证码和提供的一样即认为该请求是有效的。 否则,OSS将拒绝处理这次请求,并返回HTTP 403错误。 对于用户来说可以直接使用OSS提供的SDK,配合不同类型的AccessKey即可实现不同的身份验证。 权限控制 针对存放在Bucket的Object的访问,OSS提供了多种权限控制,主要有: Bucket级别权限 Object级别权限 账号级别权限(RAM) 临时账号权限(STS) Bucket级别权限 Bucket权限类型 OSS提供ACL(Access Control List)权限控制方法,OSS ACL提供Bucket级别的权限访问控制,Bucket目前有三种访问权限:public-read-write,public-read和private,它们的含义如下: 权限值 中文名称 权限对访问者的限制 public-read-write 公共读写 任何人(包括匿名访问)都可以对该Bucket中的Object进行读/写/删除操作;所有这些操作产生的费用由该Bucket的Owner承担,请慎用该权限。 public-read 公共读,私有写 只有该Bucket的Owner或者授权对象可以对存放在其中的Object进行写/删除操作;任何人(包括匿名访问)可以对Object进行读操作。 private 私有读写 只有该Bucket的Owner或者授权对象可以对存放在其中的Object进行读/写/删除操作;其他人在未经授权的情况下无法访问该Bucket内的Object。 Bucket权限设定和读取方法 功能使用参考: API:Put BucketACL SDK:Java SDK-设置Bucket ACL 控制台:创建Bucket权限设置 API:Get BucketACL SDK:Java SDK-获取Bucket ACL Object级别权限 Object权限类型 OSS ACL也提供Object级别的权限访问控制。目前Object有四种访问权限:private, public-read, public-read-write, default。Put Object ACL操作通过Put请求中的“x-oss-object-acl”头来设置,这个操作只有Bucket Owner有权限执行。 权限值 中文名称 权限对访问者的限制 public-read-write 公共读写 该ACL表明某个Object是公共读写资源,即所有用户拥有对该Object的读写权限。 public-read 公共读,私有写 该ACL表明某个Object是公共读资源,即非Object Owner只有该Object的读权限,而Object Owner拥有该Object的读写权限。 private 私有读写 该ACL表明某个Object是私有资源,即只有该Object的Owner拥有该Object的读写权限,其他的用户没有权限操作该Object。 default 默认权限 该ACL表明某个Object是遵循Bucket读写权限的资源,即Bucket是什么权限,Object就是什么权限。 说明 如果没有设置Object的权限,即Object的ACL为default,Object的权限和Bucket权限一致。 如果设置了Object的权限,Object的权限大于Bucket权限。举个例子,如果设置了Object的权限是public-read,无论Bucket是什么权限,该Object都可以被身份验证访问和匿名访问。 Object权限设定和读取方法 功能使用参考: API:Put Object ACL SDK:Java SDK-ObjectACL 中设定Object ACL API:Get Object ACL SDK:Java SDK-ObjectACL 中读取Object ACL 账号级别权限(RAM) 使用场景 如果您购买了云资源,您的组织里有多个用户需要使用这些云资源,这些用户只能共享使用您的云账号AccessKey。这里有两个问题: 您的密钥由多人共享,泄露的风险很高。 您无法控制特定用户能访问哪些资源(比如Bucket)的权限。 解决方法:在您的阿里云账号下面,通过RAM可以创建具有自己AccessKey的子用户。您的阿里云账号被称为主账号,创建出来的账号被称为子账号,使用子账号的AccessKey只能使用主账号授权的操作和资源。 具体实现 有关RAM详情,请参考RAM用户手册。 对于授权中需要的Policy的配置方式可以参考本章最后一节:RAM和STS授权策略(Policy)配置。 临时账号权限(STS) 使用场景 对于您本地身份系统所管理的用户,比如您的App的用户、您的企业本地账号、第三方App,也有直接访问OSS资源的可能,将这部分用户称为联盟用户。此外,用户还可以是您创建的能访问您的阿里云资源的应用程序。 对于这部分联盟用户,通过阿里云STS (Security Token Service) 服务为阿里云账号(或RAM用户)提供短期访问权限管理。您不需要透露云账号(或RAM用户)的长期密钥(如登录密码、AccessKey),只需要生成一个短期访问凭证给联盟用户使用即可。这个凭证的访问权限及有效期限都可以由您自定义。您不需要关心权限撤销问题,访问凭证过期后会自动失效。 用户通过STS生成的凭证包括安全令牌(SecurityToken)、临时访问密钥(AccessKeyId, AccessKeySecret)。使用AccessKey方法与您在使用阿里云账户或RAM用户AccessKey发送请求时的方法相同。此外还需要注意的是在每个向OSS发送的请求中必须携带安全令牌。 具体实现 STS安全令牌、角色管理和使用相关内容详情,请参考RAM用户指南中的角色管理。关键是调用STS服务接口AssumeRole来获取有效访问凭证即可,也可以直接使用STS SDK来调用该方法。 RAM和STS应用场景实践 对于不同的应用场景,涉及到的访问身份验证方式可能存在差异。下面以几种典型的应用场景来说明访问身份验证中几种使用方式。 以一个移动App举例。假设您是一个移动App开发者,打算使用阿里云OSS服务来保存App的终端用户数据,并且要保证每个App用户之间的数据隔离,防止一个App用户获取到其它App用户的数据。 方式一:使用AppServer来做数据中转和数据隔离如上图所示,您需要开发一个AppServer。只有AppServer能访问云服务,ClientApp的每次读写数据都需要通过AppServer,AppServer来保证不同用户数据的隔离访问。 对于该种使用方式,使用阿里云账号或者RAM账号提供的密钥来进行签名验证访问。建议您尽量不要直接使用阿里云账号(主账号)的密钥访问OSS,避免出现安全问题。 方式二:使用STS让用户直接访问OSS STS方案描述如下图所示:方案的详细描述如下: App用户登录。App用户和云账号无关,它是App的终端用户,AppServer支持App用户登录。对于每个有效的App用户来说,需要AppServer能定义出每个App用户的最小访问权限。 AppServer请求STS服务获取一个安全令牌(SecurityToken)。在调用STS之前,AppServer需要确定App用户的最小访问权限(用Policy语法描述)以及授权的过期时间。然后通过扮演角色(AssumeRole)来获取一个代表角色身份的安全令牌。 STS返回给AppServer一个有效的访问凭证,包括一个安全令牌(SecurityToken)、临时访问密钥(AccessKeyId, AccessKeySecret)以及过期时间。 AppServer将访问凭证返回给ClientApp。ClientApp可以缓存这个凭证。当凭证失效时,ClientApp需要向AppServer申请新的有效访问凭证。比如,访问凭证有效期为1小时,那么ClientApp可以每30分钟向AppServer请求更新访问凭证。 ClientApp使用本地缓存的访问凭证去请求Aliyun Service API。云服务会感知STS访问凭证,并会依赖STS服务来验证访问凭证,正确响应用户请求。 RAM和STS授权策略(Policy)配置 对于RAM或者STS授权中使用Policy,详细规则如下。 示例 先看下面的一个Policy示例: { "Version": "1", "Statement": [ { "Action": [ "oss:GetBucketAcl", "oss:ListObjects" ], "Resource": [ "acs:oss:*:1775305056529849:mybucket" ], "Effect": "Allow", "Condition": { "StringEquals": { "acs:UserAgent": "java-sdk", "oss:Prefix": "foo" }, "IpAddress": { "acs:SourceIp": "192.168.0.1" } } }, { "Action": [ "oss:PutObject", "oss:GetObject", "oss:DeleteObject" ], "Resource": [ "acs:oss:*:1775305056529849:mybucket/file*" ], "Effect": "Allow", "Condition": { "IpAddress": { "acs:SourceIp": "192.168.0.1" } } } ] } 这是一个授权的Policy,用户用这样的一个Policy通过RAM或STS服务向其他用户授权。Policy当中有一个Statement(一条Policy当中可以有多条Statement)。Statement里面规定了相应的Action、Resource、Effect和Condition。 这条Policy把用户自己名下的mybucket和mybucket/file*这些资源授权给相应的用户,并且支持GetBucketAcl、GetBucket、PutObject、GetObject和DeleteObject这几种操作。Condition中的条件表示UserAgent为java-sdk,源IP为192.168.0.1的时候鉴权才能通过,被授权的用户才能访问相关的资源。Prefix这个Condition是在GetBucket(ListObjects)的时候起作用的,关于这个字段的解释详见OSS的API文档。 配置细则 Version Version定义了Policy的版本,本文档中sw2q的配置方式,设置为1。 Statement 通过Statement描述授权语义,其中可以根据业务场景包含多条语义,每条包含对Action、Effect、Resource和Condition的描述。每次请求系统会逐条依次匹配检查,所有匹配成功的Statement会根据Effect的设置不同分为通过(Allow)、禁止(Deny),其中禁止(Deny)的优先。如果匹配成功的都为通过,该条请求即鉴权通过。如果匹配成功有一条禁止,或者没有任何条目匹配成功,该条请求被禁止访问。 Action Action分为三大类:Service级别操作,对应的是GetService操作,用来列出所有属于该用户的Bucket列表。 Bucket级别操作,对应类似于oss:PutBucketAcl、oss:GetBucketLocation之类的操作,操作的对象是Bucket,它们的名称和相应的接口名称一一对应。 Object级别操作,分为oss:GetObject、oss:PutObject、oss:DeleteObject和oss:AbortMultipartUpload,操作对象是Object。 如想授权某一类的Object的操作,可以选择这几种的一种或几种。另外,所有的Action前面都必须加上oss:,如上面例子所示。Action是一个列表,可以有多个Action。具体的Action和API接口的对应关系如下: Service级别 API Action GetService(ListBuckets) oss:ListBuckets Bucket级别 API Action PutBucket oss:PutBucket GetBucket(ListObjects) oss:ListObjects PutBucketAcl oss:PutBucketAcl DeleteBucket oss:DeleteBucket GetBucketLocation oss:GetBucketLocation GetBucketAcl oss:GetBucketAcl GetBucketLogging oss:GetBucketLogging PutBucketLogging oss:PutBucketLogging DeleteBucketLogging oss:DeleteBucketLogging GetBucketWebsite oss:GetBucketWebsite PutBucketWebsite oss:PutBucketWebsite DeleteBucketWebsite oss:DeleteBucketWebsite GetBucketReferer oss:GetBucketReferer PutBucketReferer oss:PutBucketReferer GetBucketLifecycle oss:GetBucketLifecycle PutBucketLifecycle oss:PutBucketLifecycle DeleteBucketLifecycle oss:DeleteBucketLifecycle ListMultipartUploads oss:ListMultipartUploads PutBucketCors oss:PutBucketCors GetBucketCors oss:GetBucketCors DeleteBucketCors oss:DeleteBucketCors PutBucketReplication oss:PutBucketReplication GetBucketReplication oss:GetBucketReplication DeleteBucketReplication oss:DeleteBucketReplication GetBucketReplicationLocation oss:GetBucketReplicationLocation GetBucketReplicationProgress oss:GetBucketReplicationProgress Object级别 API Action GetObject oss:GetObject HeadObject oss:GetObject PutObject oss:PutObject PostObject oss:PutObject InitiateMultipartUpload oss:PutObject UploadPart oss:PutObject CompleteMultipart oss:PutObject DeleteObject oss:DeleteObject DeleteMultipartObjects oss:DeleteObject AbortMultipartUpload oss:AbortMultipartUpload ListParts oss:ListParts CopyObject oss:GetObject,oss:PutObject UploadPartCopy oss:GetObject,oss:PutObject AppendObject oss:PutObject GetObjectAcl oss:GetObjectAcl PutObjectAcl oss:PutObjectAcl Resource Resource指代的是OSS上面的某个具体的资源或者某些资源(支持*通配),resource的规则是acs:oss:{region}:{bucket_owner}:{bucket_name}/{object_name}。对于所有Bucket级别的操作来说不需要最后的斜杠和{object_name},即acs:oss:{region}:{bucket_owner}:{bucket_name}。Resource也是一个列表,可以有多个Resource。其中的region字段暂时不做支持,设置为*。 Effect Effect代表本条的Statement的授权的结果,分为Allow和Deny,分别指代通过和禁止。多条Statement同时匹配成功时,禁止(Deny)的优先级更高。 例如,期望禁止用户对某一目录进行删除,但对于其他文件有全部权限: { "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "oss:*" ], "Resource": [ "acs:oss:*:*:bucketname" ] }, { "Effect": "Deny", "Action": [ "oss:DeleteObject" ], "Resource": [ "acs:oss:*:*:bucketname/index/*", ] } ] } Condition Condition代表Policy授权的一些条件,上面的示例里面可以设置对于acs:UserAgent的检查、acs:SourceIp的检查、还有oss:Prefix这项用来在GetBucket的时候对资源进行限制。 OSS支持的Condition如下: condition 功能 合法取值 acs:SourceIp 指定ip网段 普通的ip,支持*通配 acs:UserAgent 指定http useragent头 字符串 acs:CurrentTime 指定合法的访问时间 ISO8601格式 acs:SecureTransport 是否是https协议 “true”或者”false” oss:Prefix 用作ListObjects时的prefix 合法的object name 更多示例 针对具体场景更多的授权策略配置示例,可以参考教程示例:控制存储空间和文件夹的访问权限和OSS授权常见问题。 Policy在线图形化便捷配置工具,请单击这里。 最佳实践 RAM和STS使用指南

2019-12-01 23:12:47 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 发送访问OSS的请求 您可以直接使用OSS提供的RESTful API接口访问或者使用对API接口进行完整封装的SDK开发包。而每一次向OSS的请求根据当前Bucket权限和操作不同要求用户进行身份验证或者直接匿名访问。对OSS的资源访问的分类如下: 按访问者的角色可分为拥有者访问和第三方用户访问。这里的拥有者指的是Bucket的Owner,也称为开发者。第三方用户是指访问Bucket里资源的用户。 按访问者的身份信息可分为匿名访问和带签名访问。对于OSS来说,如果请求中没有携带任何和身份相关的信息即为匿名访问。带签名访问指的是按照OSS API文档中规定的在请求头部或者在请求URL中携带签名的相关信息。 AccessKey 类型 目前访问 OSS 使用的 AK(AccessKey)有三种类型,具体如下: 阿里云账号AccessKey 阿里云账号AK特指Bucket拥有者的AK,每个阿里云账号提供的AccessKey对拥有的资源有完全的权限。每个阿里云账号能够同时拥有不超过5个active或者inactive的AK对(AccessKeyId和AccessKeySecret)。 用户可以登录AccessKey管理控制台,申请新增或删除AK对。 每个AK对都有active/inactive两种状态。 Active 表明用户的 AK 处于激活状态,可以在身份验证的时候使用。 Inactive 表明用户的 AK 处于非激活状态,不能在身份验证的时候使用。 说明 请避免直接使用阿里云账户的 AccessKey。 RAM子账号AccessKey RAM (Resource Access Management) 是阿里云提供的资源访问控制服务。RAM账号AK指的是通过RAM被授权的AK。这组AK只能按照RAM定义的规则去访问Bucket里的资源。通过RAM,您可以集中管理您的用户(比如员工、系统或应用程序),以及控制用户可以访问您名下哪些资源的权限。比如能够限制您的用户只拥有对某一个Bucket的读权限。子账号是从属于主账号的,并且这些账号下不能拥有实际的任何资源,所有资源都属于主账号。 STS账号AccessKey STS(Security Token Service)是阿里云提供的临时访问凭证服务。STS账号AK指的是通过STS颁发的AK。这组AK只能按照STS定义的规则去访问Bucket里的资源。 身份验证具体实现 目前主要有三种身份验证方式: AK验证 RAM验证 STS验证 当用户以个人身份向OSS发送请求时,其身份验证的实现如下: 用户将发送的请求按照OSS指定的格式生成签名字符串。 用户使用AccessKeySecret对签名字符串进行加密产生验证码。 OSS收到请求以后,通过AccessKeyId找到对应的AccessKeySecret,以同样的方法提取签名字符串和验证码。 如果计算出来的验证码和提供的一样即认为该请求是有效的。 否则,OSS将拒绝处理这次请求,并返回HTTP 403错误。 对于用户来说可以直接使用OSS提供的SDK,配合不同类型的AccessKey即可实现不同的身份验证。 权限控制 针对存放在Bucket的Object的访问,OSS提供了多种权限控制,主要有: Bucket级别权限 Object级别权限 账号级别权限(RAM) 临时账号权限(STS) Bucket级别权限 Bucket权限类型 OSS提供ACL(Access Control List)权限控制方法,OSS ACL提供Bucket级别的权限访问控制,Bucket目前有三种访问权限:public-read-write,public-read和private,它们的含义如下: 权限值 中文名称 权限对访问者的限制 public-read-write 公共读写 任何人(包括匿名访问)都可以对该Bucket中的Object进行读/写/删除操作;所有这些操作产生的费用由该Bucket的Owner承担,请慎用该权限。 public-read 公共读,私有写 只有该Bucket的Owner或者授权对象可以对存放在其中的Object进行写/删除操作;任何人(包括匿名访问)可以对Object进行读操作。 private 私有读写 只有该Bucket的Owner或者授权对象可以对存放在其中的Object进行读/写/删除操作;其他人在未经授权的情况下无法访问该Bucket内的Object。 Bucket权限设定和读取方法 功能使用参考: API:Put BucketACL SDK:Java SDK-设置Bucket ACL 控制台:创建Bucket权限设置 API:Get BucketACL SDK:Java SDK-获取Bucket ACL Object级别权限 Object权限类型 OSS ACL也提供Object级别的权限访问控制。目前Object有四种访问权限:private, public-read, public-read-write, default。Put Object ACL操作通过Put请求中的“x-oss-object-acl”头来设置,这个操作只有Bucket Owner有权限执行。 权限值 中文名称 权限对访问者的限制 public-read-write 公共读写 该ACL表明某个Object是公共读写资源,即所有用户拥有对该Object的读写权限。 public-read 公共读,私有写 该ACL表明某个Object是公共读资源,即非Object Owner只有该Object的读权限,而Object Owner拥有该Object的读写权限。 private 私有读写 该ACL表明某个Object是私有资源,即只有该Object的Owner拥有该Object的读写权限,其他的用户没有权限操作该Object。 default 默认权限 该ACL表明某个Object是遵循Bucket读写权限的资源,即Bucket是什么权限,Object就是什么权限。 说明 如果没有设置Object的权限,即Object的ACL为default,Object的权限和Bucket权限一致。 如果设置了Object的权限,Object的权限大于Bucket权限。举个例子,如果设置了Object的权限是public-read,无论Bucket是什么权限,该Object都可以被身份验证访问和匿名访问。 Object权限设定和读取方法 功能使用参考: API:Put Object ACL SDK:Java SDK-ObjectACL 中设定Object ACL API:Get Object ACL SDK:Java SDK-ObjectACL 中读取Object ACL 账号级别权限(RAM) 使用场景 如果您购买了云资源,您的组织里有多个用户需要使用这些云资源,这些用户只能共享使用您的云账号AccessKey。这里有两个问题: 您的密钥由多人共享,泄露的风险很高。 您无法控制特定用户能访问哪些资源(比如Bucket)的权限。 解决方法:在您的阿里云账号下面,通过RAM可以创建具有自己AccessKey的子用户。您的阿里云账号被称为主账号,创建出来的账号被称为子账号,使用子账号的AccessKey只能使用主账号授权的操作和资源。 具体实现 有关RAM详情,请参考RAM用户手册。 对于授权中需要的Policy的配置方式可以参考本章最后一节:RAM和STS授权策略(Policy)配置。 临时账号权限(STS) 使用场景 对于您本地身份系统所管理的用户,比如您的App的用户、您的企业本地账号、第三方App,也有直接访问OSS资源的可能,将这部分用户称为联盟用户。此外,用户还可以是您创建的能访问您的阿里云资源的应用程序。 对于这部分联盟用户,通过阿里云STS (Security Token Service) 服务为阿里云账号(或RAM用户)提供短期访问权限管理。您不需要透露云账号(或RAM用户)的长期密钥(如登录密码、AccessKey),只需要生成一个短期访问凭证给联盟用户使用即可。这个凭证的访问权限及有效期限都可以由您自定义。您不需要关心权限撤销问题,访问凭证过期后会自动失效。 用户通过STS生成的凭证包括安全令牌(SecurityToken)、临时访问密钥(AccessKeyId, AccessKeySecret)。使用AccessKey方法与您在使用阿里云账户或RAM用户AccessKey发送请求时的方法相同。此外还需要注意的是在每个向OSS发送的请求中必须携带安全令牌。 具体实现 STS安全令牌、角色管理和使用相关内容详情,请参考RAM用户指南中的角色管理。关键是调用STS服务接口AssumeRole来获取有效访问凭证即可,也可以直接使用STS SDK来调用该方法。 RAM和STS应用场景实践 对于不同的应用场景,涉及到的访问身份验证方式可能存在差异。下面以几种典型的应用场景来说明访问身份验证中几种使用方式。 以一个移动App举例。假设您是一个移动App开发者,打算使用阿里云OSS服务来保存App的终端用户数据,并且要保证每个App用户之间的数据隔离,防止一个App用户获取到其它App用户的数据。 方式一:使用AppServer来做数据中转和数据隔离如上图所示,您需要开发一个AppServer。只有AppServer能访问云服务,ClientApp的每次读写数据都需要通过AppServer,AppServer来保证不同用户数据的隔离访问。 对于该种使用方式,使用阿里云账号或者RAM账号提供的密钥来进行签名验证访问。建议您尽量不要直接使用阿里云账号(主账号)的密钥访问OSS,避免出现安全问题。 方式二:使用STS让用户直接访问OSS STS方案描述如下图所示:方案的详细描述如下: App用户登录。App用户和云账号无关,它是App的终端用户,AppServer支持App用户登录。对于每个有效的App用户来说,需要AppServer能定义出每个App用户的最小访问权限。 AppServer请求STS服务获取一个安全令牌(SecurityToken)。在调用STS之前,AppServer需要确定App用户的最小访问权限(用Policy语法描述)以及授权的过期时间。然后通过扮演角色(AssumeRole)来获取一个代表角色身份的安全令牌。 STS返回给AppServer一个有效的访问凭证,包括一个安全令牌(SecurityToken)、临时访问密钥(AccessKeyId, AccessKeySecret)以及过期时间。 AppServer将访问凭证返回给ClientApp。ClientApp可以缓存这个凭证。当凭证失效时,ClientApp需要向AppServer申请新的有效访问凭证。比如,访问凭证有效期为1小时,那么ClientApp可以每30分钟向AppServer请求更新访问凭证。 ClientApp使用本地缓存的访问凭证去请求Aliyun Service API。云服务会感知STS访问凭证,并会依赖STS服务来验证访问凭证,正确响应用户请求。 RAM和STS授权策略(Policy)配置 对于RAM或者STS授权中使用Policy,详细规则如下。 示例 先看下面的一个Policy示例: { "Version": "1", "Statement": [ { "Action": [ "oss:GetBucketAcl", "oss:ListObjects" ], "Resource": [ "acs:oss:*:1775305056529849:mybucket" ], "Effect": "Allow", "Condition": { "StringEquals": { "acs:UserAgent": "java-sdk", "oss:Prefix": "foo" }, "IpAddress": { "acs:SourceIp": "192.168.0.1" } } }, { "Action": [ "oss:PutObject", "oss:GetObject", "oss:DeleteObject" ], "Resource": [ "acs:oss:*:1775305056529849:mybucket/file*" ], "Effect": "Allow", "Condition": { "IpAddress": { "acs:SourceIp": "192.168.0.1" } } } ] } 这是一个授权的Policy,用户用这样的一个Policy通过RAM或STS服务向其他用户授权。Policy当中有一个Statement(一条Policy当中可以有多条Statement)。Statement里面规定了相应的Action、Resource、Effect和Condition。 这条Policy把用户自己名下的mybucket和mybucket/file*这些资源授权给相应的用户,并且支持GetBucketAcl、GetBucket、PutObject、GetObject和DeleteObject这几种操作。Condition中的条件表示UserAgent为java-sdk,源IP为192.168.0.1的时候鉴权才能通过,被授权的用户才能访问相关的资源。Prefix这个Condition是在GetBucket(ListObjects)的时候起作用的,关于这个字段的解释详见OSS的API文档。 配置细则 Version Version定义了Policy的版本,本文档中sw2q的配置方式,设置为1。 Statement 通过Statement描述授权语义,其中可以根据业务场景包含多条语义,每条包含对Action、Effect、Resource和Condition的描述。每次请求系统会逐条依次匹配检查,所有匹配成功的Statement会根据Effect的设置不同分为通过(Allow)、禁止(Deny),其中禁止(Deny)的优先。如果匹配成功的都为通过,该条请求即鉴权通过。如果匹配成功有一条禁止,或者没有任何条目匹配成功,该条请求被禁止访问。 Action Action分为三大类:Service级别操作,对应的是GetService操作,用来列出所有属于该用户的Bucket列表。 Bucket级别操作,对应类似于oss:PutBucketAcl、oss:GetBucketLocation之类的操作,操作的对象是Bucket,它们的名称和相应的接口名称一一对应。 Object级别操作,分为oss:GetObject、oss:PutObject、oss:DeleteObject和oss:AbortMultipartUpload,操作对象是Object。 如想授权某一类的Object的操作,可以选择这几种的一种或几种。另外,所有的Action前面都必须加上oss:,如上面例子所示。Action是一个列表,可以有多个Action。具体的Action和API接口的对应关系如下: Service级别 API Action GetService(ListBuckets) oss:ListBuckets Bucket级别 API Action PutBucket oss:PutBucket GetBucket(ListObjects) oss:ListObjects PutBucketAcl oss:PutBucketAcl DeleteBucket oss:DeleteBucket GetBucketLocation oss:GetBucketLocation GetBucketAcl oss:GetBucketAcl GetBucketLogging oss:GetBucketLogging PutBucketLogging oss:PutBucketLogging DeleteBucketLogging oss:DeleteBucketLogging GetBucketWebsite oss:GetBucketWebsite PutBucketWebsite oss:PutBucketWebsite DeleteBucketWebsite oss:DeleteBucketWebsite GetBucketReferer oss:GetBucketReferer PutBucketReferer oss:PutBucketReferer GetBucketLifecycle oss:GetBucketLifecycle PutBucketLifecycle oss:PutBucketLifecycle DeleteBucketLifecycle oss:DeleteBucketLifecycle ListMultipartUploads oss:ListMultipartUploads PutBucketCors oss:PutBucketCors GetBucketCors oss:GetBucketCors DeleteBucketCors oss:DeleteBucketCors PutBucketReplication oss:PutBucketReplication GetBucketReplication oss:GetBucketReplication DeleteBucketReplication oss:DeleteBucketReplication GetBucketReplicationLocation oss:GetBucketReplicationLocation GetBucketReplicationProgress oss:GetBucketReplicationProgress Object级别 API Action GetObject oss:GetObject HeadObject oss:GetObject PutObject oss:PutObject PostObject oss:PutObject InitiateMultipartUpload oss:PutObject UploadPart oss:PutObject CompleteMultipart oss:PutObject DeleteObject oss:DeleteObject DeleteMultipartObjects oss:DeleteObject AbortMultipartUpload oss:AbortMultipartUpload ListParts oss:ListParts CopyObject oss:GetObject,oss:PutObject UploadPartCopy oss:GetObject,oss:PutObject AppendObject oss:PutObject GetObjectAcl oss:GetObjectAcl PutObjectAcl oss:PutObjectAcl Resource Resource指代的是OSS上面的某个具体的资源或者某些资源(支持*通配),resource的规则是acs:oss:{region}:{bucket_owner}:{bucket_name}/{object_name}。对于所有Bucket级别的操作来说不需要最后的斜杠和{object_name},即acs:oss:{region}:{bucket_owner}:{bucket_name}。Resource也是一个列表,可以有多个Resource。其中的region字段暂时不做支持,设置为*。 Effect Effect代表本条的Statement的授权的结果,分为Allow和Deny,分别指代通过和禁止。多条Statement同时匹配成功时,禁止(Deny)的优先级更高。 例如,期望禁止用户对某一目录进行删除,但对于其他文件有全部权限: { "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "oss:*" ], "Resource": [ "acs:oss:*:*:bucketname" ] }, { "Effect": "Deny", "Action": [ "oss:DeleteObject" ], "Resource": [ "acs:oss:*:*:bucketname/index/*", ] } ] } Condition Condition代表Policy授权的一些条件,上面的示例里面可以设置对于acs:UserAgent的检查、acs:SourceIp的检查、还有oss:Prefix这项用来在GetBucket的时候对资源进行限制。 OSS支持的Condition如下: condition 功能 合法取值 acs:SourceIp 指定ip网段 普通的ip,支持*通配 acs:UserAgent 指定http useragent头 字符串 acs:CurrentTime 指定合法的访问时间 ISO8601格式 acs:SecureTransport 是否是https协议 “true”或者”false” oss:Prefix 用作ListObjects时的prefix 合法的object name 更多示例 针对具体场景更多的授权策略配置示例,可以参考教程示例:控制存储空间和文件夹的访问权限和OSS授权常见问题。 Policy在线图形化便捷配置工具,请单击这里。 最佳实践 RAM和STS使用指南

2019-12-01 23:12:47 0 浏览量 回答数 0

回答

您可以开启云存储网关的Windows权限控制功能,对通过SMB共享挂载至客户端的共享目录进行基于访问权限的枚举(Access-Based Enumeration,简称ABE)。本文介绍如何开启Windows权限控制功能。 前提条件 已创建文件网关并添加缓存,详细步骤请参见创建文件网关及添加缓存。 已创建OSS Bucket,详细步骤请参见创建存储空间。 已加入了AD域。详细步骤请参见配置AD/LDAP/DNS。 背景信息 在Windows文件系统中,即使用户没有权限对某个文件或文件夹进行操作,该文件或文件夹对用户依然默认可见。开启云存储网关的Windows权限控制功能后,挂载至客户端的共享目录可以启用基于访问权限的枚举,使用户只能看到自身有权限操作的文件或文件夹。 使用Windows权限功能时,请注意以下内容: 启用Windows权限控制时,文件或文件夹的权限信息保存在其对应OSS对象的元数据中。 对于每个文件或者文件夹,建议不要设置超过10条访问控制条目。 SMB文件共享的根目录的默认权限为所有人可以完全访问。建议您不要修改根目录的权限,而是对根目录下的顶级文件夹进行设置。根目录的权限只保存在网关本地。无法保存在OSS对象中。 Windows权限控制只能在新建共享时开启,您需要按照以下步骤创建一个SMB共享。 登录云存储网关控制台。 选择目标文件网关所在的地域。 在网关列表页面,找到并单击目标文件网关,进入操作页面。 选择共享页签,单击创建。 在Bucket设置页签中完成配置,并单击下一步。 说明 有关该页签中的详细配置说明,请参见Bucket设置说明。 在基本信息页签中,完成基本信息设置说明中的设置,并额外配置以下两个参数,然后单击下一步。 参数 说明 Windows权限支持 选择是否开启Windows权限控制功能。该选项只有在协议中选择SMB时才会出现。 说明 要开启Windows权限支持功能,必须事先加入AD域。 基于访问的枚举 选择是否开启基于访问的枚举。开启后,用户只能看到自己有权限操作的文件或文件夹。该选项仅在开启了Windows权限支持后才会出现。 在高级设置页签中完成配置并单击下一步。 说明 有关该页签中的详细配置说明,请参见高级设置说明。 在总结页签中,确认信息无误后,单击完成。 共享创建完成后,您可以在共享列表中单击所创建共享名称左侧的+,查看Windows权限支持和基于访问权限的枚举是否已开启。 有关如何使用Windows权限控制功能实现基于访问权限的枚举,请参见使用Windows权限控制功能实现基于访问权限的枚举。

1934890530796658 2020-03-31 11:15:43 0 浏览量 回答数 0

回答

STS临时授权 临时授权访问 我目前的账号上传这些已经可以,下文件都已可以使用,我目前用法是想临时生成一个token给其它调用上传者使用,目前生成临时token报 RequestId:"7D7F12EB-AB11-4824-B33C-F261CBF5B727"HostId:"sts.aliyuncs.com"Code:"NoPermission"Message:"You are not authorized to do this action. You should be authorized by RAM." 角色详情 角色授权策略 let's go sabvideo-ts1 编辑授权策略 授权策略名称 备注 类型 操作 AdministratorAccess 管理所有阿里云资源的权限 系统 查看权限 |  解除授权 AliyunOSSFullAccess 管理对象存储服务(OSS)权限 系统 查看权限 |  解除授权 AliyunOSSReadOnlyAccess 只读访问对象存储服务(OSS)的权限 系统 查看权限 |  解除授权 AliyunECSFullAccess 管理云服务器服务(ECS)的权限 系统 查看权限 |  解除授权 AliyunECSReadOnlyAccess 只读访问云服务器服务(ECS)的权限 系统 查看权限 |  解除授权 AliyunRDSFullAccess 管理云数据库服务(RDS)的权限 系统 查看权限 |  解除授权 AliyunRAMFullAccess 管理访问控制(RAM)的权限,即管理用户以及授权的权限 系统 查看权限 |  解除授权 AliyunSTSAssumeRoleAccess 调用STS服务AssumeRole接口的权限 系统 查看权限 |  解除授权 AliyunCDNFullAccess 管理CDN的权限 系统 查看权限 |  解除授权 AliyunMNSFullAccess 管理消息服务(MNS)的权限 系统 查看权限 |  解除授权 AliyunCloudMonitorFullAccess 管理云监控(CloudMonitor)的权限 系统 查看权限 |  解除授权

1242458196304125 2019-12-01 23:44:44 0 浏览量 回答数 0

问题

如何在子账号中添加控制台的大数据(数加)的控制台访问权限,并没有在访问控制权限中找到

祁同伟 2019-12-01 20:27:08 1337 浏览量 回答数 3

问题

访问控制权限与授权策略

反向一觉 2019-12-01 21:26:58 1761 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 OSS 提供权限控制 ACL(Access Control List),您可以在创建存储空间的时候设置相应的 ACL 权限控制,也可以在创建之后修改 ACL。如果不设置 ACL,默认值为私有。 OSS ACL 提供存储空间级别和文件级别的权限访问控制,目前有三种访问权限: 私有:只有该存储空间的拥有者可以对该存储空间内的文件进行读写操作,其他人无法访问该存储空间内的文件。 公共读:只有该存储空间的拥有者可以对该存储空间内的文件进行写操作,任何人(包括匿名访问者)可以对该存储空间中的文件进行读操作。 公共读写:任何人(包括匿名访问者)都可以对该存储空间中的文件进行读写操作,所有这些操作产生的费用由该存储空间的拥有者承担,请慎用该权限。 本节介绍存储空间级别的权限访问控制的修改方法。 操作步骤 进入OSS 管理控制台界面。 在左侧存储空间列表中,单击目标存储空间名称,打开该存储空间概览页面。 单击基础设置页签,找到读写权限区域。 单击设置,修改该存储空间的读写权限。 单击保存 。

2019-12-01 23:13:04 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 OSS 提供权限控制 ACL(Access Control List),您可以在创建存储空间的时候设置相应的 ACL 权限控制,也可以在创建之后修改 ACL。如果不设置 ACL,默认值为私有。 OSS ACL 提供存储空间级别和文件级别的权限访问控制,目前有三种访问权限: 私有:只有该存储空间的拥有者可以对该存储空间内的文件进行读写操作,其他人无法访问该存储空间内的文件。 公共读:只有该存储空间的拥有者可以对该存储空间内的文件进行写操作,任何人(包括匿名访问者)可以对该存储空间中的文件进行读操作。 公共读写:任何人(包括匿名访问者)都可以对该存储空间中的文件进行读写操作,所有这些操作产生的费用由该存储空间的拥有者承担,请慎用该权限。 本节介绍存储空间级别的权限访问控制的修改方法。 操作步骤 进入OSS 管理控制台界面。 在左侧存储空间列表中,单击目标存储空间名称,打开该存储空间概览页面。 单击基础设置页签,找到读写权限区域。 单击设置,修改该存储空间的读写权限。 单击保存 。

2019-12-01 23:13:04 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 OSS 提供权限控制 ACL(Access Control List),您可以在创建存储空间的时候设置相应的 ACL 权限控制,也可以在创建之后修改 ACL。如果不设置 ACL,默认值为私有。 OSS ACL 提供存储空间级别和文件级别的权限访问控制,目前有三种访问权限: 私有:只有该存储空间的拥有者可以对该存储空间内的文件进行读写操作,其他人无法访问该存储空间内的文件。 公共读:只有该存储空间的拥有者可以对该存储空间内的文件进行写操作,任何人(包括匿名访问者)可以对该存储空间中的文件进行读操作。 公共读写:任何人(包括匿名访问者)都可以对该存储空间中的文件进行读写操作,所有这些操作产生的费用由该存储空间的拥有者承担,请慎用该权限。 本节介绍存储空间级别的权限访问控制的修改方法。 操作步骤 进入OSS 管理控制台界面。 在左侧存储空间列表中,单击目标存储空间名称,打开该存储空间概览页面。 单击基础设置页签,找到读写权限区域。 单击设置,修改该存储空间的读写权限。 单击保存 。

2019-12-01 23:13:05 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 OSS 提供权限控制 ACL(Access Control List),您可以在创建存储空间的时候设置相应的 ACL 权限控制,也可以在创建之后修改 ACL。如果不设置 ACL,默认值为私有。 OSS ACL 提供存储空间级别和文件级别的权限访问控制,目前有三种访问权限: 私有:只有该存储空间的拥有者可以对该存储空间内的文件进行读写操作,其他人无法访问该存储空间内的文件。 公共读:只有该存储空间的拥有者可以对该存储空间内的文件进行写操作,任何人(包括匿名访问者)可以对该存储空间中的文件进行读操作。 公共读写:任何人(包括匿名访问者)都可以对该存储空间中的文件进行读写操作,所有这些操作产生的费用由该存储空间的拥有者承担,请慎用该权限。 本节介绍存储空间级别的权限访问控制的修改方法。 操作步骤 进入OSS 管理控制台界面。 在左侧存储空间列表中,单击目标存储空间名称,打开该存储空间概览页面。 单击基础设置页签,找到读写权限区域。 单击设置,修改该存储空间的读写权限。 单击保存 。

2019-12-01 23:13:04 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 OSS 提供权限控制 ACL(Access Control List),您可以在创建存储空间的时候设置相应的 ACL 权限控制,也可以在创建之后修改 ACL。如果不设置 ACL,默认值为私有。 OSS ACL 提供存储空间级别和文件级别的权限访问控制,目前有三种访问权限: 私有:只有该存储空间的拥有者可以对该存储空间内的文件进行读写操作,其他人无法访问该存储空间内的文件。 公共读:只有该存储空间的拥有者可以对该存储空间内的文件进行写操作,任何人(包括匿名访问者)可以对该存储空间中的文件进行读操作。 公共读写:任何人(包括匿名访问者)都可以对该存储空间中的文件进行读写操作,所有这些操作产生的费用由该存储空间的拥有者承担,请慎用该权限。 本节介绍存储空间级别的权限访问控制的修改方法。 操作步骤 进入OSS 管理控制台界面。 在左侧存储空间列表中,单击目标存储空间名称,打开该存储空间概览页面。 单击基础设置页签,找到读写权限区域。 单击设置,修改该存储空间的读写权限。 单击保存 。

2019-12-01 23:13:04 0 浏览量 回答数 0
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站