问题描述: 当在LDAP中分配角色给组时,Apache Sentry与Impala不会反映这些更改。这可能导致用户无法获得他们在组中应该具有的权限。
解决方法:
确保LDAP配置正确: 首先,确保LDAP配置正确,并且Sentry和Impala都能够连接到LDAP服务器。验证LDAP配置是否正确,可以通过执行以下命令:
impala-shell -i localhost -q "SHOW CURRENT LDAP CONFIG"
确保LDAP配置中包含正确的服务器地址、端口和DN。
同步LDAP组和角色: Sentry和Impala不会自动同步LDAP组和角色。您需要手动同步组和角色的关联。可以使用以下命令将组和角色关联起来:
sentry --command sync -r -p
这将同步LDAP中的组和角色关联。
确保用户也属于组: 确保用户在LDAP中正确地分配给了组。可以使用LDAP工具(如ldapsearch)来验证用户是否正确地分配给了组。
刷新Impala和Sentry的状态: 一旦组和角色的关联已经同步,并且用户也正确地分配给了组,您需要刷新Impala和Sentry的状态,以便它们可以反映这些更改。可以使用以下命令来刷新Impala和Sentry的状态:
impala-shell -i localhost -q "INVALIDATE METADATA"
sentry --command refresh -r -p
通过执行上述步骤,您应该能够使Apache Sentry和Impala在LDAP中分配给组的角色反映出来,并且用户能够获得他们在组中应该具有的权限。