{ "Version": "2012-10-17", "Statement": [ { "Sid": "ECRRepositoryAndImageManagement", "Effect": "Allow", "Action": [ "ecr:GetAuthorizationToken", "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", "ecr:PutImage", "ecr:InitiateLayerUpload", "ecr:UploadLayerPart", "ecr:CompleteLayerUpload", "ecr:CreateRepository", "ecr:DeleteRepository", "ecr:DescribeRepositories", "ecr:ListImages", "ecr:PutLifecyclePolicy", "ecr:GetLifecyclePolicy", "ecr:SetRepositoryPolicy", "ecr:GetRepositoryPolicy", "ecr:DeleteRepositoryPolicy", "ecr:TagResource", "ecr:UntagResource", "ecr:ListTagsForResource" ], "Resource": "*" }, { "Sid": "LambdaFunctionManagement", "Effect": "Allow", "Action": [ "lambda:CreateFunction", "lambda:DeleteFunction", "lambda:GetFunction", "lambda:GetFunctionConfiguration", "lambda:UpdateFunctionCode", "lambda:UpdateFunctionConfiguration", "lambda:CreateFunctionUrlConfig", "lambda:GetFunctionUrlConfig", "lambda:UpdateFunctionUrlConfig", "lambda:AddPermission", "lambda:RemovePermission", "lambda:TagResource", "lambda:UntagResource", "lambda:ListTags", "lambda:GetPolicy", "lambda:PublishVersion", "lambda:InvokeFunction" ], "Resource": "arn:aws:lambda:*:*:function:personal-lifecycle-tracker-*" }, { "Sid": "LambdaGlobalListActions", "Effect": "Allow", "Action": [ "lambda:ListFunctions", "lambda:ListVersionsByFunction", "lambda:ListAliases" ], "Resource": "*" }, { "Sid": "CloudFrontDistributionManagement", "Effect": "Allow", "Action": [ "cloudfront:CreateDistribution", "cloudfront:GetDistribution", "cloudfront:UpdateDistribution", "cloudfront:DeleteDistribution", "cloudfront:CreateOriginAccessControl", "cloudfront:GetOriginAccessControl", "cloudfront:CreateInvalidation", "cloudfront:TagResource", "cloudfront:UntagResource", "cloudfront:ListTagsForResource" ], "Resource": "*" }, { "Sid": "EventBridgeSchedulerManagement", "Effect": "Allow", "Action": [ "events:PutRule", "events:DeleteRule", "events:DescribeRule", "events:PutTargets", "events:RemoveTargets", "events:ListTargetsByRule", "events:ListRuleNamesByTarget", "events:TagResource", "events:UntagResource", "events:ListTagsForResource" ], "Resource": "arn:aws:events:*:*:rule/personal-lifecycle-tracker-*" }, { "Sid": "CloudWatchLogsRetention", "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:DeleteLogGroup", "logs:PutRetentionPolicy", "logs:TagLogGroup", "logs:UntagLogGroup", "logs:TagResource", "logs:UntagResource", "logs:ListTagsForResource", "logs:DescribeLogStreams", "logs:GetLogEvents", "logs:FilterLogEvents" ], "Resource": [ "arn:aws:logs:*:*:log-group:/aws/lambda/personal-lifecycle-tracker-*", "arn:aws:logs:*:*:log-group:/aws/lambda/personal-lifecycle-tracker-*:*" ] }, { "Sid": "CloudWatchLogsGlobalDescribe", "Effect": "Allow", "Action": [ "logs:DescribeLogGroups" ], "Resource": "*" } ] }