我收到了来自 AWS Security Hub CSPM 有关 AWS Lambda 函数的调查发现“[Lambda.1] Lambda 函数策略应禁止公共访问”。
简短描述
Security Hub CSPM 包含类似于以下内容的调查发现类型:
“[Lambda.1] Lambda 函数策略应禁止公共访问”
由于以下原因,此控制响应失败:
- 该 Lambda 函数可以公开访问。
- 您从 Amazon Simple Storage Service (Amazon S3) 调用该 Lambda 函数,并且此策略不包含针对 AWS:SourceAccount 的条件。
解决方法
**注意:**如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI。
要更新基于资源的策略,必须使用 AWS CLI。根据您的使用案例,您可以移除或更新 Lambda 函数的权限。
从 Lambda 函数中移除权限
要从该 Lambda 函数中移除权限,请运行以下 remove-permission AWS CLI 命令:
aws lambda remove-permission --function-name your-function-name --statement-id your-statement-id
**注意:**将 your-function-name 替换为您的 Lambda 函数名称。将 your-statement-id 替换为您的语句 ID。
更新 Lambda 函数的权限
要更新该 Lambda 函数的权限,请运行以下 add-permission AWS CLI 命令:
aws lambda add-permission --function-name your-function-name --statement-id your-new-statement-id --action lambda:InvokeFunction --principal s3.amazonaws.com --source-account your-account-id --source-arn your-bucket-arn
**注意:**将 your-function-name 替换为您的 Lambda 函数名称。将 your-new-statement-id 替换为您的新语句 ID。将 your-account-id 替换为您的 AWS 账户 ID。将 your-bucket-arn 替换为您的 Amazon S3 存储桶 ARN。
验证权限
要验证权限是否已移除或已更新,请重复上述说明中的步骤以查看函数的基于资源的策略。
**注意:**如果策略中只有一条语句,则该策略为空。
有关更多信息,请参阅 Security Hub CSPM 控件参考。
相关信息
lambda-function-public-access-prohibited
如何使用 Security Hub 监控 AWS 环境的安全问题?