Our Community is getting an upgrade! To get everything ready for the relaunch, we’ll be placing the site in read-only mode starting September 21st.
We really appreciate your understanding while we get things set up behind the scenes. Catch up on all the exciting details about the move here.
Need help or have questions? Drop us a line at [email protected]
Created 10-06-2015 11:20 PM
In the course of testing the usersync tool, we had some settings wrong and the users are mis-synced. We'd like to clear them all out and restart the sync. Is there an easy way/tool to remove all the external users from the Ranger / Ranger usersync database so we can resync with our new settings?
Created 10-06-2015 11:26 PM
Created 10-06-2015 11:26 PM
Check attached scripts and see if it helps..
Created 10-06-2015 11:49 PM
Will this work on Postgress also?
Created 07-05-2016 04:07 PM
@bganesan Now that https://issues.apache.org/jira/browse/RANGER-205 is fixed, can we use the rest API instead of DB script?
Created 09-07-2017 01:08 PM
Really useful scripts. Helped me with my MySQL environment.
To prepare the input.txt, I had to run this and pass this as input to the script:
$ mysql -u userName -p dbName -e “select user_name from x_user” > /tmp/input.txt
Created 10-06-2015 11:26 PM
Created 10-07-2015 12:08 AM
Rest apis used for delete are:
Created 10-07-2015 10:30 AM
Awesome! These API urls were really helpful!
You have to make sure the user or group is not assigned to any policy before you delete it. If the user/group is assigned to a policy the API returns 404 not found as result.
Created 03-16-2016 11:59 PM
Until the API gets fixed to clean things up correctly, here's a PostgreSQL anonymous code block which cleans up the stuff it leaves behind which we used:
DO $ DECLARE u record; r record; p record; BEGIN FOR u IN select id, login_id from x_portal_user where login_id not in (select user_name from x_user) LOOP RAISE NOTICE 'User roles in x_portal_user_role:'; FOR r IN select id, user_id, user_role from x_portal_user_role where user_id = u.id LOOP RAISE NOTICE USING MESSAGE = ' ' || r.user_role; RAISE NOTICE USING MESSAGE = 'DELETE from x_portal_user_role WHERE id = ' || r.id; -- Uncomment next line to perform action --EXECUTE 'DELETE from x_portal_user_role WHERE id = ' || r.id; END LOOP; RAISE NOTICE 'User permissions in x_user_module_perm:'; FOR p IN select id, user_id, module_id from x_user_module_perm where user_id = u.id LOOP RAISE NOTICE USING MESSAGE = ' ' || (select module from x_modules_master where id = p.module_id); RAISE NOTICE USING MESSAGE = 'DELETE from x_user_module_perm where id = ' || p.id; -- Uncomment next line to perform action --EXECUTE 'DELETE from x_user_module_perm where id = ' || p.id; END LOOP; RAISE NOTICE USING MESSAGE = 'DELETE FROM x_portal_user WHERE id = ' || u.id; -- Uncomment next line to perform action --EXECUTE 'DELETE FROM x_portal_user WHERE id = ' || u.id; RAISE NOTICE ' '; END LOOP; END$;
Created 10-27-2015 04:04 PM
For complete cleaning of users from DB, please use the scripts provided by @[email protected] above.
REST API DELETE calls perform only soft-delete.
Hard DELETE feature is still in the works.https://issues.apache.org/jira/browse/RANGER-205