如何解决如何在AWS CDK中检索SecretsManager机密
我正在使用CDK在AWS中设置Fargate服务
const albFargateService = new ecs_patterns.ApplicationLoadBalancedFargateService(
this,'FargateService',{
vpc: ...,taskImageOptions: {
image: ...,containerPort: ...,secrets: {
MY_ENV_VAR: Secret.fromSecretsManager(
**ISecret**,'fieldWithinTheSecret'
),}
}
}
)
在给出秘密名称的情况下,我应该如何掌握 ISecret 实例?
我已经从AWS开发工具包中查看了AWS.SecretsManager
,但它仅返回字符串。
解决方法
当前没有Secret.fromSecretName
方法。假设您使用的是现有机密,则应使用Secret.fromSecretArn
方法。
请注意,如果您使用KMS密钥,则应使用Get a value from AWS secrets manager中所述的Secret.fromSecretAttributes
方法。
import * as ecs from "@aws-cdk/aws-ecs";
import * as ecs_patterns from "@aws-cdk/aws-ecs-patterns";
import * as secretsmanager from "@aws-cdk/aws-secretsmanager";
const mySecret = secretsmanager.Secret.fromSecretArn(this,"mySecret","arn:aws:secretsmanager:<region>:<account-id-number>:secret:<secret-name>-<random-6-characters>");
const albFargateService = new ecs_patterns.ApplicationLoadBalancedFargateService(
this,'FargateService',{
vpc: ...,taskImageOptions: {
image: ...,containerPort: ...,secrets: {
MY_ENV_VAR: ecs.Secret.fromSecretsManager(mySecret),}
}
}
);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。