You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by ve...@apache.org on 2015/04/30 18:55:43 UTC
incubator-ranger git commit: RANGER-440 : Add credential helper
python file
Repository: incubator-ranger
Updated Branches:
refs/heads/master 218d05ba8 -> 2ba2a2e58
RANGER-440 : Add credential helper python file
Signed-off-by: Velmurugan Periasamy <ve...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/2ba2a2e5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/2ba2a2e5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/2ba2a2e5
Branch: refs/heads/master
Commit: 2ba2a2e581cb2e6afd1bc288d26fdc8ef369d55c
Parents: 218d05b
Author: Gautam Borad <gb...@gmail.com>
Authored: Thu Apr 30 20:22:44 2015 +0530
Committer: Velmurugan Periasamy <ve...@apache.org>
Committed: Thu Apr 30 12:55:23 2015 -0400
----------------------------------------------------------------------
.../scripts/ranger_credential_helper.py | 69 ++++++++++++++++++++
src/main/assembly/admin-web.xml | 1 +
2 files changed, 70 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/2ba2a2e5/security-admin/scripts/ranger_credential_helper.py
----------------------------------------------------------------------
diff --git a/security-admin/scripts/ranger_credential_helper.py b/security-admin/scripts/ranger_credential_helper.py
new file mode 100644
index 0000000..f195bc0
--- /dev/null
+++ b/security-admin/scripts/ranger_credential_helper.py
@@ -0,0 +1,69 @@
+#!/usr/bin/python
+# 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.
+
+import sys
+import os
+from subprocess import Popen,PIPE
+from optparse import OptionParser
+
+
+def main():
+
+ parser = OptionParser()
+
+ parser.add_option("-l", "--libpath", dest="library_path", help="Path to folder where credential libs are present")
+ parser.add_option("-f", "--file", dest="jceks_file_path", help="Path to jceks file to use")
+ parser.add_option("-k", "--key", dest="key", help="Key to use")
+ parser.add_option("-v", "--value", dest="value", help="Value to use")
+ parser.add_option("-c", "--create", dest="create", help="Add a new alias")
+
+ (options, args) = parser.parse_args()
+ library_path = options.library_path
+ jceks_file_path = options.jceks_file_path
+ key = options.key
+ value = options.value
+ getorcreate = 'create' if options.create else 'get'
+ call_keystore(library_path, jceks_file_path, key, value, getorcreate)
+
+
+def call_keystore(libpath, filepath, aliasKey, aliasValue='', getorcreate='get'):
+ finalLibPath = libpath.replace('\\','/').replace('//','/')
+ finalFilePath = 'jceks://file/'+filepath.replace('\\','/').replace('//','/')
+ if getorcreate == 'create':
+ commandtorun = ['java', '-cp', finalLibPath, 'org.apache.ranger.credentialapi.buildks' ,'create', aliasKey, '-value', aliasValue, '-provider',finalFilePath]
+ p = Popen(commandtorun,stdin=PIPE, stdout=PIPE, stderr=PIPE)
+ output, error = p.communicate()
+ statuscode = p.returncode
+ if statuscode == 0:
+ print "Alias " + aliasKey + " created successfully!"
+ else :
+ print "Error creating Alias!! Error: " + str(error)
+
+ elif getorcreate == 'get':
+ commandtorun = ['java', '-cp', finalLibPath, 'org.apache.ranger.credentialapi.buildks' ,'get', aliasKey, '-provider',finalFilePath]
+ p = Popen(commandtorun,stdin=PIPE, stdout=PIPE, stderr=PIPE)
+ output, error = p.communicate()
+ statuscode = p.returncode
+ if statuscode == 0:
+ print "Alias : " + aliasKey + " Value : " + str(output)
+ else :
+ print "Error getting value!! Error: " + str(error)
+
+ else:
+ print 'Invalid Arguments!!'
+
+if __name__ == '__main__':
+ main()
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/2ba2a2e5/src/main/assembly/admin-web.xml
----------------------------------------------------------------------
diff --git a/src/main/assembly/admin-web.xml b/src/main/assembly/admin-web.xml
index 5886679..9136418 100644
--- a/src/main/assembly/admin-web.xml
+++ b/src/main/assembly/admin-web.xml
@@ -317,6 +317,7 @@
<include>upgrade_admin.py</include>
<include>upgrade.sh</include>
<include>update_property.py</include>
+ <include>ranger_credential_helper.py</include>
</includes>
<fileMode>544</fileMode>
</fileSet>