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

为何AWS IoT自定义证书提供者的Lambda未被CreateCertificateFromCsr调用?

问题:自定义AWS IoT证书提供者未触发Lambda

我已创建AWS IoT证书提供者,配置如下:

{
   "certificateProviderName": "my-certificate-provider",
   "certificateProviderArn": "arn:aws:iot:eu-west-1:XXXXX:certificateprovider/my-certificate-provider",
   "lambdaFunctionArn": "arn:aws:lambda:eu-west-1:XXXXX:function:custom-certificate-provider",
   "accountDefaultForOperations": [
       "CreateCertificateFromCsr"
   ],
   "creationDate": "2024-03-19T07:10:20.261000+01:00",
   "lastModifiedDate": "2024-03-19T07:10:20.261000+01:00"
}

同时创建了IoT CA证书:

{
   "certificates": [
       {
           "certificateArn": "arn:aws:iot:eu-west-1:XXXXX:cacert/YYYY",
           "certificateId": "YYYY",
           "status": "ACTIVE",
           "creationDate": "2024-03-19T07:58:23.270000+01:00"
       }
   ]
}

按此配置,是否应该支持CreateCertificateFromCsr API或create-certificate-from-csr CLI命令?目前调用这些方法时,仍然使用Amazon内置的签发机制,自定义证书提供者关联的Lambda未被触发。


核心结论

你的配置理论上应该支持通过自定义证书提供者处理CreateCertificateFromCsr操作,但当前未触发Lambda的原因是:调用API/CLI时未显式指定使用自定义提供者,默认仍会走Amazon内置签发流程。

关键说明

即使将自定义证书提供者设置为CreateCertificateFromCsr操作的账号默认,AWS IoT的CreateCertificateFromCsr API/CLI不会自动切换到自定义提供者——必须显式指定证书提供者的ARN或名称,才会触发关联的Lambda。

正确调用方式

  1. CLI命令:添加--certificate-provider参数指定自定义提供者名称或ARN:
aws iot create-certificate-from-csr \
    --certificate-signing-request file://your-csr.pem \
    --certificate-provider my-certificate-provider \
    --set-as-active
  1. API调用:请求中包含certificateProvider字段:
{
  "certificateSigningRequest": "你的CSR内容",
  "certificateProvider": "my-certificate-provider",
  "setAsActive": true
}

额外验证项

  • 确认Lambda函数拥有iot:CreateCertificateFromCsr等必要权限,且IoT服务已被授权调用该Lambda(需在Lambda资源策略中配置允许IoT触发)。
  • 确认CA证书已与自定义证书提供者正确关联(如果Lambda逻辑需要使用该CA签发证书)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 12:03:27