在atlas-application.properties配置文件中,可以设置不同权限的开关。
atlas.authentication.method.kerberos=true|false atlas.authentication.method.ldap=true|false atlas.authentication.method.file=true|false atlas.authentication.method.keycloak=true|false
如果设置了多个权限,就相当于有一个备用方案。比如同时设置了Kerberos 和 ldap 。Kerberos 失效的情况下,就会走ldap的权限。
1、File
文件控制权限是Atlas最基本的,也是默认的权限控制方式。
需要指定文件权限配置路径
atlas.authentication.method.file=true atlas.authentication.method.file.filename=sys:atlas.home/conf/users-credentials.properties
users-credentials.properties的格式如下:
username=group::sha256-password
例如
admin=ADMIN::e7cf3ef4f17c3999a94f2c6f612e8a888e5b1026878e4e19398b23bd38ec221a
注意:-密码使用sha256编码方法进行编码,可以使用unix工具生成。
例如
echo -n "Password" | sha256sum e7cf3ef4f17c3999a94f2c6f612e8a888e5b1026878e4e19398b23bd38ec221a -
2、Kerberos
启动kerberos
atlas.authentication.method.kerberos = true
还应设置以下属性。
atlas.authentication.method.kerberos.principal=<principal>/<fqdn>@EXAMPLE.COM atlas.authentication.method.kerberos.keytab = /<key tab filepath>.keytab atlas.authentication.method.kerberos.name.rules = RULE:[2:$1@$0](atlas@EXAMPLE.COM)s/.*/atlas/ atlas.authentication.method.kerberos.token.validity = 3600 [ in Seconds (optional)]
3、LDAP
启动ldap
atlas.authentication.method.ldap=true atlas.authentication.method.ldap.type=ldap|ad
对于LDAP或AD,需要在Atlas应用程序属性中设置以下配置。
atlas.authentication.method.ldap.ad.domain= example.com atlas.authentication.method.ldap.ad.url=ldap://<AD server ip>:389 atlas.authentication.method.ldap.ad.base.dn=DC=example,DC=com atlas.authentication.method.ldap.ad.bind.dn=CN=Administrator,CN=Users,DC=example,DC=com atlas.authentication.method.ldap.ad.bind.password=<password> atlas.authentication.method.ldap.ad.referral=ignore atlas.authentication.method.ldap.ad.user.searchfilter=(sAMAccountName={0}) atlas.authentication.method.ldap.ad.default.role=ROLE_USER
LDAP
atlas.authentication.method.ldap.url=ldap://<Ldap server ip>:389 atlas.authentication.method.ldap.userDNpattern=uid={0},ou=users,dc=example,dc=com atlas.authentication.method.ldap.groupSearchBase=dc=example,dc=com atlas.authentication.method.ldap.groupSearchFilter=(member=cn={0},ou=users,dc=example,dc=com atlas.authentication.method.ldap.groupRoleAttribute=cn atlas.authentication.method.ldap.base.dn=dc=example,dc=com atlas.authentication.method.ldap.bind.dn=cn=Manager,dc=example,dc=com atlas.authentication.method.ldap.bind.password=<password> atlas.authentication.method.ldap.referral=ignore atlas.authentication.method.ldap.user.searchfilter=(uid={0}) atlas.authentication.method.ldap.default.role=ROLE_USER
4、Keycloak
开启keycloak
atlas.authentication.method.keycloak=true atlas.authentication.method.keycloak.file=/opt/atlas/conf/keycloak.json atlas.authentication.method.keycloak.ugi-groups=false
keycloak.json文件配置如下
{ "realm": "auth", "auth-server-url": "http://keycloak-server/auth", "ssl-required": "external", "resource": "atlas", "public-client": true, "confidential-port": 0, "principal-attribute": "preferred_username", "autodetect-bearer-only": true }
5、PAM
开启PAM
atlas.authentication.method.pam=true
atlas.authentication.method.pam.service=login