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

生产环境中如何让IIS使用AWS CLI凭证访问AWS Secrets Manager?

解决IIS进程访问AWS Secrets Manager凭证的问题

1. 先明确IIS应用池对应的实际用户目录

你之前找错路径了,不同的应用池标识对应不同的存储目录:

  • 如果应用池用的是ApplicationPoolIdentity(默认设置),对应的用户目录是C:\Windows\System32\config\systemprofile\.aws,并非C:\Users下的路径
  • 如果是自定义的应用池账户(比如IIS AppPool\你的应用池名称),C:\Users\你的应用池名称这个目录默认不会自动生成,需要手动触发创建

2. 把AWS凭证配置到正确路径

针对ApplicationPoolIdentity的情况

  • 手动创建路径:C:\Windows\System32\config\systemprofile\.aws
  • 在该目录下新建credentials文件,内容和你本地AWS CLI的配置格式一致:
    [default]
    aws_access_key_id = 你的AccessKey
    aws_secret_access_key = 你的SecretKey
    
  • 给这个.aws目录和credentials文件添加IIS AppPool\你的应用池名称的读取权限,或者给IIS_IUSRS组添加读取权限也可

针对自定义应用池账户的情况

  • 用这个自定义账户登录服务器,打开一次命令提示符(cmd),系统会自动生成对应的用户目录C:\Users\自定义账户名
  • 然后在该目录下创建.aws\credentials文件,填入凭证信息
  • 确保这个自定义账户对.aws目录和文件拥有读取权限

3. 验证凭证是否生效

重启你的IIS应用池,然后测试应用是否能正常从AWS Secrets Manager获取凭证

更安全的替代方案

不建议直接在服务器存放明文凭证,推荐这些更合规的方式:

  • 如果是EC2上的IIS,给EC2实例绑定AWS IAM角色,代码无需存储任何凭证即可访问Secrets Manager
  • 或者通过环境变量给IIS应用注入AWS凭证,避免依赖用户目录的配置文件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 17:30:59