Add a Database Collector
secure-credential-store-api internal library to encrypt passwords and the PKCS5 encryption algorithm.
Applies when `appdynamics.controller.fips.enabled=true`.
Database Monitoring stores database credentials and other sensitive collector attributes in encrypted form. Existing collectors might contain secrets encrypted with legacy DES or the Secure Credential Store implementation. These encryption methods are unavailable or not FIPS compliant when FIPS mode is enabled.
Collectors without sensitive attributes are not affected. Affected attributes can include:-
Database password
-
Host password
-
Oracle SSL keystore password
-
Oracle SSL truststore password
-
JMX password
-
HashiCorp Vault JWT token
-
AWS secret access key
-
Other collector properties marked as sensitive
-
In the Controller UI, select Configuration > Collectors.
-
Find the collector identified by the migration query.
-
Edit the collector.
-
Re-enter each applicable password or secret.
-
Save the collector configuration.
encryption_scheme value is standard.
Support identification query
Use the following query to identify collectors that contain sensitive attributes and might require migration:
SET @HasPropertiesTable := (
SELECT COUNT(*)
FROM information_schema.tables
WHERE table_schema = 'controller'
AND table_name = 'db_monitor_config_properties'
);
SET @ConfigCheckSql := IF(
@HasPropertiesTable > 0,
'SELECT dmc.id, dmc.name, dmc.encryption_scheme
FROM controller.db_monitor_config dmc
LEFT JOIN controller.db_monitor_config_properties dmcp
ON dmc.id = dmcp.db_monitor_config_id
AND dmcp.name IN (
''dbagent.hc.vault.auth.jwt.token'',
''dbagent.hc.vault.auth.aws.secretAccessKey''
)
WHERE dmc.password IS NOT NULL
OR dmc.host_password IS NOT NULL
OR dmc.orassl_keystore_password IS NOT NULL
OR dmc.orassl_truststore_password IS NOT NULL
OR dmc.extra_properties LIKE ''%"sensitive":true%''
OR dmcp.value IS NOT NULL',
'SELECT dmc.id, dmc.name, dmc.encryption_scheme
FROM controller.db_monitor_config dmc
WHERE dmc.password IS NOT NULL
OR dmc.host_password IS NOT NULL
OR dmc.orassl_keystore_password IS NOT NULL
OR dmc.orassl_truststore_password IS NOT NULL
OR dmc.extra_properties LIKE ''%"sensitive":true%'''
);
PREPARE ConfigCheckStmt FROM @ConfigCheckSql;
EXECUTE ConfigCheckStmt;
DEALLOCATE PREPARE ConfigCheckStmt;