Enabling Key Trustee KMS High Availability
- Back up the Key Trustee KMS private key and configuration directory. See Backing Up and Restoring Key Trustee Server and Clients for more information.
- If you do not have a ZooKeeper service in your cluster, add one using the instructions in Adding a Service.
- Run the Add Role Instances wizard for the Key Trustee KMS service ( ).
- Click Select hosts and check the box for the host where you want to add the additional Key Management Server Proxy role. See Resource Planning for Data at Rest Encryption for considerations when selecting a host. Click OK and then Continue.
- On the Review Changes page of the wizard, confirm the authorization code, organization name, and settings, and then click Finish.
- Go to ZooKeeper Service dependency is set to the ZooKeeper service for your cluster. and make sure that the
- Synchronize the Key Trustee KMS private key.
Warning: It is very important that you perform this step. Failure to do so leaves Key Trustee KMS in a state where keys are intermittently inaccessible, depending on which Key Trustee KMS host a client interacts with, because cryptographic key material encrypted by one Key Trustee KMS host cannot be decrypted by another. If you are already running multiple Key Trustee KMS hosts with different private keys, immediately back up all Key Trustee KMS hosts, and contact Cloudera Support for assistance correcting the issue.
If you fail to maintain proper synchronization of private keys between Key Trustee KMS hosts, then the GPG validation check that runs automatically when the Key Trustee KMS is restarted will return the following error and abort the restart operation, forcing you to synchronize private keys before a restart can occur:
java.io.IOException: Unable to verify private key match between KMS hosts. Verify private key files have been synced between all KMS hosts. Aborting to prevent data inconsistency.
To determine whether the Key Trustee KMS private keys are different, compare the MD5 hash of the private keys. On each Key Trustee KMS host, run the following command:
$ md5sum /var/lib/kms-keytrustee/keytrustee/.keytrustee/secring.gpg
If the outputs are different, contact Cloudera Support for assistance. Do not attempt to synchronize existing keys. If you overwrite the private key and do not have a backup, any keys encrypted by that private key are permanently inaccessible, and any data encrypted by those keys is permanently irretrievable. If you are configuring Key Trustee KMS high availability for the first time, continue synchronizing the private keys.
Cloudera recommends following security best practices and transferring the private key using offline media, such as a removable USB drive. For convenience (for example, in a development or testing environment where maximum security is not required), you can copy the private key over the network by running the following rsync command on the original Key Trustee KMS host:rsync -zav /var/lib/kms-keytrustee/keytrustee/.keytrustee root@ktkms02.example.com:/var/lib/kms-keytrustee/keytrustee/.
Replace ktkms02.example.com with the hostname of the Key Trustee KMS host that you are adding.
- Restart the Key Trustee KMS service ( ).
- Restart the cluster.
- Redeploy the client configuration ( ).
- Re-run the steps in Validating Hadoop Key Operations.
<< Cloudera Navigator Key Trustee Server High Availability | ©2016 Cloudera, Inc. All rights reserved | Enabling Navigator HSM KMS High Availability >> |
Terms and Conditions Privacy Policy |