title: “Apache Ranger 2.1.0”

Apache Ranger 2.1.0 release notes

Apache Ranger 2.1.0 was released on September 3, 2020. The release adds plugins for Presto, Kudu and Schema Registry, Elasticsearch as an audit store, Ranger Admin high availability, Java and Python client libraries, Java 11 support and the first docker setup.

Highlights

Artifacts

ArtifactLocation
Source tarballapache-ranger-2.1.0.tar.gz (signature, SHA-512)
Release directoryhttps://archive.apache.org/dist/ranger/2.1.0/
Git tagrelease-ranger-2.1.0
Maven Centralorg.apache.ranger:*:2.1.0
Archivearchive.apache.org/dist/ranger/2.1.0/

Verify every download against its .asc signature and checksum file before you use it; see Download and verify.

Resolved issues

The tables below list the 328 JIRA issues recorded in the release notes for this version (15 new features, 108 improvements, 205 bugs fixed). Each key links to the issue in the Apache JIRA.

New features

JIRASummary
RANGER-676Audit logging to Elasticsearch
RANGER-1784Presto Ranger integration
RANGER-2052Ranger admin supports high availability
RANGER-2393Document level authorization for solr
RANGER-2497Support Azure Key Vault for storing master keys of Ranger KMS
RANGER-2625Plugin capability/compatibility model
RANGER-2683Kudu Ranger Integration
RANGER-2697Retrieve additional user/group attributes from AD/LDAP and rest API to download this information
RANGER-2723Support multi-field attribute based document level controls for Solr
RANGER-2748Schema Registry Ranger Plugin
RANGER-2862Ranger Client Libraries (Java) For REST Services
RANGER-2863Ranger UI Improvement.
RANGER-2897Update jQuery version.
RANGER-2900Include policy priority in policy details popup on access auidts page
RANGER-2927Ranger Client Libraries (Python) For REST Services

Improvements

