一、实验概述
大数据计算服务(MaxCompute,原名 ODPS)是一种快速、完全托管的 GB/TB/PB 级数据仓库解决方案。MaxCompute 向用户提供了完善的数据导入方案以及多种经典的分布式计算模型,能够更快速的解决用户海量数据计算问题,有效降低企业成本,并保障数据安全。
本实验结合实际场景案例,演示如何对MaxCompute的权限及安全进行操作。
二、实验目标
本实验通过客户端方式进行实验,掌握如何对MaxCompute的权限及安全进行操作。
完成此实验后,可以掌握的能力有:
1. A用户授权给B用户; 2. 角色管理与授权; 3. 鉴权模型查看与管理; 4. 基于标签的安全控制; 5. 跨项目空间的资源分享; 6. 项目空间保护;
三、学习建议
1. 掌握如何对MaxCompute的权限及安全进行操作; 2. 提前安装 ODPS客户端(下载客户端软件)
第 1 章:实验准备
1.1 申请MaxCompute资源
在弹出的左侧栏中,点击 创建资源 按钮,开始创建实验资源。
资源创建过程需要1-3分钟。完成实验资源的创建后,用户可以通过 实验资源 查看实验中所需的资源信息,例如:阿里云账号等。
1.2 准备测试账号
该实验需要和其他同学配合完成,请找到一个可以和你互相配合的同学,下文中会提到A用户、B用户,其中A用户即为你本人使用的阿里云的账号,B用户为和你配合的同学的阿里云账号;
实验中两个账户均使用的是阿里云主账号(或者具有项目admin权限的用户),可在两台电脑中登录,亦或使用同一台电脑里两个不同的浏览器打开,或一个使用浏览器打开,另一个使用odpscmd客户端;
为方便区别相关的账号操作,下述实验过程中A账号的操作记录均采用的命令行的方式进行操作截图,账号B的操作记录均使用页面浏览器的操作截图;
实验中的配置文件、文件路径、账号、项目名称、授权表等,均需根据具体的项目进行修改。
1.3 资源环境准备
1)请点击页面左侧的实验资源,在左侧栏中,查看本次实验资源信息。如图案例:
2)点击“实验资源”,查看所需具体资源,如图案例:
3)在弹出的左侧栏中,点击 创建资源 按钮,开始创建实验资源。
注意:由于实验环境一旦开始创建则进入计时阶段,建议学员先基本了解实验具体的步骤、目的,真
4)创建资源,如图案例:(创建资源需要几分钟时间,请耐心等候……)资源创建成功,如图案例:(注意资源中的项目名称、子用户名称、子用户密码、AK ID、AK Secret信息)
1.4 进入实验环境
1、登录控制台
1)点击“前往控制台”
注意:此实验界面为使用者提供了进入实验的用户名称,如 u-bcofvgpr 以及登录密码,请先记录下来,密码需要鼠标点击直接拷贝下来,以及使用其他工具的 AK ID 以及 AK Secret 秘钥对 ,项目名称等信息。将AK ID 和 AK Secret配置在安装的客户端的配置文件中。
2)输入用户名
3)点击下一步,输入密码:(刚才实验环境创建时所提供)
4)进入控制台界面
5) 点击 “大数据(数加)”进入大数据开发控制台
6) 点击”大数据开发套件”进入工作区界面
7)点击“进入工作区”,进入工作环境(首次进入显示每个菜单的帮助信息)
8) 点击“跳过”或逐个菜单看看,最终显示
9)点击“新建脚本”设置实验临时文件
10)设置文件名称、类型(选择ODPS SQL)、描述信息(建议非必须)、文件保存目录信息,点击“提交”进入SQL操作环境
2、配置客户端
1)如果为提前安装客户端,请参考下面网址进行安装:
(https://help.aliyun.com/document_detail/27971.html?spm=5176.doc27834.6.730.xbOX5m)
3)解压安装
4)配置客户端文件,在XXX(个人目录)\odpscmd_public\conf\,打开文件 odps_config.ini,修改配置信息;即将上述实验资源中提供的AK ID 以及 AK Secret 和项目名称分别填写在上述配置文件中,其他信息不变,如图:
5) 检查测试即通过命令行,进入\ODPS_DEMO\odpscmd_public\bin\,执行 odpscmd,进入交互界面,确认安装是否配置成功。案例如图:
执行后进入如下界面:(测试案例项目为bigdata_train)
6) 通过创建一个数据表测试:
------输入语句创建表dual create table dual (X string); ------数据表中插入一条记录并检查 insert into table dual select count(*) from dual;
------检查插入结果
select * from dual;
1.5 安装配置最新odpscmd 客户端
步骤1:客户端介质下载 (参考地址)
https://help.aliyun.com/document_detail/27971.html?spm=5176.doc27833.2.1.b6nngs
步骤2:解压odpscmd_public.zip 到本目录,如:解压至本地目录 E:\ ODPS_DEMO \odpscmd_public
步骤3:查看本次实验课用到的介质,可以看到如下的文件夹:
步骤4:在conf文件夹中有odps_config.ini文件。编辑此文件,填写相关信息:
project_name=<自己的项目名称> access_id=<自己的项目生成的访问ID , www.aliyun.com网站上申请到的access_id> access_key=<自己的项目生成的访问ID的密钥信息,即 www.aliyun.com网站上申请access_key> end_point=http://service.odps.aliyun.com/api (tunnel JAVA SDK 需要) tunnel_endpoint=http://dt.odps.aliyun.com (tunnel JAVA SDK 需要) log_view_host=http://logview.odps.aliyun.com (默认) https_check=true (默认)
注意: [在申请资源部分可获取实验所需的项目名称、所需的access_id(AK ID) 、access_key(AK Secre)等信息 ] 如下图开通资源后所示:步骤5:修改好配置文件后运行bin目录下的odpscmd(在Linux系统下是./bin/odpscmd,Windows下运行./bin/odpscmd.bat),现在可以运行 MaxCompute 命令,如:
注意:项目可以随时根据情况切换,上图表示环境设置成功.
将 E:\ODPS_DEMO\odpscmd_public\bin 加入环境变量 PATH,方便通过命令行调用 odpscmd
第 2 章:实验内容
####2.1 实验:A用户授权给B用户
提示:本章节所需操作均需使用阿里云主账号或者具有项目admin权限的用户进行实验,实验环境需在各阿里云主账号对应的项目中进行。
本实验中,所使用的配置文件、文件路径、账号、项目名称、授权表等,均需根据具体的项目进行修改,如下新建的几张表主要作用于演示。
新建表:
----新建DUAL
CREATE TABLE DUAL ( ID BIGINT );
----新建T_TEST
CREATE TABLE T_TEST ( ID STRING );
----新建T_TUNNEL
CREATE TABLE T_TUNNEL ( ID STRING );
----新建T_TUNNEL_P
CREATE TABLE T_TUNNEL_P ( ID STRING, NAME STRING, ADRESS STRING, PHONE STRING, EMAIL STRING );
1、登录odpscmd客户端,查看当前项目中用户权限情况:
show grants;
2、将用户B加入到当前项目空间中来:
add user ALIYUN$huiongshan@126.com;
3、将表dual的访问权限赋予用户B:
grant select, describe on table dual to user ALIYUN$huiongshan@126.com;
4、查看B用户拥有的权限:
show grants for ALIYUN$huiongshan@126.com;
5、使用用户B去访问表 Lab_class.dual:
select * from Lab_class.dual;
6、用户A将用户B从项目中移除:
remove user ALIYUN$huiongshan@126.com;
7、使用用户B去访问表 Lab_class.dual,此时访问报错:
select * from Lab_class.dual;
8、查看B用户拥有的权限:
show grants for ALIYUN$huiongshan@126.com;
9、用户A将用户B加入到当前项目空间中来:
add user ALIYUN$huiongshan@126.com;
10、使用用户B去访问表 Lab_class.dual,成功,原有权限自动生效:
select * from Lab_class.dual;
11、用户A收回B用户对dual表的读的权限:
revoke select,describe on table dual from user ALIYUN$huiongshan@126.com;
12、再使用用户B进行查询,发现报错:
select * from Lab_class.dual;