更新时间:2024-10-23 GMT+08:00
分享

OBS分配和授权

创建OBS桶目录

  1. 使用账号登录智能云管理平台,选择“存储 > 对象存储服务 3.0”,进入对象存储服务界面。
  2. 选择左侧导航栏的“并行文件系统”,进入并行文件系统控制台。
  3. 单击界面右上角的“创建并行文件系统”,进入创建页面。
  4. 根据OBS目录架构(如下图所示),设置并行文件系统的区域和名称,配置策略为“私有”。

    图1 OBS目录架构
    • 并行文件系统创建成功后,不能修改名称,请提前规划合适的名称。
    • 由于通过URL访问并行文件系统时,名称会作为URL的一部分,根据DNS标准,URL不支持大写字母,无法区分带大写字母的并行文件系统。因此,名称仅支持小写字母、数字、“-”、“.”。例如:若想通过URL访问名为“MyFileSystem”的文件系统,该URL将解析成名为“myfilesystem”的文件系统,导致访问出错。

创建OBS细粒度权限角色和委托

在为集群配置全局委托后可继续配置单独的OBS权限映射关系,对个别用户或用户组配置细粒度的OBS访问权限策略。

  • 配置IAM权限策略

    通过配置IAM POLICY,可以更细粒度的控制用户对不同OBS桶目录的访问权限。

    1. 创建IAM策略。使用浏览器,以VDC管理员账号登录智能云管理平台。
    2. 单击主菜单的“系统”。单击“权限管理 > 角色管理 > 创建角色”。
    3. 参考表1填写参数。
      表1 OBS IAM权限策略参数

      参数类别

      参数名称

      说明

      基本信息

      名称

      角色名称,如dev_shdg_phjr_obs_role(开发利用方A接入)

      作用范围

      全局服务

      描述

      对于所创建角色的描述。

      授权配置方

      JSON视图

      以JSON形式展开

      JSON视图

      JSON视图

      如需添加针对特定资源的细粒度权限(例如指定的OBS目录),需使用JSON视图进行配置。

      JSON样例如下,在“Resource”配置中手动指定特定资源。

      • Effect(作用)
      • Action(授权项)
      • Resource(资源)

      OBS只有两种资源类型:bucket和object,设置特定目录资源时,“object”需同时配置当前目录以及通配符。

      例如设置“/tmp”目录的权限,需要同时配置“obs_bucket_name/tmp/”、“obs_bucket_name/tmp/*”的权限。其他目录权限请参考以下样例进行配置,对应目录及该目录下所有对象的资源路径。

      指定目录所有策略示例:

      GetObject:获取对象内容、获取对象元数据

      ListMultipartUploadParts:列举已上传的段

      ListBucket:列举桶内对象

      PutObject:PUT上传、POST上传、复制对象、追加写对象、初始化上传段任务、上传段、合并段

      DeleteObject:删除对象、批量删除对象

      {

      "Version": "1.1",

      "Statement": [

      {

      "Effect": "Allow",

      "Action": [

      "obs:object:PutObject",

      "obs:object:DeleteObject",

      "obs:object:GetObject",

      "obs:object:ListMultipartUploadParts",

      "obs:bucket:ListBucket"

      ],

      "Resource": [

      "obs:*:*:object:mrs-obs/obs_dev_tianji_mrs/d_op_dev_shdg/shdg_phjr_hive_dev",

      "obs:*:*:object:mrs-obs/obs_dev_tianji_mrs/d_op_dev_shdg/shdg_phjr_hive_dev/*",

      "obs:*:*:object:mrs-obs/user/omm/.Trash",

      "obs:*:*:object:mrs-obs/user/omm/.Trash/*",

      "obs:*:*:object:mrs-obs/user/hive/.Trash",

      "obs:*:*:object:mrs-obs/user/hive/.Trash/*",

      "obs:*:*:object:mrs-obs/user/datagroup_dev_admin/.Trash",

      "obs:*:*:object:mrs-obs/user/datagroup_dev_admin/.Trash/*",

      "obs:*:*:bucket:mrs-obs"

      ]

      }

      ]

      }

      指定目录只读策略示例:

      {

      "Version": "1.1",

      "Statement": [

      {

      "Effect": "Allow",

      "Action": [

      "obs:object:GetObject",

      "obs:bucket:ListBucket"

      ],

      "Resource": [

      "obs:*:*:object:mrs-obs/obs_dev_tianji_mrs/d_op_dev_shdg/shdg_dwd_dev",

      "obs:*:*:object:mrs-obs/obs_dev_tianji_mrs/d_op_dev_shdg/shdg_dwd_dev/*",

      "obs:*:*:object:mrs-obs/user/omm/.Trash",

      "obs:*:*:object:mrs-obs/user/omm/.Trash/*",

      "obs:*:*:object:mrs-obs/user/hive/.Trash",

      "obs:*:*:object:mrs-obs/user/hive/.Trash/*",

      "obs:*:*:object:mrs-obs/user/datagroup_dev_admin/.Trash",

      "obs:*:*:object:mrs-obs/user/datagroup_dev_admin/.Trash/*",

      "obs:*:*:bucket:mrs-obs"

      ]

      }

      ]

      }

      Hive用户在配置OBS委托策略时,不仅需要配置对应OBS目录的访问权限,还需要配置用户回收站目录的操作权限。详见配置组件回收清理策略章节。

      用户回收站目录:

      "obs:*:*:object:mrstest/user/omm/.Trash",

      "obs:*:*:object:mrstest/user/omm/.Trash/*",

      "obs:*:*:object:mrstest/user/hive/.Trash",

      "obs:*:*:object:mrstest/user/hive/.Trash/*",

      "obs:*:*:object:mrstest/user/<新增的业务用户>/.Trash",

      "obs:*:*:object:mrstest/user/<新增的业务用户>/.Trash/*"

    1. 单击“确认”保存策略。
  • 将角色绑定至IAM委托。
    1. 创建委托,委托类型选择"普通账号",输入被委托方租户名称;
      图2 创建委托
    2. 拥有权限选择"自定义角色",勾选创建的"自定义角色"。委托与角色映射关系详见表2
      图3 自定义角色
      表2 IAM POLICY和委托映射关系

      场景

      IAM自定义角色

      自定义角色用途

      绑定委托

      映射用户组

      运营平台运营方-开发测试组

      develop_access_obs_role

      运营平台开发接入库-所有

      develop_access_obs_agency

      dev_access_group

      produce_access_obs_role

      运营平台生产接入库-所有

      produce_access_obs_agency

      prod_access_group

      普惠金融场景-开发测试组(举例)

      develop_datagroup_obs_role

      普惠金融开发融合库-所有

      develop_datagroup_obs_agency

      datagroup_dev_group

      tianji_access_dev_readonly

      运营平台开发接入库-只读

      produce_datagroup_obs_role

      普惠金融生产融合库-所有

      produce_access_obs_agency

      datagroup_prod_group

      tianji_access_prod_readonly

      运营平台生产接入库-只读

配置组件回收清理策略

由于OBS回收站目录是以用户维度进行创建,当MRS集群内新创建了用户且该用户具备组件数据的删除权限时,也需要参考本章节配置新用户的回收站目录清理策略。

  • 配置用户回收站目录

    除了MRS集群预置用户所涉及的回收站目录外(例如“user/omm/.Trash”,参考表3),对于其他新增的有防误删需求的用户,同样需要为其配置回收站目录:user/<用户名>/.Trash。

    1. 配置当前用户所对应的OBS委托策略,至少包含了以下目录的操作权限,若未配置可参考创建OBS细粒度权限角色和委托进行操作;

      – user/omm/.Trash

      – user/hive/.Trash

      – user/<新增的业务用户>/.Trash

    2. 以VDC管理员或VDC业务员账号登录智能云管理平台运营面-服务列表-存储-对象存储服务 3.0,选择“并行文件系统>文件系统>user”;
    3. 对应的“.Trash”文件夹若不存在需使用omm用户通过集群客户端手动创建。

      例如执行以下命令:hdfs dfs -mkdir obs://OBS并行文件系统名称/文件夹路径

  • 配置 OBS 目录生命周期规则
    1. 手动创建MRS集群新增用户所涉及的回收站目录(如“user/datagroup_dev_admin/.Trash”,具体操作参考配置用户回收站目录中步骤);
    2. 单击当前MRS集群使用的文件系统名称-生命周期规则-创建-填写参数-确定:
    表3 配置用户回收站目录

    参数名称

    描述

    示例

    状态

    是否启用本条生命周期规则。

    启用

    规则名称

    规则名称,可自定义,用于识别不同的生命周期配置。

    rule-mrs-trash

    策略

    策略配置范围。

    • 按前缀配置:满足指定前缀的对象将受生命周期规则管理,输入的对象前缀不能包括\:*?"<>|特殊字符,不能以/开头,不能两个/相邻。
    • 配置到整个文件系统:文件系统内所有对象都将受生命周期规则管理。

    说明

    为防止其他业务数据被误删除,不建议使用配置到整个文件系统或者层级较高的目录的生命周期规则。

    按前缀配置

    前缀

    生命周期规则适用的对象前缀,MRS集群组件数据回收站目录通常为如下路径,该文件夹若不存在,需提前手动创建。

    user/<用户名>/.Trash

    user/omm/.Trash

    过期删除/天数

    策略配置范围内的对象最后一次更新后时间达到指定的天数后,对象将过期并自动被OBS删除。

    30天

相关文档