AppConfig - cross-reference/integration with Secret Manager and/or Param Store

0

Hi I just recently discovered the AppConfig feature of AWS, and it looks super cool and very useful. Our company sticks with Java and Spring Boot, so what I noticed there is already ongoing integration with the awspring.io library: Ticket: https://github.com/awspring/spring-cloud-aws/issues/465 Branch: https://github.com/awspring/spring-cloud-aws/tree/appconfig

However, I have some security concerns and would love to ask to implement a new feature to integrate Secret Manager or ParamStore with AppConfig so we could reference config secret parameter from Secret Manager or SSM

Here is what I mean by config example:

This is an example of how it works now:

spring:
  config:
    activate:
      on-profile: aws-qa-env
  r2dbc:
    username: "<your_user>"
    password: "<your_pass>"
    schema-name: "<schema_name>"
    url: r2dbc:mysql://<host>:<port>/${spring.r2dbc.schema-name}

This means that secrets must be specified in the config. However, I'm asking to extend Appconfig functionality and allow to reference to Secret Manager or SSM like this:

spring:
  config:
    activate:
      on-profile: aws-qa-env
  r2dbc:
    username: @{SSM:/my/path/to/db/username}
    password: @{SSM:/my/path/to/db/pass}
    schema-name: "<schema_name>"
    url: r2dbc:mysql://@{SSM:/my/path/to/db/host}:@{SSM:/my/path/to/db/port}/${spring.r2dbc.schema-name}

if AppConfig allows referencing to the secret manager, it would allow to implement automated secrets rotation and keep secrets separately from the general config. The reference keyholder as I mentioned in the example@{SSM:} could be anything that AWS dev team think might be a good fit for it, I just used it as an example

1 Answer
0

Thank you for the suggestions.

As per the document, https://aws.amazon.com/about-aws/whats-new/2023/02/aws-appconfig-expands-encryption-secrets-manager-kms/ AWS AppConfig can be integrated with Secrets Manager.

Please note that AWS AppConfig pulls the configuration from :

  1. AWS AppConfig hosted configuration store
  2. Amazon S3
  3. AWS CodePipeline
  4. AWS Secrets manager
  5. AWS Systems Manager Parameter Store
  6. AWS Systems Manager document store

Please find below the document to create a freeform configuration profile.
https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-creating-configuration-and-profile.html#appconfig-creating-configuration-and-profile-quotas

I hope this addressed your concern.

AWS
SUPPORT ENGINEER
Parul_g
answered 10 months ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions