AWS CDK AWS Secrets Manager (v1)

1.204.0 · active · verified Fri Apr 17

The `aws-cdk-aws-secretsmanager` package provides AWS Cloud Development Kit (CDK) constructs for defining and managing AWS Secrets Manager resources. This package is part of the AWS CDK v1 ecosystem, allowing developers to provision secrets, configure their rotation, and manage access policies using Python. AWS CDK generally follows a frequent release cadence, often coinciding with new AWS service features. The current version, 1.204.0, is specific to CDK v1.

Common errors

Warnings

Install

Imports

Quickstart

This quickstart demonstrates how to define a new secret using `aws-cdk.aws-secretsmanager`. It creates a secret with a generated random password, which is a common pattern for database credentials or API keys. Remember that sensitive values should not be hardcoded directly into your CDK code.

from aws_cdk import App, Stack, aws_secretsmanager as secretsmanager
from constructs import Construct

class MySecretsStack(Stack):
    def __init__(self, scope: Construct, construct_id: str, **kwargs) -> None:
        super().__init__(scope, construct_id, **kwargs)

        # Define a new secret with a generated password
        my_app_secret = secretsmanager.Secret(self, "MyAppSecret",
            description="A secret for my application",
            generate_secret_string=secretsmanager.SecretStringGenerator(
                password_length=20,
                exclude_characters='@/" '
            )
        )

        # You can also define a secret with a specific value (e.g., loaded from env var)
        # Note: Avoid hardcoding sensitive values directly
        # my_static_secret = secretsmanager.Secret(self, "MyStaticSecret",
        #     secret_string="my-super-secret-value"
        # )

        # To reference the secret ARN, for example, for a policy or output
        # print(f"Secret ARN: {my_app_secret.secret_arn}")

app = App()
MySecretsStack(app, "MySecretsStackExample")
app.synth()

view raw JSON →