title: “Apache Ranger 2.0.0”

Apache Ranger 2.0.0 release notes

Apache Ranger 2.0.0 was released on August 7, 2019. The first 2.x release moves Ranger to Hadoop 3, Hive 3 and HBase 2, and introduces security zones, roles, policy-level conditions, incremental policy updates, and plugins for Ozone and Elasticsearch.

Highlights

Artifacts

ArtifactLocation
Source tarballapache-ranger-2.0.0.tar.gz (signature, SHA-512)
Release directoryhttps://archive.apache.org/dist/ranger/2.0.0/
Git tagrelease-ranger-2.0.0
Maven Centralorg.apache.ranger:*:2.0.0
Archivearchive.apache.org/dist/ranger/2.0.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 291 JIRA issues recorded in the release notes for this version (11 new features, 113 improvements, 148 bugs fixed, 5 tasks, 2 tests, 10 sub-tasks, 2 wishes). Each key links to the issue in the Apache JIRA.

New features

JIRASummary
RANGER-2049Support doAs in Ranger Admin Portal / REST API
RANGER-2170Ranger supports plugin to enable, monitor and manage Elasticsearch
RANGER-2209Service Definition for ABFS to support Ranger Authorization
RANGER-2232Security Zones feature in Apache Ranger
RANGER-2281Support Trusted Proxy in ranger
RANGER-2325Implement ranger plugin for Ozone
RANGER-2331Ranger-KMS - KeySecure HSM Integration
RANGER-2354Add custom condition at policy level
RANGER-2414Enhancements to support roles in Ranger policies
RANGER-2425Enhance ranger hive plugin to support sql role commands
RANGER-2443Ranger UI support for access via Knox Trusted Proxy

Improvements

