[
https://issues.apache.org/jira/browse/RANGER-4910?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17881714#comment-17881714
]
Bosco commented on RANGER-4910:
-------------------------------
I have created a corresponding feature request on Polaris side also.
[https://github.com/apache/polaris/issues/274]
> Develop Apache Ranger Plugin for Polaris to Enhance Access Control for Apache
> Iceberg
> -------------------------------------------------------------------------------------
>
> Key: RANGER-4910
> URL: https://issues.apache.org/jira/browse/RANGER-4910
> Project: Ranger
> Issue Type: New Feature
> Components: plugins
> Reporter: Bosco
> Priority: Major
>
> Polaris, recently open-sourced by Snowflake, provides comprehensive technical
> metadata management for Apache Iceberg. Key features of Polaris include:
> - *RBAC (Role-Based Access Control):* Polaris supports RBAC for table and
> view-level operations. [See
> Documentation]([https://polaris.io/#tag/Access-Control])
> - *Role Management:* Polaris allows the creation of Principals with roles
> like Data Engineer, Data Scientist, etc.
> - *Catalog Roles:* Specialized roles like Catalog Administrators, Catalog
> Readers, and Catalog Contributors can be defined to manage access to
> different parts of the data catalog.
> - *Granular Privileges:* Polaris provides fine-grained privileges for
> operations on Tables, Views, Namespaces, and Catalogs. Examples include
> `TABLE_CREATE`, `TABLE_READ_DATA`, `TABLE_WRITE_DATA`, `VIEW_CREATE`,
> `NAMESPACE_CREATE`, `CATALOG_MANAGE_CONTENT`, and more.
> - *Credential Vending:* Polaris vends credentials based on the specific
> table the user is trying to access.
> - *API for Role Management:* Polaris offers an API to manage grants for
> roles, allowing fine-tuned control over data access.
> *Objective:*
> To enhance the usability and security of Polaris for Apache Iceberg users,
> the request is to develop an Apache Ranger plugin that integrates Polaris'
> access control features with Apache Ranger. This integration will allow for
> centralized and consistent management of access policies, audit logging, and
> fine-grained access control across different tools used with Apache Iceberg.
> *Use Cases:*
> 1. *Centralized Access Policy Management:*
> - Implement centralized and consistent management of access policies for
> data stored using Apache Iceberg across multiple tools and environments.
> 2. *Access Control for Data Engineering Workloads:*
> - Manage and control access to datasets used by Data Engineering workloads
> (e.g., Apache Spark) with a coarser-grained approach at the table level.
> 3. *Fine-Grained Access Control for Data Analysts:*
> - Provide fine-grained access control for Data Analysts using compute
> engines like Trino. This control can be enforced by leveraging the native
> Ranger Plugin in Trino, allowing for more granular control over data access
> at the table, view, or even column level.
> 4. *Centralized Access Auditing:*
> - Enable centralized collection and analysis of access audit logs across all
> tools used to access datasets in Iceberg, ensuring comprehensive auditing and
> compliance.
> *References:*
> - [PolarisAuthorizer Class on
> GitHub]([https://github.com/polaris-catalog/polaris/blob/main/polaris-core/src/main/java/io/polaris/core/auth/PolarisAuthorizer.java):]
> The `PolarisAuthorizer` class provides the core authorization logic in
> Polaris, which can be leveraged by the Apache Ranger plugin.
> *Expected Deliverables:*
> - A fully functional Apache Ranger plugin for Polaris that supports the
> outlined use cases.
> - Documentation on how to configure and deploy the plugin.
> - Integration tests to ensure the plugin works as expected with Apache
> Iceberg and other tools like Apache Spark and Trino.
> - A detailed user guide explaining how to use the plugin for managing access
> control in various scenarios.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)