JIRASummary
RANGER-785Ranger plugins should support a formal notion of super user
RANGER-837Fix Maven Assembly
RANGER-2510Support for Incremental tag updates to improve performance
RANGER-2528Export API to get zone, unzone as well as tag based policies from Ranger.
RANGER-2535Good coding practices for storing and retrieving data history in ranger
RANGER-2542Similar to RANGER-2515, add .gitignore for project plugin-ozone and ranger-ozone-plugin-shim
RANGER-2550Increase sort_order field length of all the tables
RANGER-2551Optimize obtaining the agentHostname of audit log
RANGER-2555Enhancements in Ranger plugins to support Ranger HA without load-balancer
RANGER-2561add functionality in ranger to get default policy groups list from service config while creation of service and add that group to policies in that service
RANGER-2571Need to add Knox proxy configuration support in Ranger plugins
RANGER-2575Java 11 Support for Ranger
RANGER-2584Disable deny and exceptions in policies for NiFi
RANGER-2588Integrate Apache maven checkstyle plugin to Ranger
RANGER-2589Introduce Ranger API to return Ranger's JVM resource status metric
RANGER-2590add displayName attribute to service-def and service
RANGER-2591Need changes for usersync(unix/ldap) to support HA without load balancer.
RANGER-2592Enhancements in Ranger usersync to support Ranger HA without load-balancer
RANGER-2594Improve policy validation performance during delete
RANGER-2595Improve policy delete performance using batch delete
RANGER-2599Add more audit data to HBase grant/revoke events
RANGER-2607Disable deny and exceptions in policies for NiFi Registry
RANGER-2608Create profile for building only security-admin assemby
RANGER-2627Upgrade Apache commons-beanutils to 1.9.4
RANGER-2632Record additional Active Directory attributes in Ranger DB
RANGER-2636Allow NiFi Client to use default SSLContext
RANGER-2639XUserService has duplicate db query in when populateViewBean for XXUser
RANGER-2643Use JPA/JDBC batching during policy creation
RANGER-2646Refactor: replace references to static configuration instance
RANGER-2651Improve performance of building and querying RangerResourceTrie
RANGER-2652Refactor policy engine
RANGER-2653Refactor product code to move out APIs used only by test code
RANGER-2654refactor RangerBasePlugins to remove static servicePluginsMap
RANGER-2657Upgrade Hive version from 3.1 to 3.1.2
RANGER-2662Upgrade Kylin version to 2.6.4
RANGER-2663Add elasticsearch-plugin infomation to README.txt
RANGER-2666Rename matchType and matchScope enumerators to more descriptive names
RANGER-2668Remove tag service linking for any service created in Ranger KMS
RANGER-2669Blacklist for Ranger Audits
RANGER-2674Allow service admins to manage tag policies
RANGER-2682Add new authorization privilege - “admin-purge” in Ranger-Atlas service.
RANGER-2686Upgrade Tomcat version to 7.0.99 in Ranger
RANGER-2695Default displayName for ServiceDef
RANGER-2699JVM metrics for Ranger usersync and Ranger tagsync
RANGER-2700creating service sometimes fails because SecureRandom.getInstanceStrong() is often blocked
RANGER-2701Improve Logging mechanism for Ranger KMS
RANGER-2706usermapsyncenabled can be removed from code
RANGER-2711“Service display Name” attribute on all tabs in Ranger
RANGER-2712Revisit privileges for rangerlookup user in default policies
RANGER-2721README.txt shows incorrect build command
RANGER-2724Support EXECUTE permission in HBase Authorisation
RANGER-2725Improve the Checkstyle integration from RANGER-2588
RANGER-2734update Ranger authorizer for Atlas to support new operations
RANGER-2741Fix typo in solr_for_audit_setup
RANGER-2744Add response header in login.jsp page
RANGER-2746Handle display name for upgrade scenario
RANGER-2753Optimize populating user group mappings from DB.
RANGER-2754Update presto dependency and implement row/column level security
RANGER-2758Option to create missing users/groups while creating/updating roles
RANGER-2759Migrate Python scripts to Python 3
RANGER-2766enable implementations of RangerAccessResourceImpl to provide custom stringified value
RANGER-2768Ranger audit UI updates to render action field.
RANGER-2770Upgrade jackson-databind to version 2.10.0 [CVE-2020-8840] - (Ranger)
RANGER-2772Adding the functionality of merging the policy
RANGER-2779update tag-sync to process Atlas notifications for ADLS-Gen2 entities
RANGER-2780Ranger plugins should support audit-exclude users
RANGER-2783Add schema registry service def to be registered by default on start of Ranger
RANGER-2787Upgrade presto version to 331
RANGER-2791Ignore .iml files from RAT check for schema-registry plugin
RANGER-2796Ranger Reports page to show user + groups policies for user based search
RANGER-2808Service Name must not allow spaces in newly created services
RANGER-2811Ranger should keep trying to create collection in solr until its successfully created
RANGER-2825Fix PMD issues
RANGER-2826Update Presto Plugin to support PrestoSql 333
RANGER-2829support to specify super-users/groups and audit-exclude-users/groups via plugin config
RANGER-2834Upgrade Ranger to support Elasticsearch 7.6.0
RANGER-2842RangerDefaultRequestProcessor preProcess overrides clusterName, clusterType
RANGER-2843Privilege filteration is required for ranger lookup user for Nifi and Nifi Registry
RANGER-2849Allow Ranger to be configurable to not disclose server version
RANGER-2850Add javax.annotation to Presto plugin to ensure java 11 support
RANGER-2851Remove caret M characters from ranger files
RANGER-2852Add .gitattributes file to prevent CRLF and LF mismatches for source and text files
RANGER-2854Make audit bootstrap property configurable
RANGER-2861Support username and keytab to authenticate ES service to use as an Ranger Audit Store
RANGER-2867Update Spring Security framework for Ranger
RANGER-2887Upgrade Tomcat to 7.0.104
RANGER-2888Upgrade Spring framework to version 4.3.27.RELEASE
RANGER-2890Add missing log4j properties for audit log
RANGER-2896show grant not display grant_time in hive plugin
RANGER-2902Add policy id to the list of filters in Access Audit Tab
RANGER-2904Add appopriate warning messages when updates to in-memory policy cache encounter unexpected conditions
RANGER-2908Upgrade jackson version to 2.10.3
RANGER-2916Get rid of POM model related warnings in Ranger build output
RANGER-2920Improvement in DB scripts for handling upgrade scenario for MS-SQL
RANGER-2923Changing data type of sync_source_info column to accommodate more characters
RANGER-2925Ranger UI - third party library version upgrades part 1
RANGER-2935Upgrade joda-time to 2.10.6
RANGER-2939Search functionality with Cluster name is not working on Audit>>Access and Plugins tab
RANGER-2949Upgrade Tomcat to 7.0.105
RANGER-2960Docker setup to build Ranger
RANGER-2961Docker setup to run Ranger Admin
RANGER-2966Upgrade POI to 4.1.2
RANGER-2969Docker setup to run Ranger enabled HDFS
RANGER-2970HBase plugin package - remove duplicate libraries, add missing library
RANGER-2971Docker setup to run Ranger enabled HBase
RANGER-2974Docker setup to run Ranger enabled Kafka
RANGER-2975Docker setup to run Ranger enabled YARN
RANGER-2980Update Ranger build to generate one type of archive only - .tar.gz

