The aws-lambda mod contains resource, control and policy definitions for AWS Lambda service.

Resource Types

Resource types covered by this mod:

Permissions

Taking a look at permissions and associated grant levels for each permission for Lambda:

PermissionGrant LevelHelp
iam:ListRolesMetadata
iam:PassRoleAdminTo create a Lambda function the user must have permission to pass the role to it.
lambda:AddLayerVersionPermissionAdminAddLayerVersionPermission is for resources utilizing the push model. This will be common and should be at Operator level. But it allows cross-account pushing to Lambda so needs associated guardrails.
lambda:AddPermissionAdminAddPermission is for resources utilizing the push model. This will be common and should be at Operator level. But it allows cross-account pushing to Lambda so needs associated guardrails.
lambda:CreateAliasAdminAdmin controls functions release of functions and aliases to functions.
lambda:CreateCodeSigningConfigAdmin
lambda:CreateEventSourceMappingOperatorOperators can manage the triggers & use of functions.
lambda:CreateFunctionAdminAdmin controls functions release of functions and aliases to functions.
lambda:DeleteAliasAdminAdmin controls functions release of functions and aliases to functions.
lambda:DeleteCodeSigningConfigAdmin
lambda:DeleteEventSourceMappingOperatorOperators can manage the triggers & use of functions.
lambda:DeleteFunctionAdminAdmin controls functions release of functions and aliases to functions.
lambda:DeleteFunctionAdminAdmin controls functions release of functions and aliases to functions.
lambda:DeleteFunctionCodeSigningConfigAdmin
lambda:DeleteFunctionConcurrencyAdminAdmin can manage concurrent execution limit.
lambda:DeleteFunctionEventInvokeConfigAdmin
lambda:DeleteLayerVersionAdmin
lambda:DeleteProvisionedConcurrencyConfigAdmin
lambda:DisableReplicationAdmin
lambda:EnableReplicationAdminAdmins can Add a permission to resource policy that gives Lambda replication service permission to get function code and configuration.
lambda:GetAccountSettingsMetadata
lambda:GetAliasMetadata
lambda:GetCodeSigningConfigMetadata
lambda:GetFunctionCodeSigningConfigMetadata
lambda:GetEventSourceMappingMetadata
lambda:GetFunctionCodeSigningConfigMetadata
lambda:GetFunctionReadOnlyLambda function code is considered data and requires privileges to view.
lambda:GetFunctionConcurrencyMetadata
lambda:GetFunctionConfigurationMetadata
lambda:GetFunctionEventInvokeConfigMetadata
lambda:GetLayerVersionReadOnly
lambda:GetLayerVersionByArnMetadata
lambda:GetLayerVersionPolicyMetadata
lambda:GetPolicyMetadata
lambda:GetProvisionedConcurrencyConfigMetadata
lambda:InvokeAsyncOperatorNOTE - Deprecated use Invoke instead.
lambda:InvokeFunctionOperatorOperators can invoke/run functions.
lambda:ListAliasesMetadata
lambda:ListCodeSigningConfigsMetadata
lambda:ListEventSourceMappingsMetadata
lambda:ListFunctionsByCodeSigningConfigMetadata
lambda:ListFunctionEventInvokeConfigsMetadata
lambda:ListFunctionsMetadataDoes not include function code only the configuration information.
lambda:ListLayerVersionsMetadata
lambda:ListLayersMetadata
lambda:ListProvisionedConcurrencyConfigsMetadata
lambda:ListTagsMetadata
lambda:ListVersionsByFunctionMetadata
lambda:PublishLayerVersionAdminAdmins can create a function layer from a ZIP archive. Each time you call PublishLayerVersion with the same version name a new version is created.
lambda:PublishVersionAdminAdmin controls functions release of functions and aliases to functions.
lambda:PutFunctionConcurrencyAdminAdmin can manage concurrent execution limit.
lambda:PutFunctionEventInvokeConfigAdmin
lambda:PutFunctionCodeSigningConfigAdmin
lambda:PutProvisionedConcurrencyConfigAdmin
lambda:RemoveLayerVersionPermissionAdmin
lambda:RemovePermissionOperatorAllows removal of permissions from push resources. This can be safely granted to Operator since it doesn't allow extra permissions.
lambda:TagResourceOperatorOperators can manage tags.
lambda:UntagResourceOperatorOperators can manage tags.
lambda:UpdateAliasOperator"Operators can deploy released versions. (But can't control releases or edit functions.)"
lambda:UpdateCodeSigningConfigAdmin
lambda:UpdateEventSourceMappingOperatorOperators can manage the triggers & use of functions.
lambda:UpdateFunctionCodeAdminAdmin controls functions release of functions and aliases to functions.
lambda:UpdateFunctionCodeSigningConfigAdmin
lambda:UpdateFunctionConfigurationAdminAdmin controls functions release of functions and aliases to functions.
lambda:UpdateFunctionEventInvokeConfigAdmin
s3:GetObjectOperator

