Components that are required to authenticate against a database or another repository need to have user credentials specified in configuration files. Such sensitive information must be encrypted so that the actual value of the password will be known only during runtime, protecting Aspire from potential malicious attacks.
Panel | ||||
---|---|---|---|---|
| ||||
|
In general, when using pre-packaged applications and the standard Aspire Admin interface (i.e. http://localhost:50505), all password encryption will be handled automatically. All passwords will be encrypted when stored in configuration files on disk, ZooKeeper, MongoDB or HBase.
All password encryption / decryption is based on a master key. Use the following steps to create a new random master key:
Notes:
Note | ||
---|---|---|
| ||
If you skip this step, all of the encryption on Aspire will use the default master key, which comes with all Aspire Distributions. All of your encrypted passwords will be exposed (to be decrypted in any other Aspire Distribution). Using a Master Key is extremely important to prevent this exposure. |
If you want to secure Aspire access to the Administration UI using the ConfigFile method, the best and most secure way is by encrypting the passwords. Complete the following steps.
Run bin\encryptPassword.bat. This script will create passwords of the "administrator" and "developer" users to be encrypted inside the settings.xml file when you use the optional "username" parameter. (For Linux, bin\encrypPassword.sh should be used.)
Enable the ConfigFile authentication on the settings.xml file:
Code Block | ||
---|---|---|
| ||
<authentication> <type>ConfigFile</type> </authentication> |
Note | ||
---|---|---|
| ||
If you need to create a new set of passwords, you should go to the settings.xml file and remove the "adminPassword" and "developerPassword" properties from the System Properties section before re-running the bin\encryptPassword script. |
You always need to encrypt your password to Aspire Maven repository. Also If you are creating a custom application which requires password encryption, you may need to encrypt it. In both cases you use the "encryptPassword" script.
To use password encryption, complete the following steps.