如果我正在创建自定义的自动缩放策略,并试图只限制与KJ统计的资源,而创建EMR自动缩放状态是失败的,而不是如果我指定 "*",然后它工作正常......有什么东西我在下面的政策代码丢失?
resource "aws_iam_policy" "aut_policy" {
name = "test_autoscale_policy"
#path = "/"
description = ""
policy = <<EOF
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"cloudwatch:DescribeAlarms",
"elasticmapreduce:ListInstanceGroups",
"elasticmapreduce:ModifyInstanceGroups"
],
"Effect": "Allow",
"Resource": [
"arn:aws:elasticmapreduce:*:*:kj*",
"arn:aws:ec2:*:*:kj*",
"arn:aws:events:*:*:kj*",
"arn:aws:dynamodb:*:*:table/kj*",
"arn:aws:cloudwatch:*:*:kj*"]
}
]
}
EOF
}
如何创建一个限制资源的自动缩放IAM角色?
IAM行动 elasticmapreduce:ListInstances 和 elasticmapreduce:ModifyInstanceGroups 都需要 cluster*
像这样的资源ARN。
arn:${Partition}:elasticmapreduce:${Region}:${Account}:cluster/${ClusterId}
提供类似以下的资源ARN模式将不匹配任何支持的资源,并且不允许自动缩放在你的资源上调用这些Elastic MapReduce API。
arn:aws:elasticmapreduce:*:*:kj*
以下是资源ARN模式 cluster*
资源ARN应该有希望发挥作用。
arn:aws:elasticmapreduce:*:*:cluster/kj*
IAM行动 cloudwatch:DescribeAlarms 需要 alarm*
资源 ARN,看起来像这样。
arn:${Partition}:cloudwatch:${Region}:${Account}:alarm:${AlarmName}
提供类似以下的资源 ARN 模式将不匹配任何支持的资源,并且不允许在您的资源上调用 CloudWatch API 的自动缩放。
arn:aws:cloudwatch:*:*:kj*
以下内容 alarm*
资源ARN应该希望可以工作。
arn:aws:cloudwatch:*:*:alarm:kj*
指定了以下资源ARN,但没有匹配的行动(无害,但令人困惑)。
"arn:aws:ec2:*:*:kj*",
"arn:aws:events:*:*:kj*",
"arn:aws:dynamodb:*:*:table/kj*",
I 高度 建议在ARNs中对账户进行约束。这可能是最重要的限制条件,因为任何其他账户都可以创建资源,以 kj.
你可以阅读更多关于 Amazon Elastic MapReduce 的动作、资源和条件键 这里。
https:/docs.aws.amazzon.comIAMlatestUserGuidelist_amazonelasticmapreduce.html。
您可以阅读更多关于 Amazon CloudWatch 的动作、资源和条件键 这里。
https:/docs.aws.amazon.comIAMlatestUserGuidelist_amazoncloudwatch.html#amazoncloudwatch-alarm。