JIRASummary
RANGER-1715Enhance Ranger Hive Plugin to support authorization on Hive replication Tasks
RANGER-1851Enhance Ranger Hive Plugin to support authorization for KILL QUERY command
RANGER-1935Upgrade Ranger to support Apache Hadoop 3.0.0
RANGER-1958[HBase] Implement getUserPermissions API of AccessControlService.Interface to allow clients to access HBase permissions stored in Ranger
RANGER-1978Upgrade Jackson Databind to 2.8.11
RANGER-2093RangerHiveAuthorizer showPrivileges should show Hive Objects ACLs from Ranger
RANGER-2140Upgrade spring and guava libraries
RANGER-2148Update Ranger Hive dependency version to 3.0
RANGER-2151Update Ranger Hbase dependency version to 2.0
RANGER-2153Supply the function of reverting policy history version.
RANGER-2157Add NiFi Registry service definition and NiFiRegistryClient
RANGER-2158Performance improvement to REST API call to update policies
RANGER-2161Improvement in policy screen permission item's
RANGER-2162Upgrade c3p0 libraries
RANGER-2164Ranger to add default altlas policy for rangertagsync user.
RANGER-2167Upgrade to Apache parent pom version 20
RANGER-2168Add service admin user through service config
RANGER-2169Create unique index on service and name column of x_policy table
RANGER-2172Good coding practices for unix authentication Service in Ranger
RANGER-2173Optimize Trie constuction and Policy lookup
RANGER-2177Handle validations for duplicate configuration item during service create/edit
RANGER-2181Code Improvement To Follow Best Practices
RANGER-2184Update RangerAtlas authorization to authorize add/update/remove of relationships
RANGER-2188Support multiple threads to build Trie and on-lookup post-setup for Trie nodes
RANGER-2191Update ranger-tool with new options to control Trie
RANGER-2203Review and update database schema for ranger policies to minimize database queries/updates
RANGER-2207Allow resources to appear in column mask policies without being visible in access policies
RANGER-2208Code improvement to fetch User/Group information and Service Config details
RANGER-2210Ranger support for Apache Kafka 2.0.0
RANGER-2212Add multiple urls tips for the ‘Kylin URL’ configuration item when creating the kylin-plugin service
RANGER-2214Do some code improvement for the error message for KylinClient.java
RANGER-2216Ranger Audit UI lacks the feature to search the audits using Policy Id
RANGER-2218Service-Definition update should not allow updates to names of resources, access-types, conditions or data-masks
RANGER-2221Apache Ranger Kafka authorizer should support new resource “DelegationToken” in Apache Kafka 2.0.0 version
RANGER-2222Apache RangerKafkaPlugin support to handle Kafka Cluster as a new resource
RANGER-2231Upgrade to Knox 1.1.0
RANGER-2237Upgrade Kylin version to 2.5.0
RANGER-2239Update to surefire 2.21.0
RANGER-2243Provide option to ranger builds to specifically build a single plugin
RANGER-2251Need to provide options for making java heap size memory configurable in Ranger services
RANGER-2257Add policyID to error message when click the Access log of Audit
RANGER-2258Improve the policy list page to prompt users when the service is disabled
RANGER-2265To make the profile “all” to be active by default when ranger build
RANGER-2266To make Id to ID in Audit Pages of Ranger Admin
RANGER-2267Add a icon to differentiate the status of the service
RANGER-2268Optimize policy and tags migration to new schema
RANGER-2279Reduce the time spent changing passwords during Ranger Admin install
RANGER-2286Ranger install may be prevented by leftover DB entry
RANGER-2287Improve and optimize db_setup.py file code
RANGER-2291Make optimized db schema script idempotent for all DB Flavors
RANGER-2295Set specific Ranger version in patches status entry table
RANGER-2296Enhance Ranger Audit framework to have security zone in the audit
RANGER-2303Add kylin-plugin infomation to README.txt
RANGER-2309Improve group search on policy edit page.
RANGER-2314Do some code improvement for the error message in SqoopClient.java
RANGER-2317Enable compilation on JDK11
RANGER-2322Use “TLS” in SSLContext.getInstance
RANGER-2324Bootstrapping Solr in Ranger service start-up
RANGER-2330Ensure that policy/resource based searches are security-zone aware
RANGER-2332Update Grant/Revoke API access after Security zone feature
RANGER-2340Add Policy Version to the Ranger Audit log
RANGER-2341Support for Incremental policy updates to improve performance of ranger-admin and plugins by optimal building of policy-engine
RANGER-2345Upgrade Apache Solr version to 7.7.0 or later
RANGER-2349Provide an API to download policies and tags
RANGER-2351Implement Import / Export of Policies by Zone
RANGER-2353Upgrade Apache Thrift Java client library to 0.12.0
RANGER-2357Improvement on getServices API
RANGER-2374Add refresh access type to allow sharing policies between Hive and Impala
RANGER-2377Make solr bootstrapping configurable
RANGER-2379Support for associating a tag service with security zone and relevant authorization logic
RANGER-2382Improvement to Access Audit page-Add ‘agentHostname’ column to audit log table, which records IP-address/hostname of the plugin
RANGER-2385Improvement to Audit page -> Plugin status tab
RANGER-2386Code duplication due to RangerCredentialProvider.getCredentialString returns char[]
RANGER-2387add public api v2 for security zones
RANGER-2389Ranger Hive Plugin enhancement for KILL query and Replication commands authorization
RANGER-2390Ranger should add service admin privilege support for hive service objects - LLAP command sets
RANGER-2391Ranger authorization for ADD, COMPILE and CREATE TEMPORARY UDF operation in Hive
RANGER-2392Create / Update zone to have provision to associate Tag based service with zone
RANGER-2394Filter/exclude multiple users in audit search
RANGER-2395Add presto plugin
RANGER-2407[Best Practices] Update/Remove default header values sent from Ranger
RANGER-2408Restrict Ranger User's capabilities according to their role
RANGER-2420Ranger spends 36% of CPU in ObjectMapper
RANGER-2424Track and display application id of service generating access audit on access audit page
RANGER-2427Tag policies are not evaluated if no security zones are configured
RANGER-2431Upgrade Atlas version to 2.0.0
RANGER-2432Upgrade Hadoop Version to 3.1.1
RANGER-2435Add support for sticky breadcrumbs.
RANGER-2436Custom condition: Access from cluster
RANGER-2446Suggestion - Include security zone details as part of admin audit for policy update
RANGER-2454Remove the trailing slash in Ranger URL in RangerAdminJersey2RESTClient
RANGER-2458Cluster property name changes in Ranger Plugin code
RANGER-2464Upgrade spring, zookeeper, c3p0, jackson-databind, tomcat libraries
RANGER-2465Create a PolicyCondition to apply if all given tags are present for the accessed resource
RANGER-2466Improvement in setting cluster Name in RangerAccessRequest
RANGER-2467similar to clusterName custom condition, add clusterType custom condition.
RANGER-2468Upgrade jQuery version in Ranger.
RANGER-2475Replacing bootstrap accordion with jquery SlideToggle.
RANGER-2481Create a tag service when a resource service is created and link it to resource service
RANGER-2482Ranger: use Solr API to upload config set (during bootstrapping)
RANGER-2484Improve import API to merge the policies if resources are exactly same
RANGER-2489Missing dependencies in assembly for Presto plugin
RANGER-2490Add https support while using Solr API to upload config set
RANGER-2494Ranger Custom PolicyCondition for TagsNotPresent and AnyTagPresent
RANGER-2496Update Spring Security version to 4.2.13
RANGER-2498Improvement to plugin status tab.
RANGER-2503Ranger Import API should be able to override an existing policy
RANGER-2506Add cluster name in plugin status tab.
RANGER-2507Support for policy to implicitly deny all accesses not explicitly allowed by it
RANGER-2508Good coding practices for concurrent policy label creation
RANGER-2515add .gitignore for project plugin-presto and ranger-presto-plugin-shim
RANGER-2517UI changes for policy to implicitly deny all accesses not explicitly allowed by it.
RANGER-2523Ranger Admin debug config improvement

