OSS数据权限隔离

本文介绍如何使用访问控制RAM(Resource Access Management),对不同子账号的OSS数据进行隔离。

操作步骤

  1. 云账号登录RAM控制台

  2. 创建RAM用户。

  3. 新建权限策略。

    1. 在左侧导航栏中,权限管理 > 权限策略管理

    2. 单击创建权限策略。

    3. 填写策略名称

    4. 选择脚本配置

      脚本配置方法请参见语法结构编辑策略内容。 本例分别按照以下两个脚本示例来创建两个权限策略:

      测试环境(test-bucket)

      生产环境(prod-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/*"
      ]
      }
      ]
      }
      {
      "Version": "1",
      "Statement": [
      {
      "Effect": "Allow",
      "Action": [
        "oss:ListBuckets"
      ],
      "Resource": [
        "acs:oss:*:*:*"
      ]
      },
      {
      "Effect": "Allow",
      "Action": [
        "oss:Listobjects",
        "oss:GetObject",
        "oss:PutObject"
      ],
      "Resource": [
        "acs:oss:*:*:prod-bucket",
        "acs:oss:*:*:prod-bucket/*"
      ]
      }
      ]
      }

      按上述脚本示例进行权限隔离后,RAM用户在Databricks 数据洞察控制台的权限如下:

      1. 在创建集群、创建作业和创建工作流的OSS文件页面,可以看到所有的bucket,但是只能进入被授权的bucket。

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

      3. 作业中只能读写被授权的bucket,读写未被授权的bucket会报错。

  4. 为RAM授权

    1. 单击左侧导航栏的人员管理 > 用户

    2. 单击待授权RAM用户所在行的添加权限

    3. 单击需要授予RAM用户的权限策略,单击确定

    4. 单击完成。完成授权后,权限立即生效。