Skip to content

Instantly share code, notes, and snippets.

@lostsnow
Last active March 27, 2025 08:18
Show Gist options
  • Save lostsnow/335ad893b935d4942386a061e8917b70 to your computer and use it in GitHub Desktop.
Save lostsnow/335ad893b935d4942386a061e8917b70 to your computer and use it in GitHub Desktop.
AWS IAM Policy
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Amplify",
"Effect": "Allow",
"Action": [
"amplify:*"
],
"Resource": [
"*"
]
},
{
"Sid": "CloudWatchAll",
"Effect": "Allow",
"Action": [
"cloudwatch:DescribeAlarmsForMetric",
"cloudwatch:GetMetricData",
"logs:DescribeLogGroups"
],
"Resource": [
"*"
]
},
{
"Sid": "CloudWatch",
"Effect": "Allow",
"Action": [
"logs:DescribeLogStreams",
"logs:GetLogEvents",
"logs:StartLiveTail",
"logs:ListTagsForResource"
],
"Resource": [
"arn:aws:logs:*:*:log-group:/aws/amplify/*"
]
}
]
}
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ECSReadOnly",
"Effect": "Allow",
"Action": [
"ecs:DescribeClusters",
"ecs:ListClusters",
"ecs:DescribeServices",
"ecs:ListServices",
"ecs:DescribeTasks",
"ecs:ListTasks",
"ecs:DescribeContainerInstances",
"ecs:ListContainerInstances",
"ecs:DescribeTaskDefinition",
"ecs:ListTaskDefinitions",
"ecs:DescribeCapacityProviders",
"ecs:ListAccountSettings",
"ecs:ListTagsForResource"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"elasticloadbalancing:DescribeLoadBalancers",
"elasticloadbalancing:DescribeTargetGroups",
"elasticloadbalancing:DescribeListeners",
"elasticloadbalancing:DescribeTargetHealth"
],
"Resource": [
"*"
]
},
{
"Effect": "Allow",
"Action": [
"application-autoscaling:DescribeScalableTargets",
"application-autoscaling:DescribeScalingActivities",
"application-autoscaling:DescribeScheduledActions",
"application-autoscaling:DescribeScalingPolicies"
],
"Resource": [
"*"
]
},
{
"Sid": "CloudWatchMetricAndLogsReadOnly",
"Effect": "Allow",
"Action": [
"logs:DescribeLogGroups",
"logs:DescribeLogStreams",
"logs:StartLiveTail",
"logs:GetLogEvents",
"logs:FilterLogEvents",
"cloudwatch:GetMetricData"
],
"Resource": "*"
},
{
"Sid": "EC2",
"Effect": "Allow",
"Action": [
"ec2:DescribeSubnets",
"ec2:DescribeNetworkInterfaces"
],
"Resource": [
"*"
]
}
]
}
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Route53View",
"Effect": "Allow",
"Action": [
"route53:ListHostedZones",
"route53:GetChange"
],
"Resource": [
"*"
]
},
{
"Sid": "Route53",
"Effect": "Allow",
"Action": [
"route53:ChangeResourceRecordSets"
],
"Resource": [
"arn:aws:route53:::hostedzone/XXX"
],
"Condition": {
"ForAllValues:StringEquals": {
"route53:ChangeResourceRecordSetsRecordTypes": "TXT"
},
"ForAllValues:StringLike": {
"route53:ChangeResourceRecordSetsNormalizedRecordNames": "_acme-challenge.*"
}
}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment