CyberArk Application Access Manager Client Library for Python 3
Project description
pyAIM
CyberArk Application Access Manager Client Library for Python 3
This project simplifies the interaction between a Python 3 application or script and CyberArk's Application Access Manager's Credential Provider using the appropriate CLIPasswordSDK executable for the Operating System being used. By simplifying this process, developers are only required to change four (4) lines of code in their Python 3 applications and scripts to securely retrieve privileged secrets from CyberArk's Privileged Access Security (PAS) Core Solution as opposed to thirty or more (30+) without the use of this provided Client Library.
Table of Contents
Install
Pre-Requisite
- CyberArk Application Access Manager Credential Provider installed locally.
For information on how to install, please refer to CyberArk's Application Access Manager Installation Guide.
Windows
Install the Python 3 release for Windows
pip3 install pyaim
Linux
Ubuntu/Debian
Install Latest Python 3
sudo apt install -y python3 python3-pip
Install pyAIM via Pip
pip3 install pyaim
RHEL/CentOS
Enable epel-release if using RHEL
Follow the EPEL Documentation.
Install Latest Python 3
RHEL
sudo yum install -y https://rhel7.iuscommunity.org/ius-release.rpm
sudo yum update
sudo yum install -y python36u python36u-libs python36u-devel python36u-pip
CentOS
sudo yum install -y https://centos7.iuscommunity.org/ius-release.rpm
sudo yum update
sudo yum install -y python36u python36u-libs python36u-devel python36u-pip
Install pyAIM via Pip
pip install pyaim
MacOS
No support provided yet.
Z/OS
pyAIM is untested on Z/OS but should work in theory.
Install Latest Python 3
Rocket Software has ported Python 2 and 3 for Z/OS
Install pyAIM via Pip
pip install pyaim
Usage
Retrieve Account
Credential Provider (CLIPasswordSDK) Method
from pyaim import CLIPasswordSDK
aimcp = CLIPasswordSDK('/opt/CARKaim/sdk/clipasswordsdk')
response = aimcp.GetPassword('appID','safeName','objectName')
print('Full Response: {}'.format(response))
print('Username: {}'.format(response['Username']))
print('Password: {}'.format(response['Password']))
print('Address: {}'.format(response['Address']))
print('Port: {}'.format(response['Port']))
print('PasswordChangeInProcess: {}'.format(response['PasswordChangeInProcess']))
Maintainer
Contributing
For the time being, only internal CyberArk contributions are being considered.
Feel free to report any feature requests or bugs on the GitHub Issues page.
Keep checking back for an update regarding open Contributions in the near future.
License
MIT © Joe Garcia, CISSP
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.