Introduction
- The "Password Safe" (Credential Store, CS) allows connection and other data to be encrypted and stored securely and independently of the application(s) such as.YADE and the JobScheduler YADE JITL Jobs that use this data. Access to the CS is only possible with access methods such as an SSH key or password.
- The CS requires the use of a
.kdbx
database and the installation of a kdbx-compatible interface such as "KeePass 2" or "KeePass-X". - The advantage of using a CS is that the CS stores the credentials (and other information/parameters) in a standardized, secure and fully encrypted database and sensitive authentication information is not exposed in use. Applications access the CS database via a standard interface. The CS database can only be accessed using password, encryption-key file (ppk) or a combination of both. The CS password is used to encrypt the contents stored in the CS database with AES.
- The CS can be used to securely store information or parameters, database connection URL, run-time decryption key and other access data.
Scope
This article describes the use of the Credential Store with the YADE Client via the client's command line interface.
A description of the use of the Credential Store with the YADE JITL job can be found in the Jobs JADEJob & JADE4DMZJob article.
Configuration Procedure
The examples presented in this article are based on the simple file transfer example described in the The YADE Client Command Line Interface - Tutorial 1 - Getting Started article. This tutorial describes the configuration required to download a number of files from a online server provided by the SOS GmbH and save these file on the user's local file system. Using this server means that users can get a working example up and running with a minimum of effort. A simplified version of the configuration used in the tutorial (only specifying FTP) is available as a download: sos-berlin_demo_2_local.xml. Instructions for installing and configuring the YADE Client can be found in the YADE - Tutorials article.
The configuration provided in the download file will cause six files in the root server folder to be copied to a local /jade_demo/transfer_receive
folder, generating the target folder in the user's home or profile directory if required and permissions are available. The files will be transferred by FTP and authentication for the server (user name and password) is specified in the download file.
KeePass 2 is used in the current article to install the credential store database.
Installing and configuring the Credential Store
The installation of KeePass is described on the Keepass Web Site.
For the examples described in the current article the following database was configured (on a Windows system):
- Path & name:
%USERPROFILE%\jade_demo\keepass\demo_cred_store.kdbx
- Master Password:
sos
In addition a Master Key file (not used in the example below) can be generated using the KeePass menu Files/Change Master Key option and then selecting the Show expert options checkbox (shown greyed out in the following screenshot).
Adding Data to the Credential Store
A group named ftp has been for the current example along with the entry demo in test.sos-berlin.com.
The following information can be retrieved from CS standard fields:
- User name : The user identification of a user who is authorized for the operation.
- Password : Assigned password for the user.
- Server-Name : Target server name or IP address
- Notes : Additional parameters/options such as YADE parameters, database connection URL, etc. can be stored in this section of the CS. The extra options are defined in a similarly way as used on the command line.
- File-Attachment : Files such as PGP or SSH private key files can be stored in the CS as attachments. Applications will retrieve the attached file at run-time and will delete the file immediately after the operation has been completed.
Configuration of an individual entry in the CS:
The following information was specified for the example in the database:
- Database:
demo_database
- Group:
demo
- Title:
demo on test.sos-berlin.com
- User name:
demo
- Password:
demo
- URL:
test.sos-berlin.com
(Alternatively, the IP address could have been specified here.)
Integrating the Credential Store in a File Transfer Configuration
The use of the Credential Store is specified in YADE Client file transfer configuration files, which are written in XML. We recommend using the SOS XML Editor to edit these files. Instructions for downloading, installing and using the XML Editor are linked from this page.
In the remainder of the current article, it is assumed that readers have made themselves familiar with the organization of the YADE Client file transfer configurations into Profiles and Fragments. This is described in the Getting Started YADE tutorial linked above.
The following configuration elements are required to specify the use of a Credential Store:
- A Credential Store Fragments element at the same level in the XML hierarchy as the Protocol Fragments elements.
- A Credential Store Fragment element that is referenced from the Protocol Fragment. This Fragment specifies the location and authentication for the Credential Store.
- Password, keyfile and combined password-keyfile authentication methods are possible.
- The values of the connection and authentication elements are modified to refer to elements stored within the Credential Store.
The XML Configuration
The parts of the XML configuration relevant to the use of the Credential Store are shown in the following screenshot of the XML Editor:
Running the YADE Client with the Credential Store
The use of the Credential Store is contained within the settings file and is not exposed when calling the YADE client. For example, on Windows systems, the YADE client could be called for the current example using:
C:\Program Files\sos-berlin.com\jade\client\bin>jade.cmd -settings="%USERPROFILE%\jade_demo\sos-berlin_demo_2_local.xml" -profile="ftp_server_2_local_cs"
The output produced when successful:
As with all YADE jobs, the number of successful file transfers can be seen in the log file.
See Also: