|
# Source: https://gist.github.com/nitrocode/0cd3db8e0a7c994fbca2a6f252ca40cf |
|
# Last generated from 0.9.17.0 |
|
# From commit https://github.com/cloud-custodian/cloud-custodian/tree/0fb47173aad2f8f3a69c88c967f63eb7d351de80 |
|
# This may be out of date. See manually updated and corrected `iam.tf` below. |
|
|
|
data "aws_iam_policy_document" "custodian" { |
|
|
|
statement { |
|
sid = "S3" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"S3:PutObject", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "access-analyzer" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"access-analyzer:ListAnalyzers", |
|
"access-analyzer:ListFindings", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "acm" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"acm:DeleteCertificate", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "airflow" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"airflow:GetEnvironment", |
|
"airflow:ListEnvironments", |
|
"airflow:TagResource", |
|
"airflow:UntagResource", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "apigateway" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"apigateway:DELETE", |
|
"apigateway:GET", |
|
"apigateway:PATCH", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "appflow" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"appflow:DeleteFlow", |
|
"appflow:TagResource", |
|
"appflow:UntagResource", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "application-autoscaling" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"application-autoscaling:DescribeScalableTargets", |
|
"application-autoscaling:RegisterScalableTarget", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "autoscaling" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"autoscaling:CreateOrUpdateTags", |
|
"autoscaling:DeleteAutoScalingGroup", |
|
"autoscaling:DeleteLaunchConfiguration", |
|
"autoscaling:DeleteTags", |
|
"autoscaling:DescribeAutoScalingGroups", |
|
"autoscaling:DescribeLaunchConfigurations", |
|
"autoscaling:DescribePolicies", |
|
"autoscaling:ResumeProcesses", |
|
"autoscaling:SuspendProcesses", |
|
"autoscaling:UpdateAutoScalingGroup", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "batch" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"batch:DeleteComputeEnvironment", |
|
"batch:DeregisterJobDefinition", |
|
"batch:UpdateComputeEnvironment", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "cloudWatch" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"cloudWatch:PutMetricData", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "cloudformation" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"cloudformation:DeleteStack", |
|
"cloudformation:UpdateStack", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "cloudfront" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"cloudfront:GetDistributionConfig", |
|
"cloudfront:GetStreamingDistributionConfig", |
|
"cloudfront:UpdateDistribution", |
|
"cloudfront:UpdateStreamingDistribution", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "cloudhsm" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"cloudhsm:DeleteCluster", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "cloudsearch" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"cloudsearch:DeleteDomain", |
|
"cloudsearch:DescribeDomainEndpointOptions", |
|
"cloudsearch:UpdateDomainEndpointOptions", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "cloudtrail" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"cloudtrail:CreateTrail", |
|
"cloudtrail:DeleteTrail", |
|
"cloudtrail:DescribeTrails", |
|
"cloudtrail:GetEventSelectors", |
|
"cloudtrail:GetTrailStatus", |
|
"cloudtrail:StartLogging", |
|
"cloudtrail:UpdateTrail", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "cloudwatch" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"cloudwatch:DeleteAlarms", |
|
"cloudwatch:DeleteInsightRules", |
|
"cloudwatch:DescribeAlarmsForMetric", |
|
"cloudwatch:DisableInsightRules", |
|
"cloudwatch:GetMetricStatistics", |
|
"cloudwatch:PutMetricAlarm", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "codeartifact" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"codeartifact:DeleteDomain", |
|
"codeartifact:DeleteRepository", |
|
"codeartifact:GetDomainPermissionsPolicy", |
|
"codeartifact:GetRepositoryPermissionsPolicy", |
|
"codeartifact:ListRepositoriesInDomain", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "codebuild" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"codebuild:DeleteProject", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "codecommit" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"codecommit:DeleteRepository", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "codedeploy" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"codedeploy:DeleteApplication", |
|
"codedeploy:DeleteDeploymentGroup", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "codepipeline" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"codepipeline:DeletePipeline", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "cognito-identity" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"cognito-identity:DeleteIdentityPool", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "cognito-idp" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"cognito-idp:DeleteUserPool", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "config" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"config:DeleteConfigRule", |
|
"config:DescribeAggregationAuthorizations", |
|
"config:DescribeComplianceByConfigRule", |
|
"config:DescribeConfigRuleEvaluationStatus", |
|
"config:DescribeConfigurationRecorderStatus", |
|
"config:DescribeConfigurationRecorders", |
|
"config:DescribeDeliveryChannels", |
|
"config:GetResourceConfigHistory", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "datapipeline" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"datapipeline:AddTags", |
|
"datapipeline:DeletePipeline", |
|
"datapipeline:RemoveTags", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "dax" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"dax:DeleteCluster", |
|
"dax:ListTags", |
|
"dax:TagResource", |
|
"dax:UntagResource", |
|
"dax:UpdateCluster", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "dms" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"dms:AddTagsToResource", |
|
"dms:DeleteEndpoint", |
|
"dms:DeleteReplicationInstance", |
|
"dms:ModifyEndpoint", |
|
"dms:ModifyReplicationInstance", |
|
"dms:RemoveTagsFromResource", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "ds" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"ds:AddTagsToResource", |
|
"ds:RemoveTagsFromResource", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "dynamodb" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"dynamodb:CreateBackup", |
|
"dynamodb:DeleteBackup", |
|
"dynamodb:DeleteTable", |
|
"dynamodb:DescribeContinuousBackups", |
|
"dynamodb:UpdateContinuousBackups", |
|
"dynamodb:UpdateTable", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "ec2" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"ec2:AssociateIamInstanceProfile", |
|
"ec2:AuthorizeSecurityGroupEgress", |
|
"ec2:AuthorizeSecurityGroupIngress", |
|
"ec2:CopyImage", |
|
"ec2:CopySnapshot", |
|
"ec2:CreateFlowLogs", |
|
"ec2:CreateSnapshot", |
|
"ec2:CreateTags", |
|
"ec2:CreateVolume", |
|
"ec2:DeleteInternetGateway", |
|
"ec2:DeleteKeyPair", |
|
"ec2:DeleteNatGateway", |
|
"ec2:DeleteNetworkInterface", |
|
"ec2:DeleteSecurityGroup", |
|
"ec2:DeleteSnapshot", |
|
"ec2:DeleteTags", |
|
"ec2:DeleteTrafficMirrorSession", |
|
"ec2:DeleteVolume", |
|
"ec2:DeregisterImage", |
|
"ec2:DescribeDhcpOptions", |
|
"ec2:DescribeFlowLogs", |
|
"ec2:DescribeImageAttribute", |
|
"ec2:DescribeImages", |
|
"ec2:DescribeInstanceAttribute", |
|
"ec2:DescribeInstances", |
|
"ec2:DescribeKeyPairs", |
|
"ec2:DescribeLaunchTemplateVersions", |
|
"ec2:DescribePrefixLists", |
|
"ec2:DescribeRouteTables", |
|
"ec2:DescribeSecurityGroups", |
|
"ec2:DescribeSnapshotAttribute", |
|
"ec2:DescribeSnapshots", |
|
"ec2:DescribeSpotInstanceRequests", |
|
"ec2:DescribeStaleSecurityGroups", |
|
"ec2:DescribeSubnets", |
|
"ec2:DescribeTags", |
|
"ec2:DescribeVolumes", |
|
"ec2:DescribeVpcAttribute", |
|
"ec2:DescribeVpcEndpoints", |
|
"ec2:DescribeVpcPeeringConnections", |
|
"ec2:DescribeVpcs", |
|
"ec2:DetachVolume", |
|
"ec2:DisableEbsEncryptionByDefault", |
|
"ec2:DisassociateAddress", |
|
"ec2:DisassociateIamInstanceProfile", |
|
"ec2:EnableEbsEncryptionByDefault", |
|
"ec2:GetEbsEncryptionByDefault", |
|
"ec2:GetManagedPrefixListEntries", |
|
"ec2:ModifyImageAttribute", |
|
"ec2:ModifyInstanceAttribute", |
|
"ec2:ModifyInstanceMetadataOptions", |
|
"ec2:ModifyNetworkInterfaceAttribute", |
|
"ec2:ModifySnapshotAttribute", |
|
"ec2:ModifySpotFleetRequest", |
|
"ec2:ModifySubnetAttribute", |
|
"ec2:ModifyVolumeAttribute", |
|
"ec2:MonitorInstances", |
|
"ec2:RebootInstances", |
|
"ec2:ReleaseAddress", |
|
"ec2:ResetImageAttribute", |
|
"ec2:RevokeSecurityGroupEgress", |
|
"ec2:RevokeSecurityGroupIngress", |
|
"ec2:StartInstances", |
|
"ec2:StopInstances", |
|
"ec2:TerminateInstances", |
|
"ec2:UnmonitorInstances", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "ecr" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"ecr:DeleteLifecyclePolicy", |
|
"ecr:GetLifecyclePolicy", |
|
"ecr:GetRepositoryPolicy", |
|
"ecr:PutImageScanningConfiguration", |
|
"ecr:PutImageTagMutability", |
|
"ecr:PutLifecyclePolicy", |
|
"ecr:SetRepositoryPolicy", |
|
"ecr:TagResource", |
|
"ecr:UntagResource", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "ecs" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"ecs:DeleteService", |
|
"ecs:DeregisterTaskDefinition", |
|
"ecs:DescribeTaskDefinition", |
|
"ecs:ListTaskDefinitions", |
|
"ecs:StopTask", |
|
"ecs:TagResource", |
|
"ecs:UntagResource", |
|
"ecs:UpdateContainerAgent", |
|
"ecs:UpdateContainerInstancesState", |
|
"ecs:UpdateService", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "eks" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"eks:DeleteCluster", |
|
"eks:DeleteNodegroup", |
|
"eks:TagResource", |
|
"eks:UntagResource", |
|
"eks:UpdateClusterConfig", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "elasticache" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"elasticache:CreateSnapshot", |
|
"elasticache:DeleteCacheCluster", |
|
"elasticache:DeleteReplicationGroup", |
|
"elasticache:DeleteSnapshot", |
|
"elasticache:DescribeReplicationGroups", |
|
"elasticache:ListTagsForResource", |
|
"elasticache:ModifyReplicationGroup", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "elasticbeanstalk" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"elasticbeanstalk:AddTags", |
|
"elasticbeanstalk:ListTagsForResource", |
|
"elasticbeanstalk:RemoveTags", |
|
"elasticbeanstalk:TerminateEnvironment", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "elasticfilesystem" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"elasticfilesystem:DeleteFileSystem", |
|
"elasticfilesystem:DeleteMountTarget", |
|
"elasticfilesystem:DescribeFileSystemPolicy", |
|
"elasticfilesystem:DescribeLifecycleConfiguration", |
|
"elasticfilesystem:DescribeMountTargets", |
|
"elasticfilesystem:PutLifecycleConfiguration", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "elasticloadbalancing" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"elasticloadbalancing:AddTags", |
|
"elasticloadbalancing:ApplySecurityGroupsToLoadBalancer", |
|
"elasticloadbalancing:CreateLoadBalancerPolicy", |
|
"elasticloadbalancing:DeleteLoadBalancer", |
|
"elasticloadbalancing:DeleteTargetGroup", |
|
"elasticloadbalancing:DescribeListeners", |
|
"elasticloadbalancing:DescribeLoadBalancerAttributes", |
|
"elasticloadbalancing:DescribeLoadBalancerPolicies", |
|
"elasticloadbalancing:DescribeTargetGroups", |
|
"elasticloadbalancing:ModifyListener", |
|
"elasticloadbalancing:ModifyLoadBalancerAttributes", |
|
"elasticloadbalancing:RemoveTags", |
|
"elasticloadbalancing:SetLoadBalancerPoliciesOfListener", |
|
"elasticloadbalancing:SetSecurityGroups", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "elasticmapreduce" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"elasticmapreduce:AddTags", |
|
"elasticmapreduce:DeleteSecurityConfiguration", |
|
"elasticmapreduce:DescribeSecurityConfiguration", |
|
"elasticmapreduce:GetBlockPublicAccessConfiguration", |
|
"elasticmapreduce:ListSecurityConfigurations", |
|
"elasticmapreduce:PutBlockPublicAccessConfiguration", |
|
"elasticmapreduce:RemoveTags", |
|
"elasticmapreduce:TerminateJobFlows", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "es" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"es:AddTags", |
|
"es:DeleteElasticsearchDomain", |
|
"es:DescribeElasticsearchDomainConfig", |
|
"es:ESCrossClusterGet", |
|
"es:RemoveTags", |
|
"es:UpdateElasticsearchDomainConfig", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "events" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"events:DeleteRule", |
|
"events:ListEventBuses", |
|
"events:ListTargetsByRule", |
|
"events:RemoveTargets", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "firehose" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"firehose:DeleteDeliveryStream", |
|
"firehose:UpdateDestination", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "fis" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"fis:DeleteExperimentTemplate", |
|
"fis:TagResource", |
|
"fis:UntagResource", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "fsx" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"fsx:CreateBackup", |
|
"fsx:DeleteBackup", |
|
"fsx:DeleteFileSystem", |
|
"fsx:TagResource", |
|
"fsx:UntagResource", |
|
"fsx:UpdateFileSystem", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "glacier" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"glacier:DeleteVault", |
|
"glacier:GetVaultAccessPolicy", |
|
"glacier:ListTagsForVault", |
|
"glacier:SetVaultAccessPolicy", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "glue" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"glue:DeleteClassifier", |
|
"glue:DeleteConnection", |
|
"glue:DeleteCrawler", |
|
"glue:DeleteDatabase", |
|
"glue:DeleteDevEndpoint", |
|
"glue:DeleteJob", |
|
"glue:DeleteMLTransform", |
|
"glue:DeleteSecurityConfiguration", |
|
"glue:DeleteTable", |
|
"glue:DeleteTrigger", |
|
"glue:DeleteWorkflow", |
|
"glue:GetDataCatalogEncryptionSettings", |
|
"glue:GetJobs", |
|
"glue:GetResourcePolicy", |
|
"glue:PutDataCatalogEncryptionSettings", |
|
"glue:PutResourcePolicy", |
|
"glue:UpdateJob", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "guardduty" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"guardduty:GetDetector", |
|
"guardduty:GetMasterAccount", |
|
"guardduty:ListDetectors", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "health" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"health:DescribeAffectedEntities", |
|
"health:DescribeEventDetails", |
|
"health:DescribeEvents", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "iam" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"iam:AddUserToGroup", |
|
"iam:AttachGroupPolicy", |
|
"iam:AttachRolePolicy", |
|
"iam:DeactivateMFADevice", |
|
"iam:DeleteAccessKey", |
|
"iam:DeleteGroup", |
|
"iam:DeleteGroupPolicy", |
|
"iam:DeleteInstanceProfile", |
|
"iam:DeleteLoginProfile", |
|
"iam:DeletePolicy", |
|
"iam:DeleteRole", |
|
"iam:DeleteSSHPublicKey", |
|
"iam:DeleteServerCertificate", |
|
"iam:DeleteSigningCertificate", |
|
"iam:DeleteUser", |
|
"iam:DeleteUserPolicy", |
|
"iam:DetachGroupPolicy", |
|
"iam:DetachRolePolicy", |
|
"iam:DetachUserPolicy", |
|
"iam:GenerateCredentialReport", |
|
"iam:GenerateServiceLastAccessedDetails", |
|
"iam:GetAccountPasswordPolicy", |
|
"iam:GetAccountSummary", |
|
"iam:GetCredentialReport", |
|
"iam:GetGroup", |
|
"iam:GetServiceLastAccessedDetails", |
|
"iam:ListAccessKeys", |
|
"iam:ListAccountAliases", |
|
"iam:ListAttachedGroupPolicies", |
|
"iam:ListAttachedRolePolicies", |
|
"iam:ListAttachedUserPolicies", |
|
"iam:ListGroupPolicies", |
|
"iam:ListGroupsForUser", |
|
"iam:ListMFADevices", |
|
"iam:ListPolicies", |
|
"iam:ListPolicyVersions", |
|
"iam:ListRolePolicies", |
|
"iam:ListRoles", |
|
"iam:ListSSHPublicKeys", |
|
"iam:ListServiceSpecificCredentials", |
|
"iam:ListSigningCertificates", |
|
"iam:ListUserPolicies", |
|
"iam:ListVirtualMFADevices", |
|
"iam:PassRole", |
|
"iam:RemoveUserFromGroup", |
|
"iam:TagRole", |
|
"iam:TagUser", |
|
"iam:UntagRole", |
|
"iam:UntagUser", |
|
"iam:UpdateAccessKey", |
|
"iam:UpdateAccountPasswordPolicy", |
|
"iam:UpdateSSHPublicKey", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "kafka" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"kafka:DeleteCluster", |
|
"kafka:UpdateClusterConfiguration", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "kinesis" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"kinesis:DeleteStream", |
|
"kinesis:UpdateShardCount", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "kinesisanalytics" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"kinesisanalytics:DeleteApplication", |
|
"kinesisanalytics:DescribeApplication", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "kinesisvideo" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"kinesisvideo:DeleteStream", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "kms" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"kms:DescribeKey", |
|
"kms:EnableKeyRotation", |
|
"kms:GetKeyPolicy", |
|
"kms:GetKeyRotationStatus", |
|
"kms:ListAliases", |
|
"kms:ListGrants", |
|
"kms:PutKeyPolicy", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "lambda" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"lambda:*", |
|
"lambda:DeleteFunction", |
|
"lambda:DeleteFunctionConcurrency", |
|
"lambda:DeleteLayerVersion", |
|
"lambda:GetFunction", |
|
"lambda:GetLayerVersionPolicy", |
|
"lambda:GetPolicy", |
|
"lambda:InvokeFunction", |
|
"lambda:ListAliases", |
|
"lambda:ListVersionsByFunction", |
|
"lambda:PutFunctionConcurrency", |
|
"lambda:RemoveLayerVersionPermission", |
|
"lambda:RemovePermission", |
|
"lambda:UpdateFunctionConfiguration", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "logs" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"logs:AssociateKmsKey", |
|
"logs:CreateLogGroup", |
|
"logs:DeleteLogGroup", |
|
"logs:DescribeLogGroups", |
|
"logs:DescribeLogStreams", |
|
"logs:DescribeSubscriptionFilters", |
|
"logs:DisassociateKmsKey", |
|
"logs:GetResourcePolicy", |
|
"logs:PutResourcePolicy", |
|
"logs:PutRetentionPolicy", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "machinelearning" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"machinelearning:DeleteMLModel", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "macie2" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"macie2:GetMacieSession", |
|
"macie2:GetMasterAccount", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "mq" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"mq:CreateTags", |
|
"mq:DeleteBroker", |
|
"mq:DeleteTags", |
|
"mq:ListBrokers", |
|
"mq:ListTags", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "opsworks-cm" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"opsworks-cm:DeleteServer", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "opsworks" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"opsworks:DeleteApp", |
|
"opsworks:DeleteInstance", |
|
"opsworks:DeleteLayer", |
|
"opsworks:DeleteStack", |
|
"opsworks:DescribeApps", |
|
"opsworks:DescribeInstances", |
|
"opsworks:DescribeLayers", |
|
"opsworks:StopStack", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "qldb" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"qldb:DeleteLedger", |
|
"qldb:UpdateLedger", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "rds" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"rds:AddTagsToResource", |
|
"rds:CopyDBClusterParameterGroup", |
|
"rds:CopyDBParameterGroup", |
|
"rds:CopyDBSnapshot", |
|
"rds:CreateDBClusterSnapshot", |
|
"rds:CreateDBSnapshot", |
|
"rds:DeleteDBCluster", |
|
"rds:DeleteDBClusterParameterGroup", |
|
"rds:DeleteDBClusterSnapshot", |
|
"rds:DeleteDBInstance", |
|
"rds:DeleteDBParameterGroup", |
|
"rds:DeleteDBSnapshot", |
|
"rds:DeleteDBSubnetGroup", |
|
"rds:DeleteEventSubscription", |
|
"rds:DescribeDBClusterParameters", |
|
"rds:DescribeDBClusterSnapshotAttributes", |
|
"rds:DescribeDBClusterSnapshots", |
|
"rds:DescribeDBClusters", |
|
"rds:DescribeDBEngineVersions", |
|
"rds:DescribeDBInstances", |
|
"rds:DescribeDBParameters", |
|
"rds:DescribeDBSnapshotAttributes", |
|
"rds:DescribeDBSnapshots", |
|
"rds:ModifyDBCluster", |
|
"rds:ModifyDBClusterParameterGroup", |
|
"rds:ModifyDBClusterSnapshotAttribute", |
|
"rds:ModifyDBInstance", |
|
"rds:ModifyDBParameterGroup", |
|
"rds:ModifyDBSnapshotAttribute", |
|
"rds:ModifyOptionGroup", |
|
"rds:RebootDBInstance", |
|
"rds:RemoveTagsFromResource", |
|
"rds:RestoreDBInstanceFromDBSnapshot", |
|
"rds:StartDBCluster", |
|
"rds:StartDBInstance", |
|
"rds:StopDBCluster", |
|
"rds:StopDBInstance", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "redshift" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"redshift:CreateClusterSnapshot", |
|
"redshift:CreateTags", |
|
"redshift:DeleteCluster", |
|
"redshift:DeleteClusterSnapshot", |
|
"redshift:DeleteTags", |
|
"redshift:DescribeClusterParameters", |
|
"redshift:DescribeClusterSnapshots", |
|
"redshift:DescribeLoggingStatus", |
|
"redshift:ModifyCluster", |
|
"redshift:PauseCluster", |
|
"redshift:ResumeCluster", |
|
"redshift:RevokeSnapshotAccess", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "route53" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"route53:CreateQueryLoggingConfig", |
|
"route53:DeleteHostedZone", |
|
"route53:DeleteQueryLoggingConfig", |
|
"route53:GetHostedZone", |
|
"route53:GetQueryLoggingConfig", |
|
"route53:ListTagsForResources", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "route53domains" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"route53domains:DeleteTagsForDomain", |
|
"route53domains:ListTagsForDomain", |
|
"route53domains:UpdateTagsForDomain", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "s3" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"s3:*", |
|
"s3:CreateBucket", |
|
"s3:DeleteAccessPoint", |
|
"s3:DeleteBucketPolicy", |
|
"s3:DeleteBucketWebsite", |
|
"s3:DeleteObjectVersion", |
|
"s3:GetAccessPointPolicy", |
|
"s3:GetAccountPublicAccessBlock", |
|
"s3:GetBucketLogging", |
|
"s3:GetBucketNotification", |
|
"s3:GetBucketOwnershipControls", |
|
"s3:GetBucketPolicy", |
|
"s3:GetBucketPublicAccessBlock", |
|
"s3:GetEncryptionConfiguration", |
|
"s3:GetInventoryConfiguration", |
|
"s3:GetLifecycleConfiguration", |
|
"s3:GetObject", |
|
"s3:GetReplicationConfiguration", |
|
"s3:ListAllMyBuckets", |
|
"s3:ListBucket", |
|
"s3:PutAccountPublicAccessBlock", |
|
"s3:PutBucketAcl", |
|
"s3:PutBucketLogging", |
|
"s3:PutBucketNotification", |
|
"s3:PutBucketPolicy", |
|
"s3:PutBucketPublicAccessBlock", |
|
"s3:PutBucketVersioning", |
|
"s3:PutEncryptionConfiguration", |
|
"s3:PutInventoryConfiguration", |
|
"s3:PutLifecycleConfiguration", |
|
"s3:PutObject", |
|
"s3:PutReplicationConfiguration", |
|
"s3:RestoreObject", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "sagemaker" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"sagemaker:AddTags", |
|
"sagemaker:DeleteEndpoint", |
|
"sagemaker:DeleteEndpointConfig", |
|
"sagemaker:DeleteModel", |
|
"sagemaker:DeleteNotebookInstance", |
|
"sagemaker:DeleteTags", |
|
"sagemaker:ListTags", |
|
"sagemaker:StartNotebookInstance", |
|
"sagemaker:StopNotebookInstance", |
|
"sagemaker:StopTrainingJob", |
|
"sagemaker:StopTransformJob", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "sdb" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"sdb:DeleteDomain", |
|
"sdb:DomainMetadata", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "secretsmanager" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"secretsmanager:GetResourcePolicy", |
|
"secretsmanager:ListSecretVersionIds", |
|
"secretsmanager:TagResource", |
|
"secretsmanager:UntagResource", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "securityhub" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"securityhub:BatchImportFindings", |
|
"securityhub:DescribeHub", |
|
"securityhub:GetFindings", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "serverlessrepo" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"serverlessrepo:DeleteApplication", |
|
"serverlessrepo:GetApplicationPolicy", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "servicecatalog" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"servicecatalog:DeletePortfolio", |
|
"servicecatalog:DeletePortfolioShare", |
|
"servicecatalog:ListPortfolioAccess", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "servicequotas" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"servicequotas:ListRequestedServiceQuotaChangeHistory", |
|
"servicequotas:RequestServiceQuotaIncrease", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "shield" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"shield:CreateProtection", |
|
"shield:CreateSubscription", |
|
"shield:DeleteSubscription", |
|
"shield:DescribeSubscription", |
|
"shield:ListProtections", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "sns" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"sns:DeleteTopic", |
|
"sns:GetTopicAttributes", |
|
"sns:ListTagsForResource", |
|
"sns:SetTopicAttributes", |
|
"sns:TagResource", |
|
"sns:Unsubscribe", |
|
"sns:UntagResource", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "sqs" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"sqs:DeleteQueue", |
|
"sqs:GetQueueAttributes", |
|
"sqs:RemovePermission", |
|
"sqs:SetQueueAttributes", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "ssm" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"ssm:CreateOpsItem", |
|
"ssm:DeleteActivation", |
|
"ssm:DeleteDocument", |
|
"ssm:DeleteParameter", |
|
"ssm:DeleteResourceDataSync", |
|
"ssm:DescribeActivations", |
|
"ssm:DescribeDocumentPermission", |
|
"ssm:DescribeInstanceInformation", |
|
"ssm:DescribeOpsItems", |
|
"ssm:DescribeParameters", |
|
"ssm:GetParameters", |
|
"ssm:ListDocuments", |
|
"ssm:ListResourceComplianceSummaries", |
|
"ssm:ListResourceDataSync", |
|
"ssm:ModifyDocumentPermission", |
|
"ssm:SendCommand", |
|
"ssm:UpdateOpsItem", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "states" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"states:StartExecution", |
|
"states:TagResource", |
|
"states:UntagResource", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "support" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"support:CreateCase", |
|
"support:DescribeTrustedAdvisorCheckRefreshStatuses", |
|
"support:DescribeTrustedAdvisorCheckResult", |
|
"support:DescribeTrustedAdvisorChecks", |
|
"support:RefreshTrustedAdvisorCheck", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "tag" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"tag:TagResources", |
|
"tag:UntagResources", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "waf-regional" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"waf-regional:AssociateWebACL", |
|
"waf-regional:ListResourcesForWebACL", |
|
"waf-regional:ListWebACLs", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "waf" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"waf:ListWebACLs", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "wafv2" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"wafv2:AssociateWebACL", |
|
"wafv2:ListResourcesForWebACL", |
|
"wafv2:ListWebACLs", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "workspaces" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"workspaces:DeleteWorkspaceImage", |
|
"workspaces:DeregisterWorkspaceDirectory", |
|
"workspaces:DescribeClientProperties", |
|
"workspaces:DescribeWorkspaceImagePermissions", |
|
"workspaces:DescribeWorkspacesConnectionStatus", |
|
"workspaces:ModifyClientProperties", |
|
"workspaces:TerminateWorkspaces", |
|
] |
|
} |
|
|
|
statement { |
|
sid = "xray" |
|
effect = "Allow" |
|
resources = ["*"] |
|
|
|
actions = [ |
|
"xray:GetEncryptionConfig", |
|
"xray:PutEncryptionConfig", |
|
] |
|
} |
|
} |