The PrivX Software Development Kit (SDK) facilitates you with an automation of lean access management for privileged users. It offers a high-level abstraction to programmatically configure your IAM policies.
Just-in-time access management is the challenging, find out more pain points from this video.
PrivX improves the process of granting and revoking access, ensures your admins and engineers always have one-click access to the right infrastructure resources, and gives you an audit trail - vital if you are handling sensitive data or working in IT outsourcing.
PrivX is an ultimate replacement for jump hosts and bastions. It adds traceability to shared accounts using shared passwords, and conveniently combines access management for your On-Prem, AWS, Azure and GCP infrastructure, all in one multi-cloud solution.
Learn more about PrivX or try Live Demo.
This projects implements a high level Python abstraction to PrivX REST API.
- OAuth2 Client Authentication
- Hosts Management
- Roles Management
- Users Management
The latest version of SDK is available at its master
branch. All development, including new features and bug fixes, take place on the master
branch using forking and pull requests as described in contribution guidelines.
The library is available using pip
pip install git+https://github.com/SSHcom/privx-sdk-for-python.git
Essentially, the library requires up-and-running PrivX instance.
Please see examples
The SDK is Apache 2.0 licensed and accepts contributions via GitHub pull requests:
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Added some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
The development requires Python 3.6 and essential build tools.
The commit message helps us to write a good release note, speed-up review process. The message should address two question what changed and why. The project follows the template defined by chapter Contributing to a Project of Git book.
If you experience any issues with the library, please let us know via GitHub issues. We appreciate detailed and accurate reports that help us to identity and replicate the issue.
-
Specify the configuration of your environment. Include which operating system you use and the versions of runtime environments.
-
Attach logs, screenshots and exceptions, in possible.
-
Reveal the steps you took to reproduce the problem, include code snippet or links to your project.
- Line-width is 88 symbols
- Use Type Annotation
- Use double quotes
- Use isort for sorting the imports order
isort path --settings linter_config.cfg
- Format code using black
black path
- Check PEP using flake8
flake8 path --config ./linter_config.cfg
OR use bash script
./run_linters.sh path