You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IBM Cloud:如何通过CLI开启存储桶公共访问及管理Public Access访问组

我来帮你解决这两个IBM Cloud Object Storage的CLI权限问题:

1. 如何通过CLI为IBM Cloud中的存储桶开启公共访问权限?

你有两种可靠的方式在CLI中实现存储桶的公共访问,这里优先推荐IAM权限控制(更贴合IBM Cloud的统一权限体系),也可以直接操作存储桶ACL:

方式1:通过IAM配置公共访问(推荐)

  1. 先确保你已登录IBM Cloud CLI并切换到目标资源组:
    ibmcloud login
    ibmcloud target -g <你的资源组名称>
    
  2. 为匿名未认证用户添加目标存储桶的读取权限策略:
    ibmcloud iam policy-create ServiceInstance \
      --service-name cloud-object-storage \
      --instance-id <你的COS实例ID> \
      --region <存储桶所在区域,比如us-south> \
      --resource-type bucket \
      --resource <你的存储桶名称> \
      --role Reader \
      --subject-type anonymous
    
    记得把命令里的占位符替换成你实际的资源信息。

方式2:直接设置存储桶ACL为公共读取

如果你习惯用ACL方式快速配置,可以用这条命令:

ibmcloud cos bucket-put-acl --bucket <你的存储桶名称> --acl public-read

执行后,所有用户都能读取该桶内的对象。

2. 如何查看内置Public Access访问组的详情并为存储桶分配新策略?

你遇到的AccessGroupId-PublicAccess是IBM Cloud Object Storage的系统内置公共访问组,这类内置组不会出现在常规的ibmcloud iam access-groups查询结果里,所以直接查组ID找不到,但我们可以用特定命令来管理它:

查看该组的关联策略

要获取这个组的已有权限策略,用ibmcloud iam policies命令过滤定位:

ibmcloud iam policies --service-name cloud-object-storage --subject-type access-group --subject-id AccessGroupId-PublicAccess

这条命令会列出所有绑定到这个公共访问组的COS相关策略。

为该组分配新的存储桶策略

如果需要给这个组添加特定存储桶的权限(比如写入权限,不过公共写入风险很高,谨慎操作),可以用ibmcloud iam policy-create命令,指定该组ID作为主体:

ibmcloud iam policy-create ServiceInstance \
  --service-name cloud-object-storage \
  --instance-id <你的COS实例ID> \
  --region <存储桶所在区域> \
  --resource-type bucket \
  --resource <目标存储桶名称> \
  --role <要分配的角色,比如Reader/Writer> \
  --subject-type access-group \
  --subject-id AccessGroupId-PublicAccess

替换占位符为你的实际资源信息就能完成策略分配。

补充说明:通过UI开启存储桶公共访问时,本质就是给这个内置组添加了对应存储桶的Reader策略,所以CLI操作和UI操作是完全互通的。

内容的提问来源于stack exchange,提问作者data_henrik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 13:43:15