DataWorks用odps jdbc查询表授权情况时返回的结果不知道怎么解析(不知道json节点含义)有文档吗? 比如执行:show grants on table dim_date privilegeproperties ("policy"="true"); 结果的result部分是:
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在使用DataWorks通过ODPS JDBC查询表授权情况时,返回的JSON结果可能包含复杂的节点结构。以下是对show grants on table dim_date privilegeproperties ("policy"="true");
命令返回结果的解析说明,帮助您理解JSON节点的含义。
返回的JSON结果通常分为以下几个主要部分: - 授权类型(Authorization Type):标识授权的方式,例如Implicit
、ACL
或Policy
。 - 主体(Principal):表示被授权的用户或角色。 - 权限(Action):列出授予的具体权限,例如Select
、Describe
等。 - 资源(Resource):指定授权作用的对象,例如表、列或项目。
以下是JSON结果中常见节点的详细解释:
ACL
节点{"ACL": {"": [{
"Action": ["All"],
"Effect": "",
"Principal": ["user/ALIYUN$odpstest2@aliyun.com"]
}]}}
Action
:授予的操作权限,例如All
表示所有权限。Principal
:被授权的主体,格式为user/<用户名>
或role/<角色名>
。POLICY
节点{"POLICY": {"role/r1": [{
"Action": ["odps:Select"],
"Condition": {"IpAddress": {"acs:SourceIp": ["10.10.10.10", "10.10.10.10/4"]}},
"Effect": "Allow",
"Resource": ["acs:odps:*:projects/new_priv_prj_1/tables/test2"]
}]}}
Action
:授予的操作权限,例如odps:Select
。Condition
:附加的条件限制,例如IP地址范围。Effect
:策略的效果,Allow
表示允许,Deny
表示拒绝。Resource
:授权作用的资源,格式为acs:odps:*:projects/<项目名>/tables/<表名>
。SharedObjectACL
节点{"SharedObjectACL": {"pkg1_prj1_1": [{
"Action": ["Select"],
"Effect": "",
"Principal": ["user/ALIYUN$odpstest2@aliyun.com"]
}]}}
Action
:授予的操作权限,例如Select
。Principal
:被授权的主体。以show grants on table dim_date privilegeproperties ("policy"="true");
为例,返回的JSON结果可能如下:
{"POLICY": {"role/r1": [{
"Action": ["odps:Select"],
"Condition": {"IpAddress": {"acs:SourceIp": ["10.10.10.10", "10.10.10.10/4"]}},
"Effect": "Allow",
"Resource": ["acs:odps:*:projects/new_priv_prj_1/tables/dim_date"]
}]}}
Policy
。role/r1
。odps:Select
。10.10.10.10
和10.10.10.10/4
。dim_date
表。ACL
、POLICY
或SharedObjectACL
节点,可以判断授权的具体方式。Condition
字段,需特别注意其对权限生效的限制条件。Resource
字段中的路径格式为acs:odps:*:projects/<项目名>/tables/<表名>
,需明确项目和表的名称。如需进一步了解授权信息的查询和解析,请参考以下文档: - 查询权限信息的JSON返回格式。 - MaxCompute权限管理的相关说明。
希望以上解析能帮助您更好地理解返回结果!如有其他疑问,请随时提问。
DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。