Thibault,

 

Yes. Currently Python client only supports basic auth. However, adding support 
for Kerberos should be straight forward. Will look into this shortly.

 

Thanks,

Madhan

 

 

 

 

From: Thibault Godouet <tib...@godouet.net>
Reply-To: <user@ranger.apache.org>
Date: Monday, December 7, 2020 at 11:57 AM
To: <user@ranger.apache.org>
Subject: Re: [ANNOUNCE] Apache Ranger - Python client

 

Hi Madhan,

 

Indeed, looking good and we'd be interested in replacing the internal code we 
have by your code.

However it only seems to support basic auth... Is this right?  If so, do you 
have plans to add Kerberos by any chance?

 

Thank you,

Thibault

On Sun, 6 Dec 2020, 00:37 Don Bosco Durai, <bo...@apache.org> wrote:

Madhan, this is very useful.

Thanks again

Regards

Bosco

On 12/4/20, 11:35 PM, "Madhan Neethiraj" <mad...@apache.org> wrote:

    Bosco,

    Yes. Python APIs support  CRUD operations on 
service-defs/services/policies/security-zones/roles - like:
      - create_policy()
      - update_policy()
      - update_policy_by_id()
      - apply_policy()
      - delete_policy()
      - delete_policy_by_id()
      - get_policy()
      - get_policy_by_id()
      - get_policies_in_service()
      - find_policies()

    Until documentation is in place, complete list of APIs can be found from 
RangerClient class here:  
https://github.com/apache/ranger/blob/master/intg/src/main/python/apache_ranger/client/ranger_client.py#L245.
 

    Hope this helps.

    Madhan


    On 12/4/20, 10:48 PM, "Don Bosco Durai" <bo...@apache.org> wrote:

        Madhan, this is very good.

        Does the script also supports deleting or modifying of Ranger Policies?

        Regards

        Bosco


        On 12/4/20, 9:09 AM, "Madhan Neethiraj" <mad...@apache.org> wrote:

            All,

            Official Python client for Apache Ranger is now available at 
https://pypi.org/project/apache-ranger/. Python client APIs mirror Apache 
Ranger REST APIs, and enable administration of Apache Ranger using Python.

            Here is a sample usage to create a service and a policy using 
Python client:

                from apache_ranger.model.ranger_service import RangerService
                from apache_ranger.client.ranger_client import RangerClient
                from apache_ranger.model.ranger_policy  import RangerPolicy, 
RangerPolicyResource, RangerPolicyItem, RangerPolicyItemAccess

                service_name = 'dev_hive'

                service = RangerService(name=service_name, type='hive')
                service.configs = {'username':'hive', 'password':'hive', 
'jdbc.driverClassName': 'org.apache.hive.jdbc.HiveDriver', 'jdbc.url': 
'jdfb:hive2://ranger-hadoop:10000', 'hadoop.security.authorization': 'true'}

                policy = RangerPolicy(service=service_name, name='test policy')
                policy.resources = {'database': 
RangerPolicyResource(['test_db']), 'table': RangerPolicyResource(['test_tbl']), 
'column': RangerPolicyResource(['*'])}
                policy.policyItems.append(RangerPolicyItem(users=['admin'], 
accesses=[RangerPolicyItemAccess('create'), RangerPolicyItemAccess('alter'), 
RangerPolicyItemAccess('drop')], delegateAdmin=True))
                policy.denyPolicyItems.append(RangerPolicyItem(users=['admin'], 
accesses=[RangerPolicyItemAccess('select')]))


                ranger_client   = RangerClient('http://localhost:6080', 
'admin', 'rangerR0cks!')
                created_service = ranger_client.create_service(service)
                created_policy  = ranger_client.create_policy(policy)

            Apache Ranger team is updating the documentation to include details 
of Python APIs.

            Your feedback and suggestions are welcome.

            Thanks,
            Madhan








Reply via email to