Bugs fixed

JIRASummary
RANGER-1644Change the default Crypt Algo to use stronger cryptographic algo.
RANGER-1738RangerYarnAuthorizer not compatible with Hadoop-3.0.0
RANGER-1951build problems with the saveVersion.py script
RANGER-1955Wrong quoting in Ranger SQL install scripts
RANGER-2112Ranger KMS broken with JDK 8 update 171
RANGER-2114Internal Exception: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column ‘content’ at row 1
RANGER-2152Incorrect debugging information in RangerPluginClassLoader.java
RANGER-2155Ranger Tagsync fails to Authenticate to Atlas when Tag Source set to AtlasRest in Kerberos environment
RANGER-2160‘Email Address’ search is not working properly along with other filter in user listing page,userRoles filters also needs to be improved.
RANGER-2165Address JPA Cache issue when policies Create, Update and Delete are done via REST API in Apache Ranger admin
RANGER-2166A ClassNotFound exception is thrown with atlasrest as a tag source
RANGER-2180Handle token replacement correctly when token is not defined in the request context
RANGER-2182Handle upgrade scenario since atlas-service def is added with new resources for relationship
RANGER-2183Use INodeAttribute information to authorize HDFS access
RANGER-2186Increment service-specific policy and tag versions after update transaction is committed
RANGER-2187External Group search fails on Ranger UI when installed with postgres
RANGER-2189Atlas service default policies should allow relationship operations for all
RANGER-2193Form validation during testconnection should be consistent with service creation/editing
RANGER-2195TagPolicy not working due to failure in updating tag policy version
RANGER-2196Ensure that any explicit threads used by Ranger are marked as daemon threads
RANGER-2197Delegate Admin is not able to create policy
RANGER-2201Log no ranger audits when entityId value is not null or empty string
RANGER-2204Ranger Admin‘s admin log event for changing Audit Logging of a policy doesn’t show the actual changes
RANGER-2213Tomcat Security Vulnerability Alert. The version of the tomcat for ranger should upgrade to 7.0.90.
RANGER-2215Can't copy and paste multiple paths into Ranger Admin UI for HDFS create policy
RANGER-2220Admin UI loads slowly because of many small JavaScript files
RANGER-2224‘drop temporary function ’ command should be handled by ‘global’ resource and ‘Temorary UDF Admin’ permission.
RANGER-2229Perform graceful terminate with retries before doing forceful kill for usersync and tagsync
RANGER-2234Cannot add or update a child row,a foreign key constraint fails when installing ranger-admin
RANGER-2235Modify the login session detail page as a modal.
RANGER-2238String comparison should not use ‘==’ in ServiceUtil.java
RANGER-2241Fix release build scripts to conform to latest Apache release guidelines - Part 2 - Remove sha1 and mds
RANGER-2242JiSQL utility is failing Oracle UDF
RANGER-2244Tomcat Security Vulnerability Alert. The version of the tomcat for ranger should upgrade to 7.0.91 or later.
RANGER-2245Exclude Jetty libraries
RANGER-2247Ranger Plugin for HDFS throws StringIndexOutOfBounds exception when policy resource is ""
RANGER-2248Sorting does not work in AbstractPredicateUtil.java
RANGER-2250Service configs fields are not showing for atlas service form page
RANGER-2252Permission “Kafka Admin” should not be part of Topic resource in Ranger Kafka resource definition
RANGER-2262Improvement of export to excel from report listing page for Oracle database.
RANGER-2263Remove unnecessary explicit dependency for apache commons compress jar in Ranger
RANGER-2264Kafka default policies for new resources are not showing up in UI when upgrade is done from older version
RANGER-2269Implement best coding practices for validating user input
RANGER-2270Restrict tag module access to unprivileged users
RANGER-2272Ensure that case of resource-definition names and access-type names in Ranger policy is the same as in service-definition after successful validation
RANGER-2273Allow service admin and delegated admin user to view list of users and groups though they have ‘USER’ role
RANGER-2275Make db_setup retry delay configurable
RANGER-2276Email Address should be verified when Add New User in Ranger Admin
RANGER-2277Kylin repository config missing “Common Name for Certificate”
RANGER-2278Unable to delete user if he has references in new ref tables.
RANGER-2280The emptyText of User Sync and Plugin Status should be reasonable
RANGER-2282The error message for changing password is incorrect in User Profile page.
RANGER-2283User is getting total count of groups even if he is assigned to one group due to which pagination is breaking
RANGER-2284Unable to build image using docker
RANGER-2288Sqoop repository config missing “Common Name for Certificate”
RANGER-2289Unable to get Audit Admin tab page.
RANGER-2292Test case fix for RANGER-2276
RANGER-2294Front-end and back-end email address regular expression should be the same
RANGER-2297getContentSummary validation failure
RANGER-2298Modify JAVA_VERSION_REQUIRED to 1.8 in install.properties
RANGER-2299Modify the permissions of the kms install.properties file to 700
RANGER-2304Need to add property dfs.permissions.ContentSummary.subAccess when enabling Ranger HDFS plugin manually
RANGER-2305When Audit spooling to local filesystem is enabled, log files of the component have show a wrong error message
RANGER-2306Knox Plugin doesn't pass X-Forwarded-for remote address to Ranger
RANGER-2307Native code can segfault or return misleading error messages
RANGER-2311After the user profile is updated, the page still displays the original information.
RANGER-2313tagsync fails to authenticate with ranger in kerberized cluster when using ranger-tagsync-update.sh script
RANGER-2316Incorrect path in Quick Start Guide
RANGER-2318Incorrect git url on the homepage
RANGER-2321Docker build fails due to PhantomJS dependency
RANGER-2326zoneName field is getting added with type “boolean” in Ranger Solr schema
RANGER-2327Update Ranger db schema to use common sequence name
RANGER-2328Time-based policies do not work correctly if access time is not set in the authorization request
RANGER-2333Logs does not get generated for Zone Description field available on Security Zone page.
RANGER-2334Audits: filter out service audit logs and additional users logs from user audit logs
RANGER-2335Overlapping of ‘include’ toggle button on policy create/edit page.
RANGER-2336Ranger HBase plugin should pack guava lib as a dependency.
RANGER-2337Context-Enrichers need to clean up completely when the policy-engine is destroyed
RANGER-2339UI changes for User role users should also have access to Security Zone
RANGER-2342Exclude jackson jaxrs library from ranger-admin packaging
RANGER-2343Evaluate tag policies in the same security zone as accessed resource
RANGER-2344Ranger HBase Test failure due to Mini HBase cluster start up issue.
RANGER-2347Restrict capabilities of security zone administrator and auditor
RANGER-2350Ranger UI: Clicking on zone edit Breadcrumb redirect to 404 page not found
RANGER-2352Ranger installation is failing for Oracle and Postgres DB
RANGER-2355Reports page: policy listing to have column of Zone name
RANGER-2356External user's email address can be edited
RANGER-2359Show zone association with tag based service.
RANGER-2367Hive “show grants” when Ranger is authorizer should show permission details from Ranger
RANGER-2371Security Zone policies do not work correctly when incremental policy updates are enabled
RANGER-2372Remove non-existing URL entries from spring config file
RANGER-2373User creation POST and PUT response not showing groupIdList and groupNameList with expected data
RANGER-2375RangerAuthContext is not correctly initialized
RANGER-2376Ranger Plugin ClassLoader Doesn't Restore Thread ClassLoader
RANGER-2381Failed to refresh policies when servicename contains space
RANGER-2383Incorrect response when trying to delete user attached to a security zone
RANGER-2384Get All Zones API is returning response in raw format,proper response object is required.
RANGER-2396Inconsistency in policy operations in a disabled Ranger service
RANGER-2397HiveServer2 fails to start with Hive Plugin for Ranger
RANGER-2399User's listing page hits users API call twice from UI
RANGER-2400policy name needs to be unique within security zone and service
RANGER-2401Ranger Secuity Zone needs to be added in audit type filter in admin audit
RANGER-2403proper error should be thrown when service part of zone being deleted
RANGER-2404Delegate-admin permission granted by policy needs to be effective only within the zone to which the policy belongs
RANGER-2405Evaluation of Ranger policies targeted to valid but partial resources
RANGER-2406rangerusersync open too many session for ldap sync
RANGER-2409Policy level condition sample matcher initialization issue
RANGER-2411Restrict Admin role user to create Zone for KMS service
RANGER-2412Policy Condition Evaluators existing and newly created should work in both policy level and policy item level
RANGER-2413Python script to update rangertagsync config properties
RANGER-2415Value of isExcludes flag needs to be considered when matching accessed resource to Ranger policy
RANGER-2417Set Atlas Entity owner to RangerAccessResource ownerUser attribute for Atlas Ranger Plugin
RANGER-2419Improve sql script to skip statements when atlas service def is not supported
RANGER-2421Solr audit fails in Atlas plugin
RANGER-2423Ranger KnoxSSO authentication in Ranger HA environment
RANGER-2430Zoneadmin User is able to create policy for those services which is not associated to zone
RANGER-2434Remove dependency from com.google.common.base.Objects or MoreObjects
RANGER-2437Update grant/revoke error message to provide more information about the principal type
RANGER-2438Legacy PublicAPI REST API to get all policies fails
RANGER-2439Unable to view policy details from access audits when policy has policy condition at policy level
RANGER-2444Admin logs are not getting generated when “policy level” policy condition is updated
RANGER-2445Import of Tag based policies for zone
RANGER-2449if service part of zone is not present then null pointer exception is thrown
RANGER-2451Atlas plugin is not working when security zone is created for Atlas service in Ranger Admin.
RANGER-2453Tag data-masking policy should allow only one tag as resource
RANGER-2455When service created inside a zone landing page that service gets created in unzonned landing page.
RANGER-2456Upgrade of Ranger Admin to the current version fails in PatchForKafkaServiceDefUpdate_J10025
RANGER-2459[E] ranger_core_db_mysql.sql file import failed!
RANGER-2463Ranger admin authorization audits fails intermittently to fetch from Solr
RANGER-2469java.lang.IllegalArgumentException: More than one fragment with the name during Ranger start after RANGER-2464
RANGER-2473Upgrade of Ranger Admin to the current version fails in PatchForAtlasResourceAndAccessTypeUpdate_J10016
RANGER-2474Policy version and details in access audits wrong when deny condition added to policy
RANGER-2478Exception in thread “main” java.lang.NoClassDefFoundError: com/google/common/base/Preconditions
RANGER-2479Change test connection preferred SQL statement for Oracle DB Flavor
RANGER-2480Hive URL Policy doesn't match if recursive flag is on for the url resource
RANGER-2485Security zone filter is causing Ranger audit access request waiting for longer
RANGER-2487Resource policy names with a characters that are typically HTML escaped mutate and grow as they are saved.
RANGER-2493Ranger takes long time to delete a service with many policies
RANGER-2500Zone Policies not getting imported when ‘updateIfExists=true’ is passed through curl.
RANGER-2502Presto plugin insert bug
RANGER-2509Add validation message for Importing non JSON file on import action.
RANGER-2511default tag based service is getting created for the tag based service
RANGER-2513Unable to delete user if he has references in new ref tables.
RANGER-2514Search field validation prompt is inconsistent with field names in audit page
RANGER-2516Update Ranger default policies to provide entity-read access to public group
RANGER-2518Allow service creator to delete the service
RANGER-2519Import policy may fail if a policy exists with same guid in another service
RANGER-2520Prevent Roles to be saved in Ranger Role Management page when user or groups are not added to the role

