Skip to content

Latest commit

 

History

History
83 lines (66 loc) · 3.98 KB

08.授权模型.md

File metadata and controls

83 lines (66 loc) · 3.98 KB

八、授权模型

1. 介绍

Atlas是一组可伸缩且可扩展的核心基础治理服务 - 使企业能够在Hadoop内有效地满足其合规性要求,并允许与整个企业数据生态系统集成。 Apache Atlas为组织提供开放式元数据管理和治理功能,以构建其数据资产目录,对这些资产进行分类和管理,并为数据科学家,分析师和数据治理团队提供围绕这些数据资产的协作功能。

本文档介绍了Apache Atlas支持的授权模型的详细信息,以控制对Atlas管理的元数据的访问。

2. 授权访问类型

Apache Atlas提供了一种类型(Type)系统,允许用户对他们想要管理的元数据对象进行建模。该模型由称为“类型”的定义组成。 Apache Atlas类型系统支持以下种类的类型:

  • Entity
  • Classification
  • Relationship
  • Struct
  • Enum

授权模型允许控制哪些用户,组可以根据类型名称和类型类别对类型执行以下操作:

  • create
  • update
  • delete

以下是模型支持的访问控制的几个示例:

  • 管理员用户可以create/update/delete所有类别的类型
  • 数据管理员可以create/update/delete分类类型
  • 健康检查(Healthcare)数据管理员可以create/update/delete名称以“hc”开头的类型

3. 授权访问实体

实体是Entity类型的实例,此类实例表示现实世界中的对象:例如Hive中的表,HDFS文件,Kafka主题。授权模型可以控制哪些用户,组可以对实体执行以下操作(基于实体类型,实体分类,实体ID):

  • read
  • create
  • update
  • delete
  • read classification
  • add classification
  • update classification
  • remove classification

以下是模型支持的访问控制的几个示例:

  • 管理员用户可以对所有类型的实体执行所有实体操作
  • 数据管理员可以对所有类型的实体执行除删除之外的所有实体操作
  • 数据质量管理员可以 add/update/remove DATA_QUALITY分类
  • 特定组中的用户可以使用PII分类或其子分类来read/update实体
  • 财务用户可以read/update ID以“finance”开头的实体

4. 管理员操作的授权

授权模型可以控制哪些用户、组可以执行以下管理操作:

  • 导入实体
  • 导出实体

具有上述访问权限的用户可以导入/导出实体,而无需授予它们细粒度的实体级访问权限。

5. 可插拔授权

Apache Atlas支持可插入的授权接口,如下所示,启用备用实现来处理授权。

可以使用配置atlas.authorizer.impl向Apache Atlas注册实现授权接口的类的名称。如果未设置此属性,Apache Atlas将在org.apache.atlas.authorize.simple.AtlasSimpleAuthorizer中使用其默认实现。

package org.apache.atlas.authorize;

public interface AtlasAuthorizer {
    void init();

    void cleanUp();

    boolean isAccessAllowed(AtlasAdminAccessRequest request) throws AtlasAuthorizationException;

    boolean isAccessAllowed(AtlasEntityAccessRequest request) throws AtlasAuthorizationException;

    boolean isAccessAllowed(AtlasTypeAccessRequest request) throws AtlasAuthorizationException;
}

6. 简单授权

简单授权程序是Apache Atlas中包含的默认授权程序实现。有关设置Apache Atlas以使用简单授权程序的详细信息,请参阅后面章节:设置Atlas以使用Simple Authorizer。

7. Ranger授权

要将Apache Atlas配置为使用Apache Ranger提供的授权实现,请在application.properties配置文件中包含以下属性:

atlas.authorizer.impl=ranger

Apache Ranger Authorizer需要设置配置文件,例如指定Apache Ranger管理服务器URL,包含授权策略的服务名称等。有关详细信息,请参阅后面章节:设置Atlas以使用Ranger Authorizer。

8. 无授权

除了默认授权程序之外,Apache Atlas还包括一个允许所有用户访问的授权程序。此授权程序在测试环境和单元测试中非常有用。要使用此授权程序,请设置以下配置:

atlas.authorizer.impl=NONE