Bugs fixed

JIRASummary
RANGER-332Ranger Plugin config to support policy manager URLs
RANGER-2109Ranger mysql db does not allow creation of many service definitions
RANGER-2378KeySecure HSM Integration is not compatible with Java9
RANGER-2483Presto plugin uses /presto/plugins instead of /presto/plugin
RANGER-2499Improve bulk create/update policy performance
RANGER-2512RangerRolesRESTClient for serving user group roles to the plugins for evaluation
RANGER-2526Log does not get generated for “Deny All Other Accesses” toggle button available on Policy page.
RANGER-2527UI Improvement for Roles create update and delete log on Audit -> Admin Tab.
RANGER-2529Create index on obj_id and obj_class_type column of x_data_hist table
RANGER-2530Constant increase in memory usage by ranger-usersync process and eventually going out of memory
RANGER-2531Removing a user from a group is not reflected properly in unix based sync.
RANGER-2533After setting ‘xasecure.audit.is.enabled’ to ‘false’, the audit log is still logged
RANGER-2534Official logo for Apache Ranger
RANGER-2536Ranger Hive authorizer enhancement to enable Hive policies based on resource owners
RANGER-2537Ranger KMS having wrong bit length and version in DB after after export / import within keystore file
RANGER-2538Ranger policy import calls via knox trusted proxy failing
RANGER-2539Create Default Policies for Hive Databases -default, Information_schema
RANGER-2543Delete service def request is failing
RANGER-2544Ranger Owner Policy not getting honored for SELECT * queries.
RANGER-2546Replace hard-coded ‘python’ with ‘$PYTHON_COMMAND_INVOKER’ in setup.sh
RANGER-2547Good coding practices: minimize use of static/unnecessary class members
RANGER-2548Ranger-admin updates to ensure owner information in GrantRevokeData is correctly consumed
RANGER-2552Adding a user to a group is resetting the role/permissions of the user
RANGER-2553Hive RangerServiceDef isValidLeaf attribute values should not be copied to DataMaskDef and RowFilterDef
RANGER-2554Log out message for Ranger needs to be more informative on Knox enabled cluster
RANGER-2556RangerHivePlugin Row filtering and Column Masking auditing gives inconsistent audit information
RANGER-2559Update Atlas Authorizer with forwardedAddresses and Remote IP to handle request from proxy..
RANGER-2560Solve the problem of the order of the configuration items of the Solr plugin
RANGER-2564Avoid recursive audit log in Solr Plugin by user “solr” when plugin is enabled for ranger_audits collection
RANGER-2565Remove duplicate error messages when test connection fails
RANGER-2567Ranger fails to connect wired Solr
RANGER-2568Ranger Hive policy creation page in Ranger Admin UI shows resources as Database,None instead of Database,Table,Column
RANGER-2569Policy with isDenyAllElse=true denies request to check if any access is allowed
RANGER-2573Ranger hbase policy not taking effect if column-family name is given in policy
RANGER-2574Ranger Import of fails if policy type is not passed
RANGER-2577Missing one dependency jar file during packaging for Ranger Ozone plugin.
RANGER-2580RangerPolicy.getServiceType API should return name of the service-type
RANGER-2581Ranger solr plugin fails to connect to SSL enabled Ranger
RANGER-2582Policy history details popup not getting populated properly.
RANGER-2583Upgrade jackson-databind
RANGER-2585Ranger audits for hive role commands show user as “hive” instead of the effective user
RANGER-2586Ranger KMS start fails with NoClassDefFoundError
RANGER-2597Allow auditor role user to get details of services and policies from public API
RANGER-2600Ranger Login Sessions audits always show “Login Type” as “Username/Password” even for kerberos login
RANGER-2602Import is failing with “Can not construct instance of java.util.Date from String” error
RANGER-2603Delegate Admin processing incorrectly giving policy access to user - due to owner
RANGER-2605Update maven version to 3.6.2
RANGER-2606Maven central deployment publishing only the top level ranger artifact
RANGER-2610NPE in PolicyRefresher if service-policies in policy-cache contain only service definition
RANGER-2612Last updated time of tag based policies under “Plugin Status” tab are not getting updated
RANGER-2613Public API for listing roles needs to return a Java list of RangerRole objects
RANGER-2614Unable to create service
RANGER-2615Unable to create Role
RANGER-2616Add reencryptEncryptedKey, batch reencryption interface to KMS and improve logs
RANGER-2617Provide descriptive error message when role delete not allowed
RANGER-2618Restrict rolename change when a policy/another role with that role exist
RANGER-2619Admin Audit Details not displayed for edit role
RANGER-2620Create empty Role cache file when no roles are present in ranger yet.
RANGER-2622Ranger UI side code improvement.
RANGER-2623Add Validations to RoleREST apis
RANGER-2624Issue downloading Ranger Roles in non-kerberized cluster
RANGER-2626Block unauthenticated access to Ranger REST endpoints in kerberized environment
RANGER-2630Ensure that entity deletes are handled even when Atlas sets deleted entity's state as not ACTIVE
RANGER-2631Ranger Audit logs for SHOW commands related to ROLE operations in Hive
RANGER-2633RangerYarnAuthorizer should get the remoteIPaddress from the accessRequest from YARN
RANGER-2635Backport hadoop-kms changes in ranger-kms
RANGER-2637RangerTags loading issue when Ranger admin service is not available.
RANGER-2638Ranger admin Logging improvement
RANGER-2641Upgrade scenario fails in MYSQL DB
RANGER-2642Grant/Revoke REST invocations by non-service users should not specify resource owner
RANGER-2644Improvement in Ranger encryption algorithm usage.
RANGER-2647Show display name instead of name in UI
RANGER-2648Provide policy list page url with service name
RANGER-2649Unix user doesn't get ‘Admin’ role when set through assignment rules
RANGER-2650Public group should not be given access to all kafka resources in default ranger policies
RANGER-2655Ranger UI improvement
RANGER-2656RangerHiveAuthorizer filterListCmdObjects failed to filter database / tables when HMS calls the authorizer for filtering
RANGER-2659Zone-based policies are not listed for USER_ROLE with delegate admin privilege
RANGER-2660Option to create missing users/groups/roles while creating/updating/importing policies
RANGER-2661NullPointerException on RangerRolesProvider.loadUserGroupRoles
RANGER-2665Policy engine for delegate-admin processing is not built correctly when policy-deltas are enabled and a zone policy is updated
RANGER-2667Running the disable-presto-plugin.sh script will always get stuck
RANGER-2671Running the setup.sh in usersync a second time will change the permissions and owner of hadoop core-site.xml
RANGER-2675Add Logs if keystore is not initialised during Ranger start
RANGER-2677Fix corner case of Ranger Audit login going into race condition
RANGER-2678RangerUgSyncRESTClient sets password as username for basic auth
RANGER-2679upgrade spring framework version to 4.3.23 to be compatible with current spring security version(4.2.13)
RANGER-2680Ranger Usersync and Tagsync is not updating session cookie until restart
RANGER-2685set_globals.sh will throw an exception “cp ews/logs/* failed”
RANGER-2687NoClassDefFoundError when Ranger Knox plugin is enabled
RANGER-2688Make cookie name configurable
RANGER-2690Default service display name is not getting set for Tag service
RANGER-2691Upgrade with MsSQL fails because of invalid syntax
RANGER-2692RangerKafkaAuthorizer support for ConsumerGroup resource for authorization
RANGER-2694TagSync fails to start due to NoClassDefFoundError
RANGER-2696Fix unit test failure in TestPolicyEngine.testValiditySchedulerApplicable
RANGER-2698Fix Ranger Unit Test failing in Ranger hive Plugin
RANGER-2702Upgrade Kafka Version in Ranger to 2.4
RANGER-2703Grant operation succeeds even though there is no delegate admin permission
RANGER-2705Group sync does does not parse DNs properly
RANGER-2707ranger.usersync.enabled not respected on initial ugsync startup
RANGER-2708Ranger public group check uses wrong comparison for equality
RANGER-2714Fix Failing Kylin test cases
RANGER-2715“Service display Name” attribute on all tabs in Ranger(UI)
RANGER-2717Edit repo/service fails(Knox proxy)
RANGER-2718Utility to update user and group names in stored policy json
RANGER-2719Fix Ranger Atlas Plugin packaging issue
RANGER-2720Search filter not work properly.
RANGER-2722policies/hive/for-resource api call is returning deleted policies
RANGER-2729RANGER-2660 should creates external users rather internal
RANGER-2730Missing JAVA Patch record in the ranger admin x_db_version_h table
RANGER-2731BaseDao.batchCreate uses the wrong property
RANGER-2735Update Atlas serviceDef for upgrade case of RANGER-2734
RANGER-2743Upgrade Tomcat Version to 7.0.100
RANGER-2747Ranger integration with presto works on “Release 317” but fails on versions later
RANGER-2749Ranger depends on commons-lang but doesn‘t specify it in it’s pom
RANGER-2750Permission “alter” has to be there for TOPIC and CLUSTER resource in RangerKafkaPlugin ServiceDef
RANGER-2752Upgrade from 0.7.0 to master fails due to schema issue
RANGER-2755Update Atlas service-def and plugin for changes in ATLAS-3653
RANGER-2756A spelling mistake in RangerHiveAuthorizer
RANGER-2757Ranger Knox SSO logout issue
RANGER-2761Policy evaluators are not correctly updated when using policy deltas for downloads to plugins
RANGER-2762Logout issue when knox-trusted proxy is enabled
RANGER-2763Hive SET Role command in Ranger hive plugin
RANGER-2764Role API : Duplicate key value violates unique constraint “x_ranger_global_state_uk_state_name”
RANGER-2765Correct permissions are not getting loaded for entity-label in Atlas service
RANGER-2773Enhanced logging messages for RangerScriptConditionEvaluator class
RANGER-2775Pagination not working for role in Ranger admin UI page
RANGER-2776Unable to access service through knox, facing NPE when authorization is set to Ranger
RANGER-2777Ranger Knox Plugin failed to download Roles
RANGER-2781default policy creation fails for policy-items with no users
RANGER-2785Ranger Ozone plugin does not include configuration jars
RANGER-2786Ranger usersync group modifyTimestamp parsing should be in 24 hours format
RANGER-2788Fix schema-registry servicedef with correct values of id and itemIds.
RANGER-2789GET API service/xusers/users turns very slow when there are more than 1000 users
RANGER-2790Import start and import end are not in sequence
RANGER-2793Admin log clogged with a warning
RANGER-2794Search is not working in Role page
RANGER-2795Update Presto serviceDef for upgrade case of RANGER-2754
RANGER-2797changing error to debug as it does not make impact on transactions
RANGER-2800Ranger DB upgrade script for version name change in x_ranger_global_state table
RANGER-2801Update apache thrift version in ranger
RANGER-2802Java patch J10034 may fail in upgrade case
RANGER-2803Modify db_setup.py script to handle pre-created user's tablespace for Oracle
RANGER-2804Ranger Ozone plugin unable to write to solr audits in SSL enabled cluster
RANGER-2805Create role with non-existing group/user failing due to concurrent threads
RANGER-2806RangerScriptConditionEvaluator does not initialize correctly with openJDK 11
RANGER-2807Change audit format for access logs
RANGER-2809Solr plugin fails to download policies with authentication error in a secure cluster
RANGER-2812Upgrade Nimbus-Jose-JWT and netty versions
RANGER-2813[HBase]Not able to pull execute permission given to user from getUserPermissions API in HBase Ranger Coprocessor
RANGER-2814RangerServiceResource signature should not include service-specific information
RANGER-2815Ranger HDFSAuditDestination flush call should be privileged one
RANGER-2817Service configuration update does not cause policies in the service to get downloaded to plugin
RANGER-2818[Ozone Ranger Plugin] Init Failed due to CNF JacksonJsonProvider
RANGER-2821Update ranger authorizer for Atlas to add admin-purge
RANGER-2822Best practices: Refactor embeddedserver code and remove redundant code
RANGER-2823RangerResouceTrie.copySubTree() does not set up TrieNode's child nodes correctly
RANGER-2824Allow from an override policy having deny-items is ignored
RANGER-2828RangerExportPolicy with resource filter fails to fetch policies
RANGER-2831presto-server-333 start failed due to NoClassDefFoundError
RANGER-2833Enforcing Strict transport security
RANGER-2836Make Elasticsearch port and protocol properties configurable
RANGER-2838Kafka Testcase failing the build with NoClassDefFoundError
RANGER-2839Assorted improvements for debugging and handling of thread terminations, clean-up of unused data, etc.
RANGER-2840Create policy with non existing group is failing due to to multiple threads creating same group
RANGER-2841Refactor userstore enricher in order to support userstore download without service information
RANGER-2844presto-server-333 can not show schemas/tables after integrated with Ranger master branch
RANGER-2853“Unauthenticated : Please check the permission in the policy for the user”: An NPE in ranger admin when enable kms.
RANGER-2855import policy for ranger is not working properly if updateifexist parameter is passed
RANGER-2856A policy should be deleted if it has no policyItems
RANGER-2858‘show databases’ gives permission denied error, even though the user has permissions on a few of the databases in security zone policies
RANGER-2864Group creation is failing during import policy
RANGER-2869Ranger audit module to provide an option to generate a GUID for each audit log
RANGER-2872The Ranger authentication group permission of the ES does not take effect.
RANGER-2874Tag policies not getting enforced for ADLS path
RANGER-2875Security zone policy not getting enforced correctly for some servicedef
RANGER-2876allow-exception policy-items are not correctly handled when access-type is ‘_any’
RANGER-2877ElasticSearch-Plugin throws NullPointException when the type of request is ‘PutMappingRequest’
RANGER-2881Delegate Admin user having role “user” able to create policy which has non-existing users/groups
RANGER-2885Add missing PermType Java codes for new versions of Kafka
RANGER-2886Exporting tag policies fails when ‘polResource’ query parameter is used
RANGER-2893show grant on database xxx will fail in ranger hive plugin
RANGER-2903Remove elasticsearch audit's is_enabled property from config
RANGER-2905Failed to log Audit event in Elasticsearch
RANGER-2911ES plugin missing implemention for some ES request
RANGER-2912ranger and plugins will throw GSSAPI error when write audit log to ElasticSearch when cluster running on none security mode
RANGER-2913Import policy fails when policy with same name present in multiple service
RANGER-2914Invalid obj name in DB script for MS-SQL
RANGER-2915Support tag based policies for Ozone resources in Ranger
RANGER-2917Avoid recursive audit log in ES Plugin by user elasticsearch when plugin is enabled for ranger_audits index
RANGER-2918Ranger Audit for HBase does not capture predicates
RANGER-2919Source policies gets deleted after importing policy with deleteifexists parameter
RANGER-2921Regression: When all resource and tag(if applicable) policies are deleted then plugin continues to use old set of policies
RANGER-2922Query info not included for solr query audits in Ranger
RANGER-2930Change atlas version to 2.1.0 for Ranger 2.1.0 release
RANGER-2931Fix PMD Error of RANGER-2922
RANGER-2938[Ranger Audits] Zone Name field is not populated in case of Deny Operations via Security Zones
RANGER-2944Presto plugin lookupResource throws NPE if not set service password
RANGER-2945Need to check if RANGER_LOGIN_PASSWORD exists in HadoopConfigHolder
RANGER-2947[Ranger][Policy Import] Usage of serviceType config while importing ranger policy for any service
RANGER-2958Unable to run build using docker script - build_ranger_using_docker.sh
RANGER-2968HDFS plugin package - missing library
RANGER-2978Ranger upgrade fails due to missing DB function.
RANGER-2979Test failure due to NPE

Further reading