AWS Lambda 设计器未显示函数角色

Posted

技术标签:

【中文标题】AWS Lambda 设计器未显示函数角色【英文标题】:AWS Lambda designer not showing function roles 【发布时间】:2020-04-15 13:24:38 【问题描述】:

我正在 AWS 中创建一个具有执行角色的 Lambda 函数,该角色允许访问 Step 函数、Cloudwatch、SES 和 SNS。角色是这样的:


    "Version": "2012-10-17",
    "Statement": [
        
            "Action": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": "arn:aws:logs:*:*:*",
            "Effect": "Allow"
        ,
        
            "Action": [
                "ses:*",
                "states:*",
                "sns:*"
            ],
            "Resource": "*",
            "Effect": "Allow"
        
    ]

我希望看到这样的东西:

但相反,我看到没有显示任何权限。

在 IAM 中,我还看到一个问题弹出:“此策略定义了一些不提供权限的操作、资源或条件。要授予访问权限,策略必须具有具有适用资源或条件的操作。”或许与此有关?

【问题讨论】:

明确地说,这确实会导致 lambda 出现错误:用户:arn:aws:sts::331730032056:assumed-role/emailapprove-LambdaStateMachineExecutionRole-154HYVZP76DJ/hrlOQvSgKVkdGQCZFrkTZYFPFNiQZlkf is not authorized to在资源上执行:lambda:InvokeFunction:arn:aws:lambda:us-east-1:331730032056:function:catreminder-sms(服务:AWSLambda;状态代码:403;错误代码:AccessDeniedException;请求 ID:3bf201d7-30be-4922 -bfef-3d0b26e443ce) 【参考方案1】:

Lambda 仍有此信息,但已将其移至“权限”部分。您可以按操作或资源查看所有权限。

【讨论】:

【参考方案2】:

由于最近在 Lambda 中添加了“目的地”,据我所知,Lambda 不再显示 Lambda 可以访问的服务。确保您有权访问这些资源的最佳方法是使用诸如 this 之类的站点来生成 IAM 权限,然后访问您的 Lambda 函数使用的角色链接,该角色位于“执行角色”下控制台。

【讨论】:

以上是关于AWS Lambda 设计器未显示函数角色的主要内容,如果未能解决你的问题,请参考以下文章

XAML 设计器未显示在 Visual Studio 版本 16.10.2 中

VisualStudio UWP/XAML 设计器未显示 UserControl |由于缺少程序集,无法显示元素“foo”

XAML 设计器未加载

Visual Studio XAML 设计器未加载

AWS Lambda:即使在STS:AssumeRole成功之后,lambda函数仍然使用旧的IAM角色

如何让 WinForm 设计器完全忽略自定义控件上的属性?