场景描述:Jack是项目空间prj1的管理员,有三个新加入的项目组成员:Alice, Bob, Charlie,他们的角色是数据审查员。他们要申请如下权限:查看Table列表,提交作业,读取表userprofile。
对于这个场景的授权,项目空间管理员可以使用基于对象的
ACL授权 机制来完成。
操作方法: use prj1;add user aliyun$
alice@aliyun.com; --添加用户add user aliyun$
bob@aliyun.com;add user aliyun$
charlie@aliyun.com;create role tableviewer; --创建角色grant List, CreateInstance on project prj1 to role tableviewer; --对角色赋权grant Describe, Select on table userprofile to role tableviewer;grant tableviewer to aliyun$
alice@aliyun.com; --对用户赋予角色tableviewergrant tableviewer to aliyun$
bob@aliyun.com;grant tableviewer to aliyun$
charlie@aliyun.com;
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在您的场景描述中,您正确地指出了项目空间管理员Jack可以使用阿里云MaxCompute的基于对象的ACL(Access Control List)授权机制来为新加入的成员Alice、Bob和Charlie分配所需的权限。不过,有一点需要注意的是,MaxCompute实际上采用的是Policy-Based Access Control (PBAC)模型,通过Policy(策略)来进行细粒度的权限管理,而非直接使用ACL术语。但您的操作思路与MaxCompute的实际操作流程是相匹配的,只是表述上稍有差异。下面是根据您的需求调整后的、更符合MaxCompute实践的操作指南:
prj1
的管理员,需要为新成员Alice、Bob、Charlie(数据审查员角色)授权,使他们能够查看Table列表、提交作业,并读取表userprofile
。登录MaxCompute客户端或使用DataWorks: 首先,确保Jack已登录到MaxCompute客户端或者在DataWorks中打开了相应的项目空间prj1
。
添加用户: 由于MaxCompute通常集成在阿里云账号体系内,用户通过阿里云账号体系添加,实际操作中不需要在MaxCompute命令行直接执行add user
命令。假设Alice、Bob、Charlie已经拥有阿里云账号并被添加至组织结构中,接下来直接进行角色创建和赋权即可。
创建角色并赋予权限:
data_reviewer
的角色,以适应他们的职责。
CREATE ROLE data_reviewer;
List
和CreateInstance
权限对应查看Table列表和提交作业,但可以通过其他方式实现类似功能。对于查看Table列表,实际上所有项目成员默认可查看,无需特别授权;对于提交作业,只要有SELECT
等基本权限即可。GRANT DESCRIBE, SELECT ON TABLE userprofile TO ROLE data_reviewer;
将角色赋予用户:
data_reviewer
角色分别赋予Alice、Bob、Charlie。在MaxCompute中,这一步骤不是直接通过邮箱地址完成,而是假定这些用户已经在阿里云账号体系下与项目空间关联。
GRANT ROLE data_reviewer TO USER alice;
GRANT ROLE data_reviewer TO USER bob;
GRANT ROLE data_reviewer TO USER charlie;
prj1
中,这是进行角色授权的前提。以上步骤应能满足您的需求,确保数据审查员们能顺利开展工作。如果有更具体的权限控制需求或遇到任何问题,建议查阅最新的MaxCompute官方文档或在阿里云控制台操作。