You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用CDK .NET为AWS Fargate任务配置SecretsManager指定密钥环境变量

解决CDK .NET中从Secrets Manager多键值对密钥提取指定键配置Fargate环境变量的问题

你不需要在ARN中追加键名来指定密钥内的具体字段,CDK .NET提供了更直接的方式:在Amazon.CDK.AWS.ECS.Secret.FromSecretsManager方法中通过secretKey参数指定目标键名即可。

正确实现步骤

  1. 获取Secrets Manager的Secret对象:使用完整ARN、密钥名称或部分ARN获取已存在的密钥对象(无需在ARN中包含键名)。
  2. 提取指定键并映射为环境变量:在FromSecretsManager方法中传入secretKey参数,指定要提取的密钥内的键。

代码示例

使用完整ARN获取密钥并提取指定键

// 通过完整ARN获取Secrets Manager密钥对象(包含自动生成的6位随机后缀)
var multiKeySecret = Secret.FromSecretCompleteArn(
    this, 
    "MultiKeySecret", 
    "arn:aws:secretsmanager:us-east-1:123456789012:secret:your-secret-name-abc123"
);

TaskImageOptions = new ApplicationLoadBalancedTaskImageOptions
{
    ContainerName = "Container name",
    Image = ContainerImage.FromRegistry("your-image-repo/your-image:tag"),
    Secrets = new Dictionary<string, Amazon.CDK.AWS.ECS.Secret>
    {
        // 将密钥中的key1映射为ENV_KEY_1环境变量
        {"ENV_KEY_1", Amazon.CDK.AWS.ECS.Secret.FromSecretsManager(multiKeySecret, "key1")},
        // 将密钥中的key2映射为ENV_KEY_2环境变量
        {"ENV_KEY_2", Amazon.CDK.AWS.ECS.Secret.FromSecretsManager(multiKeySecret, "key2")}
    }
};

使用密钥名称获取密钥(自动处理ARN后缀)

如果你不知道密钥ARN的随机后缀,可以用FromNameV2按名称获取:

var multiKeySecret = Secret.FromNameV2(
    this, 
    "MultiKeySecret", 
    "your-secret-name"
);

// 后续映射环境变量的代码和上面一致

使用部分ARN获取密钥

如果你只知道ARN前缀(不含随机后缀),可以用FromAttributes:

var multiKeySecret = Secret.FromAttributes(
    this, 
    "MultiKeySecret", 
    new SecretAttributes
    {
        SecretArn = "arn:aws:secretsmanager:us-east-1:123456789012:secret:your-secret-name"
    }
);

// 后续映射环境变量的代码和上面一致

原理说明

部署后,CDK会自动生成符合ECS要求的容器定义配置,例如:

{
  "containerDefinitions": [{
    "secrets": [{
      "name": "ENV_KEY_1",
      "valueFrom": "arn:aws:secretsmanager:us-east-1:123456789012:secret:your-secret-name-abc123:key1::"
    }]
  }]
}

完全匹配你参考文档中的格式,无需手动拼接ARN。

内容的提问来源于stack exchange,提问作者Leandro Ribeiro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 12:55:25