操作步骤
E-MapReduce 支持使用 RAM 来隔离不同子账号的数据。操作步骤如下所示:
登录阿里云RAM 的管理控制台。
在RAM中创建子账号,具体流程请参见如何在RAM 中创建子账号。
单击阿里云RAM 的管理控制台页面左侧的授权策略管理,进入授权策略管理界面。
单击自定义授权策略。
单击页面右上方的
新建授权策略按钮,即进入创建授权策略界面,然后按照提示步骤进行创建。您需要多少套不同的权限控制,就创建多少个策略。
假设您需要以下 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。其所对应的完整策略如下:
-
{
- "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 的管理控制台页面左侧的用户管理。
找到需要将策略赋给的子账号条目,单击其右侧的管理按钮,进入用户管理页面。
单击页面左侧的用户授权策略。
单击右上角的编辑授权策略按钮,进入策略授权页面。
选择并添加授权策略。
单击确定,完成对子账号的策略授权。
单击用户管理页面左侧的用户详情,进入子账号的用户详情页面。
在 Web 控制台登录管理栏中,单击启用控制台登录,以打开子账号的登录控制台的权限。
完成并使用
完成以上所有步骤以后,使用对应的子账号登录 E-MapReduce,会有以下限制:
在创建集群、创建作业和创建执行计划的 OSS 选择界面,可以看到所有的 bucket,但是只能进入被授权的 bucket。
只能看到被授权的 bucket 下的内容,无法看到其他 bucket 内的内容。
作业中只能读写被授权的 bucket,读写未被授权的 bucket 会报错。