| name | securing-aws-lambda-execution-roles |
| description | Securing AWS Lambda execution roles by implementing least-privilege IAM policies, applying permission boundaries, restricting resource-based policies, using IAM Access Analyzer to validate permissions, and enforcing role scoping through SCPs. . Use when working with securing aws lambda execution roles. |
| domain | cybersecurity |
| tags | ["cloud-security","aws","lambda","iam","least-privilege","execution-roles"] |
| subdomain | cloud-security |
| version | 1.0 |
| author | oyi77 |
| license | Apache-2.0 |
| nist_csf | ["PR.IR-01","ID.AM-08","GV.SC-06","DE.CM-01"] |
Securing Aws Lambda Execution Roles
Overview
Cybersecurity skill for securing aws lambda execution roles. Follows industry best practices and security standards.
When to Use
Trigger phrases:
-
"securing aws lambda execution roles"
-
"Securing AWS Lambda execution roles by implementing least-privilege IAM policies"
-
When deploying new Lambda functions and defining their IAM execution roles
-
When remediating overly permissive Lambda roles discovered during security audits
-
When implementing least-privilege access patterns for serverless architectures
-
When building reusable IAM templates for Lambda functions across teams
-
When Security Hub or Prowler reports Lambda functions with excessive permissions
Do not use for securing Lambda function invocation (use resource-based policies and API Gateway authorizers), for Lambda code security (use SAST tools), or for Lambda network security (use VPC configuration and security groups).
When NOT to Use
- When you lack proper authorization for testing
- For production systems without change management
- When the task requires legal or compliance expertise beyond technical scope
Prerequisites
- IAM permissions for policy creation, role modification, and Access Analyzer operations
- AWS IAM Access Analyzer enabled in the account
- CloudTrail data events enabled for Lambda to capture actual API usage
- Existing Lambda functions to audit and scope permissions for
- Understanding of each function's required AWS service interactions
Workflow
import re
IOC_PATTERNS = {
"ip": r"\b(?:\d{1,3}\.){3}\d{1,3}\b",
"domain": r"\b[a-z0-9-]+\.[a-z]{2,}\b",
"hash_md5": r"\b[a-f0-9]{32}\b",
"hash_sha256": r"\b[a-f0-9]{64}\b",
}
def extract_iocs(text: str) -> :
{k: re.findall(v, text) k, v IOC_PATTERNS.items()}