{
"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": "*"
}
]
}