这是 AWS CDK v2 开发者指南。旧版 CDK v1 于 2022 年 6 月 1 日进入维护阶段,并于 2023 年 6 月 1 日终止支持。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
要使用 AWS CDK 应用程序 AWS Secrets Manager 中的值,请使用 fromSecretAttributes() 方法。它表示从 Secrets Manager 检索并在 AWS CloudFormation 部署时使用的值。以下是示例:
import * as sm from "aws-cdk-lib/aws-secretsmanager";
export class SecretsManagerStack extends cdk.Stack {
constructor(scope: cdk.App, id: string, props?: cdk.StackProps) {
super(scope, id, props);
const secret = sm.Secret.fromSecretAttributes(this, "ImportedSecret", {
secretCompleteArn:
"arn:aws:secretsmanager:<region>:<account-id-number>:secret:<secret-name>-<random-6-characters>"
// If the secret is encrypted using a KMS-hosted CMK, either import or reference that key:
// encryptionKey: ...
});
提示
使用 AWS CLI create-secret CLI 命令从命令行创建密钥,例如在测试时:
aws secretsmanager create-secret --name ImportedSecret --secret-string mygroovybucket
该命令会返回一个 ARN,您可以将其用于前面的示例。
创建 Secret
实例后,您可以从实例的 secretValue
属性中获取密钥的值。该值由一个 SecretValue
实例表示,这是一种特殊类型的 代币和 AWS CDK。因为它是一个令牌,所以只有在解析之后才有意义。CDK 应用程序无需访问其实际值。相反,应用程序可以将 SecretValue
实例(或其字符串或数字表示形式)传递给任何需要该值的 CDK 方法。