On this page
cyberark.pas.cyberark_account – Module for CyberArk Account object creation, deletion, and modification using PAS Web Services SDK.
Note
This plugin is part of the cyberark.pas collection (version 1.0.7).
You might already have this collection installed if you are using the ansible
package. It is not included in ansible-core
. To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install cyberark.pas
.
To use it in a playbook, specify: cyberark.pas.cyberark_account
.
New in version 2.4: of cyberark.pas
Synopsis
- Creates a URI for adding, deleting, modifying a privileged credential within the Cyberark Vault. The request uses the Privileged Account Security Web Services SDK.
Parameters
Parameter | Choices/Defaults | Comments | |
---|---|---|---|
address
string
|
The address of the endpoint where the privileged account is located.
|
||
api_base_url
string / required
|
A string containing the base URL of the server hosting CyberArk's Privileged Account Security Web Services SDK.
|
||
cyberark_session
dictionary / required
|
Dictionary set by a CyberArk authentication containing the different values to perform actions on a logged-on CyberArk session, please see M(cyberark_authentication) module for an example of cyberark_session.
|
||
identified_by
string
|
Default:
"username,address,platform_id"
|
When an API call is made to Get Accounts, often times the default parameters passed will identify more than one account. This parameter is used to confidently identify a single account when the default query can return multiple results.
|
|
logging_file
string
|
Default:
"/tmp/ansible_cyberark.log"
|
Setting the log file name and location for troubleshooting logs.
|
|
logging_level
string / required
|
|
Parameter used to define the level of troubleshooting output to the logging_file value.
|
|
name
string
|
The ObjectID of the account
|
||
new_secret
string
|
The new secret/password to be stored in CyberArk Vault.
|
||
platform_account_properties
dictionary
|
Object containing key-value pairs to associate with the account, as defined by the account platform. These properties are validated against the mandatory and optional properties of the specified platform's definition. Optional properties that do not exist on the account will not be returned here. Internal properties are not returned.
|
||
KEY
string
|
Freeform key value associated to the mandatory or optional property assigned to the specified Platform's definition.
aliases: Port, ExtrPass1Name, database |
||
platform_id
string
|
The PolicyID of the Platform that is to be managing the account
|
||
remote_machines_access
dictionary
|
Set of parameters for defining PSM endpoint access targets.
|
||
access_restricted_to_remote_machines
boolean
|
|
Whether or not to restrict access only to specified remote machines.
|
|
remote_machines
string
|
List of targets allowed for this account.
|
||
safe
string / required
|
The safe in the Vault where the privileged account is to be located.
|
||
secret
string
|
The initial password for the creation of the account
|
||
secret_management
dictionary
|
Set of parameters associated with the management of the credential.
|
||
automatic_management_enabled
boolean
|
|
Parameter that indicates whether the CPM will manage the password or not.
|
|
management_action
string
|
|
CPM action flag to be placed on the account object for credential rotation.
|
|
manual_management_reason
string
|
String value indicating why the CPM will NOT manage the password.
|
||
new_secret
string
|
The actual password value that will be assigned for the CPM action to be taken.
|
||
perform_management_action
string
|
|
always will perform the management action in every action.
on_create will only perform the management action right after the account is created.
|
|
secret_type
string
|
|
The value that identifies what type of account it will be.
|
|
state
string / required
|
|
Assert the desired state of the account present to creat or update and account object. Set to absent for deletion of an account object.
|
|
username
string
|
The username associated with the account.
|
||
validate_certs
boolean
|
|
If false , SSL certificate chain will not be validated. This should only set to true if you have a root CA certificate installed on each node.
|
Examples
collections:
- cyberark.pas
tasks:
- name: Logon to CyberArk Vault using PAS Web Services SDK
cyberark_authentication:
api_base_url: "http://components.cyberark.local"
validate_certs: no
username: "bizdev"
password: "Cyberark1"
- name: Creating an Account using the PAS WebServices SDK
cyberark_account:
logging_level: DEBUG
identified_by: "address,username"
safe: "Test"
address: "cyberark.local"
username: "administrator-x"
platform_id: WinServerLocal
secret: "@N&Ibl3!"
platform_account_properties:
LogonDomain: "cyberark"
OwnerName: "ansible_user"
secret_management:
automatic_management_enabled: true
state: present
cyberark_session: "{{ cyberark_session }}"
register: cyberarkaction
- name:
- Rotate credential via reconcile and providing the password to
bechanged to.
cyberark_account:
identified_by: "address,username"
safe: "Domain_Admins"
address: "prod.cyberark.local"
username: "admin"
platform_id: WinDomain
platform_account_properties:
LogonDomain: "PROD"
secret_management:
new_secret: "Ama123ah12@#!Xaamdjbdkl@#112"
management_action: "reconcile"
automatic_management_enabled: true
state: present
cyberark_session: "{{ cyberark_session }}"
register: reconcileaccount
- name: Logoff from CyberArk Vault
cyberark_authentication:
state: absent
cyberark_session: "{{ cyberark_session }}"
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description | ||
---|---|---|---|---|
changed
boolean
|
always |
Identify if the playbook run resulted in a change to the account in any way.
|
||
failed
boolean
|
always |
Whether playbook run resulted in a failure of any kind.
|
||
result
complex
|
success |
A json dump of the resulting action.
|
||
address
string
|
successful addition and modification |
The adress of the endpoint where the privileged account is located.
Sample:
dev.local
|
||
createdTime
integer
|
successful addition and modification |
Timeframe calculation of the timestamp of account creation.
Sample:
1567824520
|
||
id
integer
|
successful addition and modification |
Internal ObjectID for the account object identified
Sample:
25_21
|
||
name
string
|
successful addition and modification |
The external ObjectID of the account
Sample:
['Operating System-WinServerLocal-cyberark.local-administrator']
|
||
platformAccountProperties
complex
|
successful addition and modification |
Object containing key-value pairs to associate with the account, as defined by the account platform.
|
||
KEY VALUE
string
|
successful addition and modification |
Object containing key-value pairs to associate with the account, as defined by the account platform.
Sample:
[{'LogonDomain': 'cyberark'}, {'Port': '22'}]
|
||
platformId
string
|
successful addition and modification |
The PolicyID of the Platform that is to be managing the account.
Sample:
WinServerLocal
|
||
safeName
string
|
successful addition and modification |
The safe in the Vault where the privileged account is to be located.
Sample:
Domain_Admins
|
||
secretManagement
complex
|
successful addition and modification |
Set of parameters associated with the management of the credential.
Sample:
{'automaticManagementEnabled': {'description': ['Parameter that indicates whether the CPM will manage the password or not.'], 'returned': 'successful addition and modification', 'type': 'bool'}, 'lastModifiedTime': {'description': ['Timeframe calculation of the timestamp of account modification.'], 'returned': 'successful addition and modification', 'sample': '1567824520', 'type': 'int'}, 'manualManagementReason': {'description': None, 'returned': 'if automaticManagementEnabled is set to false', 'sample': 'This is a static account', 'type': 'str'}}
|
||
secretType
list / elements=string
|
successful addition and modification |
The value that identifies what type of account it will be
Sample:
['key', 'password']
|
||
userName
string
|
successful addition and modification |
The username associated with the account
Sample:
administrator
|
||
status_code
integer
|
success |
Result HTTP Status code.
Sample:
200, 201, -1, 204
|
Authors
- CyberArk BizDev (@cyberark-bizdev)
- Edward Nunez (@enunez-cyberark)
- James Stutes (@jimmyjamcabd)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/cyberark/pas/cyberark_account_module.html