简介
本文主要介绍如何结合RAM服务,共享用户bucket中的文件/文件夹, 让其他用户只读,而bucket的owner可以修改。
思路就是: 开通RAM -> 新建只读授权策略 -> 创建子用户 -> 向子用户授权 -> FTP登录验证
获取账户ID
获取你的account ID。具体参考下图步骤。
开通RAM
访问控制(Resource Access Management,RAM)是一个稳定可靠的集中式访问控制服务。您可以通过定制策略,产生一个共享读的账户,使得用户可以用此账户登录FTP 工具并 读取您的文件。
RAM的位置请参考下图。
新建授权策略
开通RAM之后,进入RAM控制台,点击左侧的授权管理,按下图步骤依次操作来创建新的授权策略。
填写授权策略时,如下图所示。
其中第1步和第2步自定义填写即可,第3步的策略内容才是最关键的地方。
{
"Version": "1",
"Statement": [
{
"Action": [
"oss:GetObject",
"oss:HeadObject"
],
"Resource": [
"acs:oss:*:****************:test-hz-john-001/*"
],
"Effect": "Allow"
},
{
"Action": [
"oss:ListObjects",
"oss:GetBucketAcl",
"oss:GetBucketLocation"
],
"Resource": [
"acs:oss:*:****************:test-hz-john-001"
],
"Effect": "Allow"
},
{
"Action": [
"oss:ListBuckets"
],
"Resource": [
"acs:oss:*:****************:*"
],
"Effect": "Allow"
}
]
}
将上面的****************替换为你自己的账户ID,test-hz-john-001替换为你自己的bucket名,然后整体拷贝到策略内容里面,最后点击[backcolor=transparent]新建授权策略即可。
创建用户
上面的授权策略生命了一种只读策略,下面新建一个用户并给予他这种策略。先是创建用户,步骤如下:
[backcolor=transparent]注意保存新用户的access_key。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
要实现通过阿里云的RAM服务共享Bucket中的文件/文件夹,让其他用户拥有只读权限,同时保证Bucket所有者可以修改内容,您可以遵循以下详细步骤操作:
ReadOnlyAccessForOSSBucket
。{
"Version": "1",
"Statement": [
{
"Action": ["oss:GetObject", "oss:HeadObject"],
"Resource": ["acs:oss:*:<YOUR_ACCOUNT_ID>:<YOUR_BUCKET_NAME>/*"],
"Effect": "Allow"
},
{
"Action": ["oss:ListObjects", "oss:GetBucketAcl", "oss:GetBucketLocation"],
"Resource": ["acs:oss:*:<YOUR_ACCOUNT_ID>:<YOUR_BUCKET_NAME>"],
"Effect": "Allow"
},
{
"Action": ["oss:ListBuckets"],
"Resource": ["acs:oss:*:<YOUR_ACCOUNT_ID>:*"],
"Effect": "Allow"
}
]
}
<YOUR_ACCOUNT_ID>
和<YOUR_BUCKET_NAME>
替换为实际值后,保存策略。ReadOnlyAccessForOSSBucket
策略,赋予用户只读权限。重要提示: - 确保遵循最小权限原则,仅授予执行任务所需的最小子集权限。 - 定期审查RAM用户的权限分配,确保安全合规。 - 当使用子账户登录FTP或其他客户端时,注意网络环境和IP限制可能影响访问(如示例策略中的源IP条件)。
通过上述步骤,您即可有效地利用RAM服务来分享Bucket资源,实现细粒度的访问控制。