背景
项目开发过程中,测试和开发需要查询生产环境表,来进行测试或者定位线上问题。按照流程,需要在【安全中心】申请表权限,然后项目管理员审批。该流程繁琐,影响测试和问题定位效率。所以,这篇文章教大家如何配置权限,一劳永逸地解决申请权限的问题。
配置步骤
1. 准备一个权限适当的 DataWorks 账号(不建议使用个人开发账号)
· 使用项目管理员账号,进入 DataWorks Web IDE 页面,点击右上角的扳手,进入【工作管理空间】页面,如下图:
· 点击左侧菜单【MaxCompute高级配置】
· 在【MaxCompute 项目选择】处选择生产环境,然后点击【自定义用户角色】
· 然后给准备好的账号添加 admin 角色
· 账号权限配置完成
2. 使用该账号配置 odpscmd
odpscmd 的介绍及配置参见 阿里云文档
3. 准备一个授权策略文件
{
“Version”: “1”,
“Statement”: [
{
“Effect”:“Allow”,
“Action”: [
“odps:CreateInstance”,
“odps:List”
],
“Resource”:“acs:odps:*:projects/project_name”
},
{
“Effect”:“Allow”,
“Action”:[“odps:Select”],
“Resource”:“acs:odps::projects/project_name/tables/”
}
]
}
假设保存到 /Users/xingzhi/Desktop/table_read_only_policy.json 文件内
4. 进入到 odpscmd 命令行,开始配置
\1. 创建只读表角色
odps@ project_name>use project_name;
odps@ project_name>create role table_read_only;
\2. 设置该角色的策略
odps@ project_name>put policy /Users/xingzhi/Desktop/table_read_only_policy.json on role table_read_only;
\3. 给需要授权的用户添加该角色
odps@ project_name>grant table_read_only to RAM$svwsx:sa-dt-yeyl;
5. **配置成功,**enjoy it
ect_name>grant table_read_only to RAM$svwsx:sa-dt-yeyl;
5. **配置成功,**enjoy it