开发者社区 问答 正文

E-MapReduceOSS 数据权限隔离是什么?



操作步骤


E-MapReduce 支持使用 RAM 来隔离不同子账号的数据。操作步骤如下所示:


  1. 登录阿里云RAM 的管理控制台

  2. 在RAM中创建子账号,具体流程请参见如何在RAM 中创建子账号

  3. 单击阿里云RAM 的管理控制台页面左侧的授权策略管理,进入授权策略管理界面。

  4. 单击自定义授权策略

  5. 单击页面右上方的 新建授权策略按钮,即进入创建授权策略界面,然后按照提示步骤进行创建。您需要多少套不同的权限控制,就创建多少个策略。
    假设您需要以下 2 套数据控制策略:

    • 测试环境, bucketname:test-bucket。其所对应的完整策略如下:{
    • "Version": "1",
    • "Statement": [
    • {
    • "Effect": "Allow",
    • "Action": [
    •   "oss:ListBuckets"
    • ],
    • "Resource": [
    •   "acs:oss:*:*:*"
    • ]
    • },
    • {
    • "Effect": "Allow",
    • "Action": [
    •   "oss:Listobjects",
    •   "oss:GetObject",
    •   "oss:PutObject",
    •   "oss:DeleteObject"
    • ],
    • "Resource": [
    •   "acs:oss:*:*:test-bucket",
    •   "acs:oss:*:*:test-bucket/*"
    • ]
    • }
    • ]
    • }

  • 生产环境, bucketname:prod-bucket。其所对应的完整策略如下:
    1. {
    2. "Version": "1",
    3. "Statement": [
    4. {
    5. "Effect": "Allow",
    6. "Action": [
    7.   "oss:ListBuckets"
    8. ],
    9. "Resource": [
    10.   "acs:oss:*:*:*"
    11. ]
    12. },
    13. {
    14. "Effect": "Allow",
    15. "Action": [
    16.   "oss:Listobjects",
    17.   "oss:GetObject",
    18.   "oss:PutObject"
    19. ],
    20. "Resource": [
    21.   "acs:oss:*:*:prod-bucket",
    22.   "acs:oss:*:*:prod-bucket/*"
    23. ]
    24. }
    25. ]
    26. }

    单击阿里云RAM 的管理控制台页面左侧的用户管理
    找到需要将策略赋给的子账号条目,单击其右侧的管理按钮,进入用户管理页面。
    单击页面左侧的用户授权策略
    单击右上角的编辑授权策略按钮,进入策略授权页面。
    选择并添加授权策略。
    单击确定,完成对子账号的策略授权。
    单击用户管理页面左侧的用户详情,进入子账号的用户详情页面。
    在 Web 控制台登录管理栏中,单击启用控制台登录,以打开子账号的登录控制台的权限。

    完成并使用


    完成以上所有步骤以后,使用对应的子账号登录 E-MapReduce,会有以下限制:

    • 在创建集群、创建作业和创建执行计划的 OSS 选择界面,可以看到所有的 bucket,但是只能进入被授权的 bucket。

    • 只能看到被授权的 bucket 下的内容,无法看到其他 bucket 内的内容。

    • 作业中只能读写被授权的 bucket,读写未被授权的 bucket 会报错。
  • 展开
    收起
    nicenelly 2017-10-30 14:56:59 1650 分享 版权
    阿里云 AI 助理回答

    您已经详细描述了使用阿里云RAM(Resource Access Management)来为E-MapReduce服务的子账号设置不同数据权限控制的操作步骤。这个过程主要涉及创建子账号、定义授权策略、将策略分配给子账号,以及最终在E-MapReduce中应用这些权限限制。下面是对您操作步骤的一个简要总结和补充说明:

    1. 创建子账号

      • 登录阿里云RAM管理控制台。
      • 按照指引创建新的子账号,确保每个子账号对应不同的职责或环境需求(如测试环境、生产环境)。
    2. 设计并创建授权策略

      • 在RAM控制台的“授权策略管理”界面,新建自定义授权策略。
      • 为不同环境(例如测试与生产)设计特定的OSS(Object Storage Service)访问策略。您已提供了两个示例策略,分别针对test-bucketprod-bucket,允许列出桶、列出对象、获取、上传和删除对象等操作。
      • 确保策略中的Action、Resource等配置正确无误,以精确控制子账号的权限范围。
    3. 分配策略给子账号

      • 在“用户管理”页面找到相应的子账号,点击“管理”进入其详情页。
      • 在“用户授权策略”部分编辑该用户的策略,添加之前创建的相应环境的授权策略。
      • 确认更改,完成策略的分配。
    4. 启用子账号的Web控制台登录

      • 在子账号的详情页面,开启“启用控制台登录”,以便子账号能够登录阿里云控制台进行操作。
    5. E-MapReduce中的权限体现

      • 使用子账号登录E-MapReduce后,系统会根据分配的RAM策略自动实施权限控制。
      • 子账号在创建集群、作业或执行计划时,只能看到并操作被授权的OSS bucket及其内容。
      • 任何尝试访问未授权bucket的操作都将失败,从而实现了环境间的数据隔离和安全控制。

    通过上述步骤,您可以有效地利用阿里云RAM实现对E-MapReduce服务中子账号权限的精细化管理,确保不同环境的数据安全性和访问合规性。这不仅提升了系统的安全性,也便于团队成员按照各自的职责范围高效协作。

    有帮助
    无帮助
    AI 助理回答生成答案可能存在不准确,仅供参考
    0 条回答
    写回答
    取消 提交回答