一、为什么要做Bucket权限配置

Object管理是对象存储服务的基础特性,行云管家提供了Object的上传、下载、复制、移动等功能。由于行云管家基于B/S架构实现,而云厂商为了保护对象存储服务的安全性,提供了一系列的安全设置,例如:防盗链、跨域设置、访问签名,这些安全设置对于浏览器客户端会有很大影响,如果相关设置不对行云管家开放,将会影响到在行云管家进行Object的上传下载等功能。

当行云管家检测到用户未进行相关的权限配置时,在Object管理界面将出现以下提示:

因此,如果用户希望使用相关功能,就需要对Bucket做一些配置,这些配置对于不同云厂商来说是不一样的,下面就分别介绍阿里云和腾讯云是如何进行相关配置的。

二、阿里云OSS配置

针对阿里云OSS,点击配置提醒中的“了解更多”,我们可以看到相关的配置项:将行云管家域名添加到防盗链白名单Referer列表和跨域访问规则中,以及在您的阿里云账号中创建专门的RAM子账号和角色。如果您的云账户使用的是主账号的AccessKey,那么您可以点击“一键自动配置”,让我们自动帮您完成以上配置;

如果您打算手工在阿里云控制台中修改相关设置,请按照以下指引进行操作:

2.1、阿里云OSS配置

(1)以主账号身份登录您的阿里云OSS管理控制台,然后如图,找到“对象存储OSS”;

(2)在“Bucket列表”里选择您要配置的Bucket点击进入(例如如图llctest);

(3)在该Bucket中找到“基础设置”,并找到“防盗链”进行设置;

(4)默认情况下这个配置是空,表示所有的域名均能访问客户的OSS资源,如果当前设置允许所有域名访问,请忽略本项修改。但如果启用了防盗链白名单,请点击“设置”,在防盗链配置中增加http://*.cloudbility.comhttps://*.cloudbility.com两项内容;

请注意:您在配置防盗链白名单时,请确保您自己的域名和行云管家的域名都在Referer白名单列表中;

(5)返回该Bucket“基础设置”中,找到“跨域访问”,点击“设置”;

(6)在跨域访问设置页面中,点击“创建规则”,按以下内容创建两条规则:

  • 来源:https://*.cloudbility.comhttp://*.cloudbility.com(以换行表示两个域名,如果是私有部署版,请填写自己的域名)

  • 允许 Methods:全部勾选

  • 允许 Headers:*

  • 暴露 Headers:ETag、x-oss-request-id(每行一个)

  • 缓存时间(秒):300

2.2、在阿里云账号中创建专门的RAM子账号

如果您在其它Bucket里已经创建过RAM子账号,请勿重复创建,直接忽略本步骤即可。

(1)在头像处点击“访问控制”,然后在左边栏“用户”中点击“创建用户”;

(2)在“创建用户”窗口,用户名填写“cloudbility-bucket-admin”,显示名填写“行云管家Bucket管理员”;

(3)子账户创建完成后,请注意保存该账户的AccessKey信息,在后面的步骤需要把AccessKey回填至行云管家中,其中AccessKey Secret信息将只会显示一次,如果您未保存,请在用户详情页面里的“用户AccessKey”中点击“创建AccessKey”按钮,重新创建一个。

(4)在“用户”页面中,选择刚才创建的子账号,点击其“添加权限”链接;

(5)在“选择授权”栏目中,搜索“AliyunOSSFullAccess”和“AliyunSTSAssumeRoleAccess”两个策略,将其添加到“已选择”中,点击“确定”按钮进行保存;

2.3、创建专门用于OSS管理的角色

和RAM子账号一样,如果您在其它Bucket里已经创建过角色,请勿重复创建,直接忽略本步骤即可。

(1)在头像处点击“访问控制”,然后在左边栏“RAM角色管理”中点击“创建RAM角色”;

(2)在“创建角色”向导第一步中,在“选择类型”中选择“当前可信实体类型”为“阿里云账号”;

(3)在“配置角色”中,输入“角色名称”为:cloudbility-bucket-role以及“备注”为:行云管家Bucket管理角色,选择云账号为:当前子账号;

(4)创建完成后点击“为角色授权”;

(5)在“添加权限”页面,“授权范围”选择“云账户所有资源”,“被授权主机”默认即可,然后在“选择权限”中找到“AliyunOSSFullAccess”策略,将其添加到“已选择”中,点击“确定”按钮进行保存;

(6)授权成功点击完成即可;

(7)如图在“RAM角色”中搜索刚创建的角色,并点击该角色进入;

(8)在角色基本信息页面,找到“ARN”,保存该信息,在后面的步骤需要将其回填至行云管家中;

2.4、将RAM子账号的AccessKey和角色信息填入行云管家中

请确保您在前面的操作中,已将创建的子账号AccessKey信息和角色ARN信息保存好,点击“点击此处进行配置”,将子账号AccessKey和角色ARN信息填入,点击“确定”,通过校验后,即保存成功;

相关配置完成后,系统将不再对Object管理功能进行提醒,用户可正常使用Object的相关管理功能;

三、腾讯云COS配置

针对腾讯云COS,我们需要将行云管家域名添加到防盗链白名单Referer列表和跨域访问规则中,具体操作请见以下指引:

3.1、登录腾讯云COS控制台

登录您的腾讯云COS控制台Bucket列表,点击您要配置的Bucket名称进入;

3.2、将行云管家域名添加到Bucket的防盗链白名单Referer列表中

点击该Bucket的“基础设置”功能;

找到“防盗链设置”,默认情况下这个配置是“已关闭”,表示所有的域名均能访问客户的COS资源,如果当前设置是关闭或黑名单(行云管家域名不能在黑名单中),请忽略本项修改;

但如果启用了防盗链白名单,请在防盗链配置中增加*.cloudbility.com后,点击保存按钮;

请注意:您在配置防盗链白名单时,请确保您自己的域名和行云管家的域名都在Referer白名单列表中;

3.3、将行云管家域名添加到Bucket跨域访问规则中

仍然是在Bucket基础设置中,找到“跨域访问CORS设置”,如果当前状态是“已开启”,请点击“编辑”;

在编辑状态下,点击“新增规则”,按以下内容创建一个规则:

  • 来源Origin:*.cloudbility.com(如果是私有部署版,请填写自己的域名)

  • 操作 Methods:全部勾选

  • Credentials:False

  • Allow-Headers:*

  • Expose-Headers:ETag

  • 超时 Max-Age:300