Learn More About Turbot

Version
5.13.1
Released On
Jun 27, 2023
Depends On

Resource Types

Control Types

Policy Types

Release Notes

5.13.1 (2023-06-27)

Bug fixes

  • The AWS > Lambda > Function > Active > Last Modified and AWS > Lambda > Function Version > Active > Last Modified policies will now consider the LastModified time from the resource's CMDB data, if available, to evaluate the outcome of the Active control's Last Modified policy value.
  • We've updated the runtime of the lambda functions to node 18. You wouldn't notice any difference and things will continue to work smoothly and consistently as before.

5.13.0 (2023-05-31)

What's new?

  • Resource's metadata will now also include createdBy details in Turbot CMDB.

5.12.0 (2023-02-14)

Control Types

Added

  • AWS > Lambda > Function > Allowed Runtime

Policy Types

Added

  • AWS > Lambda > Function > Allowed Runtime
  • AWS > Lambda > Function > Allowed Runtime > Values

5.11.0 (2022-10-14)

Resource Types

Added

  • AWS > Lambda > Layer

Control Types

Added

  • AWS > Lambda > Layer > Approved
  • AWS > Lambda > Layer > CMDB
  • AWS > Lambda > Layer > Discovery

Policy Types

Added

  • AWS > Lambda > Layer > Approved
  • AWS > Lambda > Layer > Approved > Budget
  • AWS > Lambda > Layer > Approved > Custom
  • AWS > Lambda > Layer > Approved > Regions
  • AWS > Lambda > Layer > Approved > Usage
  • AWS > Lambda > Layer > CMDB
  • AWS > Lambda > Layer > Regions

Action Types

Added

  • AWS > Lambda > Layer > Skip alarm for Approved control
  • AWS > Lambda > Layer > Skip alarm for Approved control [90 days]

5.10.2 (2022-08-17)

Bug fixes

  • The AWS > Lambda > Trusted Accounts [Default] policy wouldn't not allow [*] as an acceptable value to trust all accounts for the AWS > Lambda > Function > Policy > Trusted Access control. This is now fixed.

5.10.1 (2022-07-13)

Bug fixes

  • The lambda functions for certain controls/actions would re-run unnecessarily whenever the mod version was updated. This has now been fixed.

5.10.0 (2022-07-12)

What's new?

  • Users can now perform quick actions on resources to remediate cloud configuration issues or skip Turbot alarms for issues that they want to come back to later. To get started, click on the Actions button, which will reveal a dropdown menu with available actions, and select one. See Quick Actions for more information.
  • README.md file is now available for users to check details about the resource types and service permissions that the mod covers.

Action Types

