场景描述:Jack是项目空间prj1的管理员,一个新加入的项目组成员Alice(已拥有云账号:
alice@aliyun.com)申请加入项目空间prj1,并申请如下权限:查看Table列表,提交作业,创建表。
操作步骤:(由项目空间管理员来操作) use prj1;add user aliyun$
alice@aliyun.com; --添加用户grant List, CreateTable, CreateInstance on project prj1 to user aliyun$
alice@aliyun.com; --使用grant语句对用户授权
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
根据您的场景描述,Jack作为项目空间prj1的管理员,需要通过一系列操作来满足新成员Alice的权限需求。您已经正确地概述了基本的操作步骤,但请注意,在MaxCompute(原名ODPS)中,权限管理的具体语法和命令可能与您提供的略有不同。下面是根据MaxCompute权限管理实践调整后的操作步骤:
首先,确保Jack用户登录并切换到了正确的项目空间prj1
。这一步您已经正确指出,使用命令:
use prj1;
在MaxCompute中,直接添加用户的命令格式稍有不同,通常不需要前缀aliyun$
,直接使用用户的云账号邮箱即可。所以,添加Alice到项目空间的命令应为:
add user alice@aliyun.com;
接下来,为了满足Alice的权限需求,即查看Table列表、提交作业、创建表,我们需要分别授予相应的权限。在MaxCompute中,权限分配是基于角色的,因此最接近的实践是将预定义或自定义角色赋予用户。不过,按照您的要求,我们可以尝试直接使用grant语句,尽管实际中可能更推荐通过角色来管理权限。
select
权限隐式包含的,因为浏览表信息属于数据查询的一部分。CreateInstance
来近似实现,它允许用户创建执行实例,包括SQL任务等。CreateTable
权限。因此,结合这些需求,正确的授权命令可能是:
grant read on project prj1 to user alice@aliyun.com; -- 允许查看Table列表(read权限包含了查看元数据)
grant CreateInstance on project prj1 to user alice@aliyun.com; -- 允许提交作业
grant CreateTable on project prj1 to user alice@aliyun.com; -- 允许创建表
请注意,上述read
权限是为了满足查看Table列表的需求,但在实际操作中,具体权限配置可能会根据组织的安全策略有所不同,且MaxCompute的权限模型可能有所更新,请参考最新的官方文档进行操作。
请确保遵循阿里云MaxCompute的最新文档指导进行操作,特别是关于权限管理和用户管理的部分,因为平台功能和命令可能会随时间而更新。如果在操作过程中遇到任何问题,建议直接查阅阿里云MaxCompute的官方帮助文档或联系阿里云客服获取帮助。