AMT Help Files
Home AMT Admin Advanced Configuration Secure Storage Vaults

Secure Storage Vaults

A Credential Vault (or Key Vault) is a secure storage location for database credentials in AMT.

Available Secure Storage Vaults

AMT Java supports the following types of vaults:

Azure

By using the environment credential option, the runtime gets access to the Key Vault by the way of an app registration in the Azure tenant.

To enable use of the Azure vault, you must first set the following environment variables:

AZURE_CLIENT_ID (required)
Enter the Azure client ID.

AZURE_CLIENT_SECRET (required)
Enter the Azure client secret.

AZURE_TENANT_ID (required)
Enter the Azure tenant ID.

The Control Center or Application configuration file must then be updated to point to the Azure Key Vault.

secureStorages:
  - id: azure
    vaultType: Azure
    vaultConfiguration:
      azureCredentialType: <your_environment_name>
      azureVaultName: <your_key_vault_name>

Google Cloud Platform

To enable use of the GCP vault, you must first set the following environment variables:

GOOGLE_APPLICATION_CREDENTIALS (required)
Enter the path to the service account JSON key file.

The Control Center or Application configuration file must then be updated to point to the GCP Secret Manager.

secureStorages:
  - id: gcp
    vaultType: GCP
    vaultConfiguration:
      gcpProjectId: <your_gcp_project_id>

HashiCorp

To enable use of the HashiCorp vault, you must first set the following environment variables:

VAULT_ADDR (required)
The server address of the vault provider.

VAULT_TOKEN (required)
The root token for authenticating with the HashiCorp Vault.

VAULT_OPEN_TIMEOUT
Timeout in minutes. For example: 5

VAULT_READ_TIMEOUT
Timeout in minutes. For example: 30

secureStorages:
  - id: hashi
    vaultType: HashiCorp
    vaultConfiguration:
      securePath: secret/amt

Optionally, the engine version of the HashiCorp Vault can be configured: engineVersion: 1.

CyberArk

Secrets are retrieved through HTTP via the REST API. There must be an established endpoint on the client side.

To enable use of the CyberArk vault, you must first set the following environment variables:

CYBERARK_URI (required)
Base URI of the CyberArk PVWA REST API endpoint. Example: https://pvwa.example.com/passwordvault/api

CYBERARK_APP_ID (required)
Application ID registered in CyberArk that identifies and authorizes this application to retrieve secrets.

Additional optional environment variables:

Key Vault File

The Key Vault file contains information about databases in the environment, such as usernames, passwords, or URLs.

 Good to know
All database settings can be stored in the Key Vault file.

On startup, the given values in this secrets file are encrypted, at which point these values should no longer be manually modified. Should the secrets file be manually updated, then please create a new Key Vault file. The secrets file is analyzed for an (invisible) null character followed by a binary marker: 閂 at the end of the file to verify that it is encrypted.

Important to note:

Examples

The following is an unencrypted sample of a Key Vault file:

# System database
systemDatabaseUser:=amtjava
systemDatabasePassword:=amtjava
systemDatabaseURL:=jdbc:postgresql://localhost/amtjava
# Application database custmanibm
custmanibmUser:=amtjava
custmanibmPassword:=amtjava
custmanibmURL:=jdbc:postgresql://localhost/custmanibm

The following is a sample of an encrypted Key Vault file:

# System database
gksystemDatabaseUser:=XXZW/zw1fn274rWjAGHHJg==
gksystemDatabasePassword:=XXZW/zw1fn274rWjAGHHJg==
gksystemDatabaseURL:=lPu0xEsVxm2iUUUnaaQDj5U/Jw26FDAMQ0Zl8IoSeloA88+7EjK7nkxpUccHU8SQ
# Application database custmanibm
gkcustmanibmUser:=aNplS0c7Vx5A3wX1VTuTdA==
gkcustmanibmPassword:=aNplS0c7Vx5A3wX1VTuTdA==
gkcustmanibmURL:=N4xGiYRQyy0pNv0SZFJKKg==
閂

Contents

 Go to top