一、创建访问控制策略
登录 访问管理控制台 策略管理页面。
·如果需要快捷地授予用户权限 ,则可以在策略管理界面右侧的搜索框中搜索 CFS,选择预设的 CFS 只读或读写权限并关联用户组以完成授权。
·如果你需要给用户授予特定操作的权限 ,则可以新建一个自定义策略,并关联用户组以完成授权。
二、CFS 全读写策略
如果你想让用户拥有查询、创建、修改、删除等所有操作的权限,则可以授予用户 QcloudCFSFullAccess 权限。使用预设 QcloudCFSFullAccess ,授予协作者或子用户所有 CFS 资源的读写、VPC 及子网的查询权限,策略语法如下:
{ "version": "2.0", "statement": [ { "action": [ "cfs:*" ], "resource": "*", "effect": "allow" }, { "action": [ "vpc:DescribeVpcEx", "vpc:DescribeSubnetEx" ], "resource": "*", "effect": "allow" } ]}
三、CFS 只读策略
如果你想让用户拥有查询权限 ,但是不具有创建、修改、删除的权限,则可以授予用户 QcloudCFSReadOnlyAccess 权限。使用预设 QcloudCFSReadOnlyAccess ,授予协作者或子用户所有 CFS 资源的只读、VPC 及子网的查询权限,策略语法如下:
{ "version": "2.0", "statement": [ { "action": [ "cfs:Describe*" ], "resource": "*", "effect": "allow" }, { "action": [ "vpc:DescribeVpcEx", "vpc:DescribeSubnetEx" ], "resource": "*", "effect": "allow" } ]}
四、自定义策略
自定义策略能够更加灵活为用户授权,访问管理控制台提供了多种生成策略的方式。
下面以 【按策略生成器创建】 为例,介绍如何新建一个自定义策略(其他方式请参见 策略 文档)。策略生成器页面提供了可视化的策略配置,你只需通过参数的选择,便可自动生成策略代码,适合初次接触 CAM 授权的用户。在 策略管理控制台 策略页面,选择新建自定义策略 > 按策略生成器创建,在新建策略页面,使用策略生成器,可以在一个自定义策略中添加多条声明,配置说明如下:
| 参数 | 对应策略参数 | 选项及效果 |
| 效果 | Effect | 允许或禁止 |
| 服务 | Service | 此处选择文件存储 |
| 操作 | Action | 文件存储支持的所有操作类型 |
| 资源 | Resource | 通过六段式语法写入规则如下:文件存储的所有资源写法为*指定地区的所有资源写法为qcs::cfs:ap-guangzhou::*指定用户下所有地区所有资源写法为qcs::cfs::uin/27700000:*指定用户下指定地区所有文件系统写法为qcs::cfs:ap-guangzhou:uin/27700000:filesystem/*指定用户下指定用户组系统写法为qcs::cfs::uin/27700000:pgroup/pgroup-doxpcqh注意:策略中的 UIN 必须为主账号 UIN(后面的文件系统或权限组资源必须属于该主账号)。使用自动策略生成器,相关的对应关系如下:服务:仅可填写 cfs地域:根据实际需要,在下拉框中选择即可账户:会默认填写当前账户信息,如若未生成可以填写 uin/xxxxxxx,其中 xxx 为 uin资源前缀:可填写 filesystem、snap、resource。分别代表文件系统实例、快照实例、资源单位包实例资源:填写对应的资源 ID,如 cfs-xxxxx |
| 条件 | Condition | 在何种条件下,该策略生效,设置方法请参见 生效条件 |
其中,CFS 各个接口、接口功能及授权时注意事项在如下列出,可以根据下列说明,配置资源选项。
| 接口类别 | 接口名称 | 接口描述 | 权限类型 | 注意事项 |
| 服务接口 | SignUpCfsService | 开通 CFS 服务 | 写权限 | 授权该接口无需指定资源 |
| | DescribeCfsServiceStatus | 查询 CFS 服务开通状态 | 读权限 | 授权该接口无需指定资源 |
| 文件系统接口 | DescribeCfsFileSystems | 列出文件系统 | 读权限 | 授权该接口需指定资源为* |
| | CreateCfsFileSystem | 创建文件系统 | 写权限 | 授权该接口无需指定文件系统资源 |
| | UpdateCfsFileSystemName | 更新文件系统名称 | 写权限 | 授权该接口需要指定文件系统资源 |
| | UpdateCfsFileSystemPGroup | 更新文件系统的权限组 | 写权限 | 授权该接口需要指定文件系统资源 |
| | UpdateCfsFileSystemSizeLimit | 更新文件系统配额 | 写权限 | 授权该接口需要指定文件系统资源 |
| | DeleteCfsFileSystem | 删除文件系统 | 写权限 | 授权该接口需要指定文件系统资源 |
| | DescribeMountTargets | 查询挂载点 | 读权限 | 授权该接口需要指定文件系统资源 |
| | AddMountTarget | 创建挂载点 | 写权限 | 授权该接口需要指定文件系统资源 |
| | DeleteMountTarget | 删除挂载点 | 写权限 | 授权该接口需要指定文件系统资源 |
| 权限组接口 | DescribeCfsPGroups | 列出权限组 | 读权限 | 授权该接口需指定资源为* |
| | CreateCfsPGroup | 创建权限组 | 写权限 | 授权该接口无需指定资源 |
| | UpdateCfsPGroup | 更新权限组信息 | 写权限 | 授权该接口需要指定权限组资源 |
| | DeleteCfsPGroup | 删除权限组 | 写权限 | 授权该接口需要指定权限组资源 |
| | DescribeCfsRules | 列出权限组规则 | 读权限 | 授权该接口需要指定权限组资源 |
| | CreateCfsRule | 创建权限组规则 | 写权限 | 授权该接口需要指定权限组资源 |
| | UpdateCfsRule | 更新权限组规则信息 | 写权限 | 授权该接口需要指定权限组资源 |
| | DeleteCfsRule | 删除权限组规则 | 写权限 | 授权该接口需要指定权限组资源 |
| 密钥相关接口 | DescribeKmsKeys | 查询 KMS 密钥 | 读权限 | 授权该接口需指定资源为* |
注意:由于 CFS 文件系统使用 VPC下的 IP,在创建文件系统、打印CFS 文件系统列表、查询文件系统详情等页面中,需要获取 "vpc:DescribeVpcEx" 及 "vpc:DescribeSubnetEx" 接口的权限(即不授予权限则无法查询和创建)。强烈建议你对所有授权 CFS 的策略中增加这两个接口,以便获得对 VPC 下所有资源的授权。策略语法可参考上方 CFS 全读写策略 QcloudCFSFullAccess 和 CFS 只读策略 QcloudCFSReadOnlyAccess 中 action 部分。
上述参数设置完成后,单击添加声明,则为该自定义策略添加了一条声明。你可以重复上述操作,添加多条声明。若有重复或冲突的策略,它们之间的关系及生效结果请参见 语法结构。策略的写法格式如下,每个策略中可以有多条声明(statement)。
{ "version": "2.0", "statement": [{ "effect": "Effect", "action": [ "Action" ], "resource": "Resource" }]}
例如,禁止用户对某几个文件系统执行删除及更新配额操作的权限策略语法。
{ "version": "2.0", "statement": [{ "effect": "deny", "action": [ "name/cfs:DeleteCfsFileSystem", "name/cfs:UpdateCfsFileSystemSizeLimit" ], "resource": [ "qcs::cfs::uin/27700000:filesystem/cfs-11111111", "qcs::cfs::uin/27700000:filesystem/cfs-22222222", "qcs::cfs::uin/27700000:filesystem/cfs-33333333" ] }]}
五、为用户/用户组授权
如果是选择系统提供的权限,则可以直接在策略列表搜索到 QcloudCFSFullAccess 或 QcloudCFSReadOnlyAccess 或者是其他自定义策略后,在列表右侧的操作栏里单击关联用户/组/角色,在弹出的窗口中查找并勾选需要被授权的用户或用户组,最后单击确定完成授权。
六、取消用户/用户组授权
如需取消已授权用户的权限,可在对应策略详情页的关联用户/组/角色列表中,勾选需要取消授权的用户/用户组,然后单击解除用户/用户组/角色,确认解除授权后,该用户/用户组将失去操作 CFS 资源的权限。