AWS Security Hub 分析 CloudFormation

0

【以下的问题经过翻译处理】 所需的策略arn:aws:iam::aws:policy/AmazonEC2ReadOnlyAccess看起来像这样:

{
    “Version”:“2012-10-17”,
    “Statement”:[
        {
            “Effect”:“Allow”,
            “Action”:“ec2:Describe *”,
            “Resource”:“*”
         },
         {
             “Effect”:“Allow”,
             “Action”:“elasticloadbalancing:Describe *”,
             “Resource”:“*”
         },
         {
             “Effect”:“Allow”,
             “Action”:[
                 “cloudwatch:ListMetrics”,
                 “cloudwatch:GetMetricStatistics”,
                 “cloudwatch:Describe *”
             ],
             “Resource”:“*”
         },
         {
             “Effect”:“Allow”,
             “Action”:“autoscaling:Describe *”,
             “Resource”:“*”
         }
     ]
}

这可使IAM用户执行大多数ec2读取功能。

问题是这太宽容了。我需要做的是允许所有与此相同的功能,但仅适用于某些实例。因此,我尝试使用实例ID列表instanceids(使用Python boto3)来隔离此:

ResourceIds = [ f"arn:aws:ec2:{REGION_NAME}:{AWS_ACCOUNTID}:instance/{iid}" for iid in instanceids]
Ec2ReadOnlyPolicy = {
    “Version”:“2012-10-17”,
    “Statement”:[
        {
            “Effect”:“Allow”,
            “Action”:“ec2:Describe *”,
            “Resource”:ResourceIds
         },
         {
             “Effect”:“Allow”,
             “Action”:“elasticloadbalancing:Describe *”,
             “Resource”:ResourceIds
         },
         {
             “Effect”:“Allow”,
             “Action”:[
                 “cloudwatch:ListMetrics”,
                 “cloudwatch:GetMetricStatistics”,
                 “cloudwatch:Describe *”
             ],
             “Resource”:ResourceIds
         },
         {
             “Effect”:“Allow”,
             “Action”:“autoscaling:Describe *”,
             “Resource”:ResourceIds
profile picture
专家
已提问 6 个月前43 查看次数
1 回答
0

【以下的回答经过翻译处理】 很好的问题。在编写 IAM 策略时,请记住有些操作不支持资源级权限。如果不支持资源级权限,则必须在策略的 Resource 元素中指定所有资源 ("*") 才能使其工作。

通过操作页面(下面是示例)可以确定操作是否支持资源级权限。如果在“Resource types”列中没有任何值,则表示它不支持资源级权限。

在您的情况下,对于 DescribeInstances,该操作不支持资源级权限,并且必须附带指定所有资源。

您可以将不支持资源级权限的操作分开放在一个区块中,支持的操作放在另一个区块中,以实现更精细的 IAM 策略,就像您在上面尝试的那样。

https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html

profile picture
专家
已回答 6 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则