Added

  • AWS > Lambda > Function > Delete from AWS
  • AWS > Lambda > Function > Set Tags
  • AWS > Lambda > Function > Skip alarm for Active control
  • AWS > Lambda > Function > Skip alarm for Active control [90 days]
  • AWS > Lambda > Function > Skip alarm for Approved control
  • AWS > Lambda > Function > Skip alarm for Approved control [90 days]
  • AWS > Lambda > Function > Skip alarm for Encryption at Rest control
  • AWS > Lambda > Function > Skip alarm for Encryption at Rest control [90 days]
  • AWS > Lambda > Function > Skip alarm for Tags control
  • AWS > Lambda > Function > Skip alarm for Tags control [90 days]
  • AWS > Lambda > Function Alias > Delete from AWS
  • AWS > Lambda > Function Alias > Skip alarm for Active control
  • AWS > Lambda > Function Alias > Skip alarm for Active control [90 days]
  • AWS > Lambda > Function Alias > Skip alarm for Approved control
  • AWS > Lambda > Function Alias > Skip alarm for Approved control [90 days]
  • AWS > Lambda > Function Version > Delete from AWS
  • AWS > Lambda > Function Version > Skip alarm for Active control
  • AWS > Lambda > Function Version > Skip alarm for Active control [90 days]
  • AWS > Lambda > Function Version > Skip alarm for Approved control
  • AWS > Lambda > Function Version > Skip alarm for Approved control [90 days]

5.9.0 (2022-02-15)

What's new?

  • Users can now create their own custom checks against resource attributes in the Approved control using the Approved > Custom policy. These custom checks would be a part of the evaluation of the Approved control. Custom messages can also be added which are then displayed in the control details table. See Custom Checks for more information.
  • AWS/Lambda/Admin and AWS/Lambda/Metadata now include permissions for Code Signing Config and Function Code Signing Config.

Bug fixes

  • We've improved the process of deleting resources from Turbot if their CMDB policy was set to Enforce: Disabled. The CMDB controls will now not look to resolve credentials via Turbot's IAM role while deleting resources from Turbot. This will allow the CMDB controls to process resource deletions from Turbot more reliably than before.

Policy Types

Added

  • AWS > Lambda > Function > Approved > Custom
  • AWS > Lambda > Function Alias > Approved > Custom
  • AWS > Lambda > Function Version > Approved > Custom

5.8.0 (2021-04-23)

What's new?

  • We've improved the state reasons and details tables in various Approved and Active controls to be more helpful, especially when a resource is unapproved or inactive. Previously, to understand why one of these controls is in Alarm state, you would need to find and read the control's process logs. This felt like too much work for a simple task, so now these details are visible directly from the control page.

5.7.3 (2020-12-18)

Bug fixes

  • Controls run faster now when in the tbd and skipped states thanks to the new Turbot Precheck feature (not to be confused with TSA PreCheck). With Turbot Precheck, controls avoid running GraphQL input queries when in tbd and skipped, resulting in faster and lighter control runs.

5.7.2 (2020-12-04)

Bug fixes

  • We've updated various resources' Discovery and CMDB controls to ensure array properties are consistently sorted in the CMDB.

5.7.1 (2020-11-25)

Bug fixes

  • The AWS > Lambda > Function Version > Discovery control would sometimes go into an error state if its parent function was deleted in the AWS account, but not cleaned up properly in our CMDB. This is now fixed.

5.7.0 (2020-11-23)

What's new?

  • Cross-account trust is not only important for complex enterprise and application scenarios but is also a critical area for security controls. We now support controlling cross-account access for function and function version to provide automatic protection against unexpected cross-account access.

    A common set of trusted AWS account IDs can be defined in the AWS > Account > Trusted Accounts [Default] policy. Trusted accounts can also be defined at any level, even down to the specific function and function version resources.

    To get started with these new controls, please see the AWS > Lambda > Function > Policy > Trusted Access and AWS > Lambda > Function Version > Policy > Trusted Access policies.

Control Types

Added

  • AWS > Lambda > Function > Policy
  • AWS > Lambda > Function > Policy > Trusted Access
  • AWS > Lambda > Function Version > Policy
  • AWS > Lambda > Function Version > Policy > Trusted Access

Policy Types

Added

  • AWS > Lambda > Function > Policy
  • AWS > Lambda > Function > Policy > Trusted Access
  • AWS > Lambda > Function > Policy > Trusted Access > Accounts
  • AWS > Lambda > Function > Policy > Trusted Access > Services
  • AWS > Lambda > Function Version > Policy
  • AWS > Lambda > Function Version > Policy > Trusted Access
  • AWS > Lambda > Function Version > Policy > Trusted Access > Accounts
  • AWS > Lambda > Function Version > Policy > Trusted Access > Services
  • AWS > Lambda > Trusted Accounts [Default]
  • AWS > Lambda > Trusted Services [Default]