Tasks

JIRASummary
RANGER-2198Remove deprecated client API from HBase plugin
RANGER-2226Define explicit (test) dependency on json-smart in the Knox agent
RANGER-2256Grammatical error in UI
RANGER-2422Zone Admin and Zone Auditor can see only its associated audit access log
RANGER-2452Release Ranger 2.0.0

Tests

JIRASummary
RANGER-2150Unit test coverage for XUserMgr and UserMgr class
RANGER-2171Unit Test cases to cover policy operations from service admin user

Sub-tasks

JIRASummary
RANGER-2175Write install guide for Ranger Elasticsearch plugin RANGER-2170
RANGER-2219De-normalize schema for storing tags and related objects
RANGER-2260Atlas servicedef version change patch should update atlas access type def for tag def also.
RANGER-2274Allow delegated admin user to view list of users and groups though they have ‘USER’ role
RANGER-2293Create and update ref tables for security zone data
RANGER-2310Record admin audits in Ranger during Create, Update and Delete operations on Zone
RANGER-2320Make db schema patches script idempotent for all DB Flavors
RANGER-2402Best Practices: Make db schema script idempotent
RANGER-2429Ranger KMS is not starting properly
RANGER-2477Ranger KnoxSSO authentication when X-Forwarded-Host header is not forwarded

Wishes

JIRASummary
RANGER-2255Add JavaScript unit tests
RANGER-2319Remove deprecated phantomjs NPM package

Further reading