| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- Metadata-Version: 2.1
- Name: apache-ranger
- Version: 0.0.3
- Summary: Apache Ranger Python client
- Home-page: https://github.com/apache/ranger/tree/master/intg/src/main/python
- Author: Apache Ranger
- Author-email: dev@ranger.apache.org
- License: Apache LICENSE 2.0
- Description: <!---
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
- -->
-
- # Apache Ranger - Python client
-
- Python library for Apache Ranger.
-
- ## Installation
-
- Use the package manager [pip](https://pip.pypa.io/en/stable/) to install python client for Apache Ranger.
-
- ```bash
- > pip install apache-ranger
- ```
-
- Verify if apache-ranger client is installed:
- ```bash
- > pip list
-
- Package Version
- ------------ ---------
- apache-ranger 0.0.3
- ```
-
- ## Usage
-
- ```python test_ranger.py```
- ```python
- # test_ranger.py
-
- from apache_ranger.model.ranger_service import *
- from apache_ranger.client.ranger_client import *
- from apache_ranger.model.ranger_policy import *
-
-
- ## Step 1: create a client to connect to Apache Ranger admin
- ranger_url = 'http://localhost:6080'
- ranger_auth = ('admin', 'rangerR0cks!')
-
- # For Kerberos authentication
- #
- # from requests_kerberos import HTTPKerberosAuth
- #
- # ranger_auth = HTTPKerberosAuth()
-
- ranger = RangerClient(ranger_url, ranger_auth)
-
- # to disable SSL certificate validation (not recommended for production use!)
- #
- # ranger.session.verify = False
-
-
- ## Step 2: Let's create a service
- service = RangerService()
- service.name = 'test_hive'
- service.type = 'hive'
- service.configs = {'username':'hive', 'password':'hive', 'jdbc.driverClassName': 'org.apache.hive.jdbc.HiveDriver', 'jdbc.url': 'jdbc:hive2://ranger-hadoop:10000', 'hadoop.security.authorization': 'true'}
-
- print('Creating service: name=' + service.name)
-
- created_service = ranger.create_service(service)
-
- print(' created service: name=' + created_service.name + ', id=' + str(created_service.id))
-
-
- ## Step 3: Let's create a policy
- policy = RangerPolicy()
- policy.service = service.name
- policy.name = 'test policy'
- policy.resources = { 'database': RangerPolicyResource({ 'values': ['test_db'] }),
- 'table': RangerPolicyResource({ 'values': ['test_tbl'] }),
- 'column': RangerPolicyResource({ 'values': ['*'] }) }
-
- allowItem1 = RangerPolicyItem()
- allowItem1.users = [ 'admin' ]
- allowItem1.accesses = [ RangerPolicyItemAccess({ 'type': 'create' }),
- RangerPolicyItemAccess({ 'type': 'alter' }) ]
-
- denyItem1 = RangerPolicyItem()
- denyItem1.users = [ 'admin' ]
- denyItem1.accesses = [ RangerPolicyItemAccess({ 'type': 'drop' }) ]
-
- policy.policyItems = [ allowItem1 ]
- policy.denyPolicyItems = [ denyItem1 ]
-
- print('Creating policy: name=' + policy.name)
-
- created_policy = ranger.create_policy(policy)
-
- print(' created policy: name=' + created_policy.name + ', id=' + str(created_policy.id))
-
-
- ## Step 4: Delete policy and service created above
- print('Deleting policy: id=' + str(created_policy.id))
-
- ranger.delete_policy_by_id(created_policy.id)
-
- print(' deleted policy: id=' + str(created_policy.id))
-
- print('Deleting service: id=' + str(created_service.id))
-
- ranger.delete_service_by_id(created_service.id)
-
- print(' deleted service: id=' + str(created_service.id))
-
- ```
- For more examples, checkout `sample-client` python project in [ranger-examples](https://github.com/apache/ranger/blob/master/ranger-examples/sample-client/src/main/python/sample_client.py) module.
-
- Keywords: ranger client,apache ranger
- Platform: UNKNOWN
- Classifier: Programming Language :: Python :: 2.7
- Classifier: License :: OSI Approved :: Apache Software License
- Classifier: Operating System :: OS Independent
- Requires-Python: >=2.7
- Description-Content-Type: text/markdown
|