Action Types

Added

  • AWS > Lambda > Function > Set Policy Trusted Access
  • AWS > Lambda > Function Version > Set Policy Trusted Access

5.6.0 (2020-10-28)

Resource Types

Added

  • AWS > Lambda > Function Version

Control Types

Added

  • AWS > Lambda > Function Version > Active
  • AWS > Lambda > Function Version > Approved
  • AWS > Lambda > Function Version > CMDB
  • AWS > Lambda > Function Version > Discovery

Policy Types

Added

  • AWS > Lambda > Function Version > Active
  • AWS > Lambda > Function Version > Active > Age
  • AWS > Lambda > Function Version > Active > Last Modified
  • AWS > Lambda > Function Version > Approved
  • AWS > Lambda > Function Version > Approved > Regions
  • AWS > Lambda > Function Version > Approved > Usage
  • AWS > Lambda > Function Version > CMDB
  • AWS > Lambda > Function Version > Regions

Action Types

Added

  • AWS > Lambda > Function Version > Delete
  • AWS > Lambda > Function Version > Router

5.5.0 (2020-10-19)

Resource Types

Added

  • AWS > Lambda > Function Alias

Control Types

Added

  • AWS > Lambda > Function Alias > Active
  • AWS > Lambda > Function Alias > Approved
  • AWS > Lambda > Function Alias > CMDB
  • AWS > Lambda > Function Alias > Configured
  • AWS > Lambda > Function Alias > Discovery

Policy Types

Added

  • AWS > Lambda > Function Alias > Active
  • AWS > Lambda > Function Alias > Active > Age
  • AWS > Lambda > Function Alias > Active > Last Modified
  • AWS > Lambda > Function Alias > Approved
  • AWS > Lambda > Function Alias > Approved > Regions
  • AWS > Lambda > Function Alias > Approved > Usage
  • AWS > Lambda > Function Alias > CMDB
  • AWS > Lambda > Function Alias > Configured
  • AWS > Lambda > Function Alias > Configured > Claim Precedence
  • AWS > Lambda > Function Alias > Configured > Source
  • AWS > Lambda > Function Alias > Regions

Renamed

  • AWS > Turbot > Event Handlers > Events > Rules > Custom Event Patterns > Lambda to AWS > Turbot > Event Handlers > Events > Rules > Custom Event Patterns > @turbot/aws-lambda

Action Types

Added

  • AWS > Lambda > Function Alias > Delete
  • AWS > Lambda > Function Alias > Router

5.4.2 (2020-09-21)

Bug fixes

  • We've made some improvements to our real-time event handling that reduces the risk of creating resources in CMDB with malformed AKAs. There's no noticeable difference, but things should run more reliably now.

5.4.1 (2020-09-15)

Bug fixes

  • Updating tags for a lambda function did not automatically update its corresponding CMDB control. This issue has now been fixed.

5.4.0 (2020-09-02)

What's new?

  • Discovery controls now have their own control category, CMDB > Discovery, to allow for easier filtering separately from other CMDB controls.
  • We've renamed the service's default regions policy from Regions [Default] to Regions to be consistent with our other regions policies.

5.3.2 (2020-08-13)

Bug fixes

  • In various Active controls, we were outputting log messages that did not properly show how many days were left until we'd delete the inactive resources (we were still deleting them after the correct number of days). These log messages have been fixed and now contain the correct number of days.

5.3.1 (2020-07-07)

Bug fixes

  • Updated various resource configurations to provide better compatibility with AWS China regions.

5.3.0 (2020-05-15)

What's new?

  • Updated AWS > Lambda > Regions policy default value to now include af-south-1.

5.2.1 (2020-04-23)

Bug fixes

  • Changes to the VPC configuration for functions was not being properly captured in the CMDB. Now it is.