AWS Secman Configuration¶
The awssecman plugin integrates DRP with AWS Secrets Manager as a secure parameter store. Once
configured, DRP parameters can reference secrets stored in AWS Secrets Manager using a lookup URI
scheme rather than storing secret values directly in DRP.
Installation¶
The awssecman plugin provider requires the drp-community-content content pack (version 4.8.0
or later) to be installed first.
Authentication Configuration¶
The plugin uses the AWS credential file in the home directory of the user running DRP. The default
profile is default. Test access with the AWS CLI before configuring the plugin:
Set the profile on the plugin object:
| Parameter | Description | Default |
|---|---|---|
awssecman/aws-profile |
AWS credential profile to use | default |
awssecman/aws-region |
AWS region for the Secrets Manager endpoint | (uses profile default) |
awssecman/aws-key-id |
AWS Access Key ID (overrides credential file) | "" |
awssecman/aws-secret |
AWS Secret Access Key (overrides credential file) | "" |
awssecman/cache-timeout |
Seconds to cache secrets in memory | 300 |
When awssecman/aws-key-id and awssecman/aws-secret are both set, they take precedence over the
local credential file and the profile setting is ignored.
Plugin Creation¶
The awssecman plugin is auto-started — it does not require a separate plugin instance to be
created. Configure it by setting the above parameters on the installed plugin provider. If you need
to create an explicit plugin instance:
drpcli plugins create '{
"Name": "my-awssecman",
"Provider": "awssecman",
"Params": {
"awssecman/aws-region": "us-east-1",
"awssecman/cache-timeout": 300
}
}'
Using Secrets in Parameters¶
Reference AWS secrets in DRP parameters using the awssecman:// URI scheme. Set the
decrypt/lookup-uri on a machine parameter to point to a secret in Secrets Manager:
# Store an IPMI password reference (the secret value stays in AWS)
drpcli machines set Name:my-server param ipmi/password to \
'{ "LookupUri": "awssecman://aws?secret=system/test/json&format=json" }'
# Retrieve and decrypt the secret
drpcli machines get Name:my-server param ipmi/password --decode
The URI format is: awssecman://<ignored>?secret=<path-to-secret>&format=json
The format=json option causes the returned string to be parsed as JSON and injected as a
structured object. Omit format to receive the secret value as a plain string.
Template expansion is supported in the URI path, allowing machine-specific secret lookups:
Troubleshooting¶
Set the plugins log level to trace to enable verbose logging:
Reset after troubleshooting to avoid log flooding and potential exposure of sensitive values.