To help you build a New Relic application, we provide you with the New Relic One SDK. On this page, you'll learn how to use NerdStorageVault
to store data in an encrypted storage solution.
Using NerdStorageVault
in your apps
Use NerdStorageVault
to store and retrieve sensitive secrets data such as:
- personal access tokens
- license keys
- API keys
- other third party secrets
Tip
NerdStorageVault
is encrypted with AES-256 encryption.
Usage considerations
- This storage is unique per Nerdpack, and can't be shared with any other Nerdpack.
NerdStorageVault
can currently only be used within the context of a Nerdpack.- You cannot make a direct query or mutation to
NerdStorageVault
. - You can explore the fields and response types via the NerdGraph API explorer.
- The only supported scope is ACTOR, or data that relates to a particular user.
Component library
Currently NerdStorageVault
is available in the alpha release of Nr1 Community component library and is not available in the Nr1 core components library. Open source components can be use to augment Nr1 core components for additional functionality.
NerdGraph queries
Below are examples of the queries used by the components to interact with NerdStorageVault
.
Tip
NerdStorageVault
can currently only be used within the context of a Nerdpack.
Write
mutation { nerdStorageVaultWriteSecret( scope: { actor: CURRENT_USER } secret: { key: "test", value: "secret_test" } ) { status errors { message type } }}
Delete
mutation { nerdStorageVaultDeleteSecret( scope: { actor: CURRENT_USER } key: "test_key" ) { status errors { message type } }}
Fetch a single secret
query { actor { nerdStorageVault { secret(key: "test_key") { key value } } }}
Fetch a list of secrets
query { actor { nerdStorageVault { secrets { key value } } }}
Limits
- A maximum of 10 secrets can be stored per ACTOR.
- A secret value is limited to 5000 characters.
- A key value is limited to 64 characters.
Permissions for working with NerdStorageVault
In order to persist changes to NerdStorageVault
, such as writing, deleting,
and fetching data, you must have a user role with permission to persist changes.