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

如何为Lambda添加资源型策略?添加后控制台未显示问题求助

问题:CDK配置Lambda资源型策略后控制台不显示

我用以下AWS CDK Python代码为Lambda函数添加EventBridge触发的资源型策略,但策略并未在AWS控制台的Lambda权限页面显示,求解决方法。

我的CDK代码

asset_new_lambda = lambda_.Function(
    self,
    id=prefix + "asset_new",
    runtime=lambda_.Runtime.PYTHON_3_9,
    handler="asset.lambda_handler",
    code=lambda_.Code.from_asset("lambda/Scaleout_Lambdas/asset_new"),
    # tracing=lambda_.Tracing.ACTIVE,
    function_name=prefix + "asset_new",
    timeout=Duration.minutes(15),
    environment={
        "TABLE_NAME": metadata_table.table_name,
        "LOG_GROUP": log_group.log_group_name,
        "REGION": region,
        "PREFIX": prefix,
    },
    role=lambda_role,
    layers=[powertoolslambdaLayer],
    reserved_concurrent_executions=5,
)

asset_new_lambda.apply_removal_policy(cdk.RemovalPolicy.DESTROY)

# 尝试添加EventBridge调用Lambda的权限
CfnPermission(
    self,
    "AssetNewLambdaEventBridgePermissions",
    action="lambda:InvokeFunction",
    function_name=asset_new_lambda.function_name,
    principal="events.amazonaws.com",
    source_arn=f"arn:aws:events:{region}:{str(account)}:rule/*",
)

解决方法

1. 使用Lambda Function内置的add_permission方法替换CfnPermission

直接用CDK原生的add_permission方法,它会自动管理Lambda的资源策略,确保策略能在控制台正确显示,这也是CDK的最佳实践:

# 替换原来的CfnPermission代码
asset_new_lambda.add_permission(
    "AssetNewLambdaEventBridgePermissions",
    action="lambda:InvokeFunction",
    principal=events.ServicePrincipal("events.amazonaws.com"),
    source_arn=f"arn:aws:events:{region}:{str(account)}:rule/*",
)

注意需要提前导入events模块:import aws_cdk.aws_events as events

2. 验证CDK部署状态

运行cdk deploy --verbose查看部署日志,确认权限资源是否成功创建,没有报错信息。如果部署过程中有错误,根据日志排查问题(比如账号ID、region是否正确,资源依赖是否存在)。

3. 刷新Lambda控制台

有时候控制台会有缓存,切换到Lambda的「配置」→「权限」→「基于资源的策略语句」页面,刷新浏览器后再次查看。

4. 检查Source ARN格式

确认source_arn的格式完全正确,账号ID没有拼写错误,region和当前部署的区域一致,确保ARN指向有效的EventBridge规则范围。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 21:42:36