安全
Atlas 简单授权器
登录后可跨设备保存划线和私人笔记登录
Atlas 简单授权器
配置 Atlas 以使用简单授权器
如 Atlas 授权模型 中所述,Apache Atlas 支持可插拔的授权模型。简单授权器是 Apache Atlas 中内置的默认授权器实现。简单授权器使用在 JSON 文件中定义的策略。本文档详细介绍了配置 Apache Atlas 以使用简单授权器的步骤,以及包含授权策略的 JSON 文件格式的详细信息。
配置 Apache Atlas
要配置 Apache Atlas 使用简单授权器,请在 application.properties 配置文件中加入以下属性:
atlas.authorizer.impl=simple
atlas.authorizer.simple.authz.policy.file=/etc/atlas/conf/atlas-simple-authz-policy.json请注意,如果指定的策略文件位置不是绝对路径,系统会按以下顺序查找该文件:
- Apache Atlas 配置目录(由系统属性 =atlas.conf= 指定)
- Apache Atlas 服务器的当前目录
- CLASSPATH
策略文件格式
Simple authorizer 使用 =roles=(角色)对权限进行分组,然后可将这些角色分配给用户和用户组。以下示例有助于理解策略文件格式的细节:
角色
下面的策略文件定义了 3 个角色:
- ROLE_ADMIN:拥有全部权限
- PROD_READ_ONLY:拥有读取 qualifiedName 以 "@prod" 结尾的实体的权限
- TEST_ALL_ACCESS:拥有对 qualifiedName 以 "@test" 结尾的实体的所有访问权限
Simple authorizer 支持使用 Java 正则表达式来指定 privilege/entity-type/entity-id/classification/typeName/typeCategory 的取值。
{
"roles": {
"ROLE_ADMIN": {
"adminPermissions": [
{
"privileges": [ ".*" ]
}
],
"entityPermissions": [
{
"privileges": [ ".*" ],
"entityTypes": [ ".*" ],
"entityIds": [ ".*" ],
"classifications": [ ".*" ]
}
],
"typePermissions": [
{
"privileges": [ ".*" ],
"typeCategories": [ ".*" ],
"typeNames": [ ".*" ]
}
]
},
"PROD_READ_ONLY" : {
"entityPermissions": [
{
"privileges": [ "entity-read", "entity-read-classification" ],
"entityTypes": [ ".*" ],
"entityIds": [ ".*@prod" ],
"classifications": [ ".*" ]
}
}
"TEST_ALL_ACCESS" : {
"entityPermissions": [
{
"privileges": [ ".*" ],
"entityTypes": [ ".*" ],
"entityIds": [ ".*@test" ],
"classifications": [ ".*" ]
}
}
},
"userRoles": {
...
},
"groupRoles": {
...
}
}为用户和用户组分配角色
上面定义的角色可以按下所示方式授予(grant)给用户:
{
"roles": {
...
},
"userRoles": {
"admin": [ "ROLE_ADMIN" ],
"steward": [ "DATA_STEWARD" ],
"user1": [ "PROD_READ_ONLY" ],
"user2": [ "TEST_ALL_ACCESS" ],
"user3": [ "PROD_READ_ONLY", "TEST_ALL_ACCESS" ],
},
"groupRoles": {
...
}
}角色可以按如下方式授予用户组。一个用户可以属于多个组,该用户所属的所有组被授予的角色都将用于授权访问。
{
"roles": {
...
},
"userRoles": {
...
},
"groupRoles": {
"admins": [ "ROLE_ADMIN" ],
"dataStewards": [ "DATA_STEWARD" ],
"testUsers": [ "TEST_ALL_ACCESS" ],
"prodReadUsers": [ "PROD_READ_ONLY" ]
}
}评论
登录后参与评论
正在加载评论…
KnowForge