{"id":15334236,"url":"https://github.com/yaooqinn/spark-ranger","last_synced_at":"2025-10-10T06:30:59.641Z","repository":{"id":39979299,"uuid":"202500407","full_name":"yaooqinn/spark-ranger","owner":"yaooqinn","description":"已经合入(apache/incubator-kyuubi) ACL Management for Apache Spark SQL with Apache Ranger. ","archived":true,"fork":false,"pushed_at":"2021-11-11T08:35:44.000Z","size":119,"stargazers_count":54,"open_issues_count":30,"forks_count":56,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-01-27T21:39:26.092Z","etag":null,"topics":["acl","authorization","data-masking","ranger","row-level-security","spark","sparksql"],"latest_commit_sha":null,"homepage":"https://yaooqinn.github.io/spark-ranger/","language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yaooqinn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-08-15T08:06:29.000Z","updated_at":"2024-05-22T08:37:12.000Z","dependencies_parsed_at":"2022-08-25T18:21:53.735Z","dependency_job_id":null,"html_url":"https://github.com/yaooqinn/spark-ranger","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/yaooqinn/spark-ranger","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yaooqinn%2Fspark-ranger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yaooqinn%2Fspark-ranger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yaooqinn%2Fspark-ranger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yaooqinn%2Fspark-ranger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yaooqinn","download_url":"https://codeload.github.com/yaooqinn/spark-ranger/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yaooqinn%2Fspark-ranger/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279002966,"owners_count":26083489,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["acl","authorization","data-masking","ranger","row-level-security","spark","sparksql"],"created_at":"2024-10-01T10:06:24.827Z","updated_at":"2025-10-10T06:30:59.320Z","avatar_url":"https://github.com/yaooqinn.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Notice:\n\nThis library has been contribute to https://github.com/apache/submarine as a sub-module,\nand that module can still be used individually.\n\nThe project here will no longer be updated.\n \nIf you have any questions please go to \n\nhttps://github.com/apache/submarine/tree/master/docs/submarine-security/spark/README.md\n\nto learn how to use and give feedback to the apache submarine community by following \nhttps://submarine.apache.org/community/contributors.html\n\n\n# Spark SQL Ranger Security Plugin [![License](https://img.shields.io/badge/license-Apache%202-4EB1BA.svg)](https://www.apache.org/licenses/LICENSE-2.0.html) [![](https://tokei.rs/b1/github/yaooqinn/spark-ranger)](https://github.com/yaooqinn/spark-ranger)  [![codecov](https://codecov.io/gh/yaooqinn/spark-ranger/branch/master/graph/badge.svg)](https://codecov.io/gh/yaooqinn/spark-ranger) [![Build Status](https://travis-ci.com/yaooqinn/spark-ranger.svg?branch=master)](https://travis-ci.com/yaooqinn/spark-ranger) [![HitCount](http://hits.dwyl.io/yaooqinn/spark-ranger.svg)](http://hits.dwyl.io/yaooqinn/spark-ranger)\n\nACL Management for Apache Spark SQL with Apache Ranger, enabling:\n\n- Table/Column level authorization\n- Row level filtering\n- Data masking\n\n## Build\nSpark SQL Ranger Security Plugin is built based on [Apache Maven](http://maven.apache.org),\n\n```bash\nmvn clean package -Pspark-2.3 -Pranger-1.0 -DskipTests\n```\n\nCurrently, available profiles are:\n\nSpark: -Pspark-2.3, -Pspark-2.4\n\nRanger: -Pranger-1.0, -Pranger-1.1, -Pranger-1.2 -Pranger-2.0\n\n## Usage\n\n### Installation\n\nPlace the spark-ranger-\u0026lt;version\u0026gt;.jar into $SPARK_HOME/jars.\n\n### Installation Addons\n\nYou can find some tips and known problems about this library [here](docs/installation-addons.md).\n\n### Configurations\n\n#### Ranger admin client configurations\n\nCreate ranger-spark-security.xml in $SPARK_HOME/conf and add the following configurations for pointing to the right ranger admin server\n\n```xml\n\n\u003cconfiguration\u003e\n\n    \u003cproperty\u003e\n        \u003cname\u003eranger.plugin.spark.policy.rest.url\u003c/name\u003e\n        \u003cvalue\u003eranger admin address like http://ranger-admin.org:6080\u003c/value\u003e\n    \u003c/property\u003e\n\n    \u003cproperty\u003e\n        \u003cname\u003eranger.plugin.spark.service.name\u003c/name\u003e\n        \u003cvalue\u003ea ranger hive service name\u003c/value\u003e\n    \u003c/property\u003e\n\n    \u003cproperty\u003e\n        \u003cname\u003eranger.plugin.spark.policy.cache.dir\u003c/name\u003e\n        \u003cvalue\u003e./a ranger hive service name/policycache\u003c/value\u003e\n    \u003c/property\u003e\n\n    \u003cproperty\u003e\n        \u003cname\u003eranger.plugin.spark.policy.pollIntervalMs\u003c/name\u003e\n        \u003cvalue\u003e5000\u003c/value\u003e\n    \u003c/property\u003e\n\n    \u003cproperty\u003e\n        \u003cname\u003eranger.plugin.spark.policy.source.impl\u003c/name\u003e\n        \u003cvalue\u003eorg.apache.ranger.admin.client.RangerAdminRESTClient\u003c/value\u003e\n    \u003c/property\u003e\n\n\u003c/configuration\u003e\n```\n\nCreate ranger-spark-audit.xml in $SPARK_HOME/conf and add the following configurations to enable/disable auditing.\n\n```xml\n\u003cconfiguration\u003e\n\n    \u003cproperty\u003e\n        \u003cname\u003exasecure.audit.is.enabled\u003c/name\u003e\n        \u003cvalue\u003etrue\u003c/value\u003e\n    \u003c/property\u003e\n\n    \u003cproperty\u003e\n        \u003cname\u003exasecure.audit.destination.db\u003c/name\u003e\n        \u003cvalue\u003efalse\u003c/value\u003e\n    \u003c/property\u003e\n\n    \u003cproperty\u003e\n        \u003cname\u003exasecure.audit.destination.db.jdbc.driver\u003c/name\u003e\n        \u003cvalue\u003ecom.mysql.jdbc.Driver\u003c/value\u003e\n    \u003c/property\u003e\n\n    \u003cproperty\u003e\n        \u003cname\u003exasecure.audit.destination.db.jdbc.url\u003c/name\u003e\n        \u003cvalue\u003ejdbc:mysql://10.171.161.78/ranger\u003c/value\u003e\n    \u003c/property\u003e\n\n    \u003cproperty\u003e\n        \u003cname\u003exasecure.audit.destination.db.password\u003c/name\u003e\n        \u003cvalue\u003erangeradmin\u003c/value\u003e\n    \u003c/property\u003e\n\n    \u003cproperty\u003e\n        \u003cname\u003exasecure.audit.destination.db.user\u003c/name\u003e\n        \u003cvalue\u003erangeradmin\u003c/value\u003e\n    \u003c/property\u003e\n\n\u003c/configuration\u003e\n\n```\n\n#### Enable plugin via spark extensions\n\nspark.sql.extensions=org.apache.ranger.authorization.spark.authorizer.RangerSparkSQLExtension\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyaooqinn%2Fspark-ranger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyaooqinn%2Fspark-ranger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyaooqinn%2Fspark-ranger/lists"}