安全
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
策略文件格式
简单授权器使用 =roles= 来对权限进行分组,随后可将这些角色分配给用户和用户组。以下示例有助于理解策略文件格式的细节:
角色
以下策略文件定义了 3 个角色:
- ROLE_ADMIN:拥有全部权限
- PROD_READ_ONLY:有权读取 qualifiedName 以 "@prod" 结尾的实体
- TEST_ALL_ACCESS:拥有对 qualifiedName 以 "@test" 结尾的实体的全部访问权限
简单授权器支持使用 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": {
...
}
}为用户和用户组分配角色
上面定义的角色可以按以下方式分配(授予)给用户:
{
"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