Amazon web services 如何在AWS CDK中检索SecretsManager机密
我正在AWS中使用CDK设置Fargate服务Amazon web services 如何在AWS CDK中检索SecretsManager机密,amazon-web-services,aws-cdk,aws-secrets-manager,Amazon Web Services,Aws Cdk,Aws Secrets Manager,我正在AWS中使用CDK设置Fargate服务 const albFargateService = new ecs_patterns.ApplicationLoadBalancedFargateService( this, 'FargateService', { vpc: ..., taskImageOptions: { image: ..., containerPort: ...,
const albFargateService = new ecs_patterns.ApplicationLoadBalancedFargateService(
this,
'FargateService',
{
vpc: ...,
taskImageOptions: {
image: ...,
containerPort: ...,
secrets: {
MY_ENV_VAR: Secret.fromSecretsManager(
**ISecret**,
'fieldWithinTheSecret'
),
}
}
}
)
如果给定了秘密的名称,我应该如何获得ISCret的实例
我已经看过AWS SDK中的
AWS.SecretsManager
,但它只返回字符串。目前没有Secret.fromSecretName
-方法。假设您使用的是现有机密,则应使用secret.fromSecretArn
-方法
请注意,如果使用KMS密钥,则应使用中所述的Secret.fromSecretAttributes
-方法
从“@aws cdk/aws ecs”导入*作为ecs;
从“@aws cdk/aws ecs模式”导入*作为ecs_模式;
从“@aws cdk/aws secretsmanager”导入*作为secretsmanager;
const mySecret=secretsmanager.Secret.fromSecretArn(这个,“mySecret”,“arn:aws:secretsmanager:::Secret:-”;
const albFargateService=新的ecs_模式。应用程序负载平衡dFargateService(
这
“FargateService”,
{
vpc:。。。,
任务图像选项:{
图片:。。。,
集装箱港口:。。。,
秘密:{
MY_ENV_VAR:ecs.Secret.fromSecretsManager(mySecret),
}
}
}
);
注1:Secret.fromSecretArn
和Secret.fromSecretsManager
来自不同的名称空间(@aws cdk/aws secretsmanager和@aws cdk/aws ecs)。现在,aws cdk提供按名称导入机密。