MaxCompute元数据使用实践--数据权限统计

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 本文主要介绍通过元数据的相关权限的视图进行数据权限的统计。

前言

MaxCompute的租户级别Information Schema从租户角度提供项目元数据及使用历史数据等信息,您可以一次性拉取您同一个元数据中心下所有Project的某类元数据,从而进行各类元数据的统计分析。我们在此推出系列元数据使用实践文章。

本文主要介绍通过元数据的相关权限的视图进行权限的相关统计。

在此之前,您如果没还使用过租户级别Information Schema,需要您先详细阅读下租户级别Information Schema文档的背景信息、功能介绍、费用介绍、费用介绍、使用限制和注意事项,避免您在使用过程中遇到不必要的问题

成员权限统计清理

场景:离职账号清理

持有某个ram账号的员工离职,需要将对应的ram账号进行注销,注销前需要清理对应的数据权限,否则将会在MaxCompute的权限元数据里留下脏数据影响其他场景的权限审计,因此需要知道这个ram账号都有哪些项目的哪些权限。

处理思路:找到待注销RAM账号都有哪些项目的权限,将账号从项目移除并进行权限彻底清除。需要注意的是要把某个user从项目移除,需先将user从对应项目的role里移除。

  • 查看该账号都有哪些项目的role权限,并清理role权限。通过system_catalog.information_schema.user_roles元数据查找账号都有哪些项目的哪些role的权限。
select * from system_catalog.information_schema.user_roles where user_name='RAM$mc_schema@test.aliyunid.com:hq_schema';

将用户从角色里移除,两种方式:

  • 命令方式移除,命令为
use proejct_name;--进入role所属的project
revoke <role_name> from <user_name>;
  • 界面方式移除,登陆控制台-项目管理-管理-角色权限,进入对应角色的成员管理进行移除user。
  • 查看该账号都是哪些项目的成员,并清理账号,再彻底清除遗留授权数据。通过system_catalog.information_schema.users元数据查看账号都是哪些project的成员。
select * from system_catalog.information_schema.users where user_name='RAM$xxxx:xxxx';
--根据前面查出的结果分别进入对应的project进行用户移除和权限清理。
use project_name;
remove user RAM$xxxx:xxxx;
purge privs from user RAM$xxxx:xxxx;--再进行一次彻底清除其他ACL、Policy、Label等授权数据

管理权限授权合理性审计

project的super_administrator拥有project owner一样的权限,也就是权限非常大;而admin角色也拥有所有数据的查询以及部分管理权限,也是权限很大。因此建议定期审计这两个管理角色权限的授权情况。可以通过system_catalog.information_schema.user_roles元数据查看:

select * from system_catalog.information_schema.user_roles where role_name in ('super_administrator','admin');

结果里如果有user_role_catalog为null表示 租户级别的role。您可以根据结果判断这个这两个role已经授权的user的合理性。

重要数据权限审计

场景:业务核心的表数据,数据访问授权需严谨,建议定期进行权限审计。

如projec_a的table1数据敏感,需要审计目前都有哪些成员有权限查询数据、下载数据、更新数据、删除表的权限,可以通过system_catalog.information_schema.table_privileges元数据进行统计:

SELECT  *
FROM    system_catalog.information_schema.TABLE_PRIVILEGES
WHERE   table_catalog = 'projec_a'
AND     table_name = 'table1'
AND     privilege_type in ('all','select','update','download');

其中privilege_type为 all的表示对表有所有的权限,因此不要漏掉这个权限。

小结

以上只是给出了常见的几个场景,system_catalog.information_schema下还有更多相关权限的元数据信息表可使用,您可以根据自己的场景选用对应的表进行查询。

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps&nbsp;
目录
相关文章
|
1月前
|
存储 机器学习/深度学习 人工智能
数据与生命的对话:当大数据遇上生物信息学
数据与生命的对话:当大数据遇上生物信息学
71 17
|
22天前
|
机器学习/深度学习 存储 分布式计算
数据科学 vs. 大数据:一场“烧脑”但有温度的较量
数据科学 vs. 大数据:一场“烧脑”但有温度的较量
74 2
|
1月前
|
存储 SQL 分布式计算
别让你的数据“裸奔”!大数据时代的数据隐私保护实战指南
别让你的数据“裸奔”!大数据时代的数据隐私保护实战指南
93 19
|
2月前
|
存储 SQL 运维
中国联通网络资源湖仓一体应用实践
本文分享了中国联通技术专家李晓昱在Flink Forward Asia 2024上的演讲,介绍如何借助Flink+Paimon湖仓一体架构解决传统数仓处理百亿级数据的瓶颈。内容涵盖网络资源中心概况、现有挑战、新架构设计及实施效果。新方案实现了数据一致性100%,同步延迟从3小时降至3分钟,存储成本降低50%,为通信行业提供了高效的数据管理范例。未来将深化流式数仓与智能运维融合,推动数字化升级。
125 0
中国联通网络资源湖仓一体应用实践
|
30天前
|
Cloud Native 大数据 Java
大数据新视界--大数据大厂之大数据时代的璀璨导航星:Eureka 原理与实践深度探秘
本文深入剖析 Eureka 在大数据时代分布式系统中的关键作用。涵盖其原理,包括服务注册、续约、发现及自我保护机制;详述搭建步骤、两面性;展示在大数据等多领域的应用场景、实战案例及代码演示。Eureka 如璀璨导航星,为分布式系统高效协作指引方向。
|
1月前
|
传感器 监控 大数据
别让“数据”白跑!大数据也能拯救地球
别让“数据”白跑!大数据也能拯救地球
72 15
|
1月前
|
机器学习/深度学习 算法 搜索推荐
数据不忽悠:如何用大数据预测未来?
数据不忽悠:如何用大数据预测未来?
80 12
|
2月前
|
数据采集 机器学习/深度学习 算法
别急着上算法,咱先把数据整明白:大数据分析的5个基本步骤,你都搞对了吗?
别急着上算法,咱先把数据整明白:大数据分析的5个基本步骤,你都搞对了吗?
97 4
|
2月前
|
消息中间件 存储 大数据
实时数据的魔法:如何让你的大数据像弹幕一样快?
实时数据的魔法:如何让你的大数据像弹幕一样快?
70 8
|
2月前
|
数据采集 机器学习/深度学习 人工智能
数据驱动智能,智能优化数据——大数据与人工智能的双向赋能
数据驱动智能,智能优化数据——大数据与人工智能的双向赋能
195 4

相关产品

  • 云原生大数据计算服务 MaxCompute