Назад | Перейти на главную страницу

Политика AWS IAM для эластичной балансировки нагрузки: DescribeTargetHealth

Я пытаюсь запустить этот клик для целевой группы:

aws elbv2 describe-target-health

Эта политика IAM не работает:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Stmt1497933736509",
      "Action": [
        "elasticloadbalancing:DescribeTargetHealth"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:elasticloadbalancing:::*"
    }
  ]
}

Сообщение об ошибке:

An error occurred (AccessDenied) when calling the DescribeTargetHealth operation

Это работает:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Stmt1497933977893",
      "Action": [
        "elasticloadbalancing:DescribeTargetHealth"
      ],
      "Effect": "Allow",
      "Resource": "*"
    }
  ]
}

Вопрос: почему я должен использовать * для включения всех ресурсов AWS? Я пропустил здесь что-нибудь очевидное?

В некоторых случаях пути в ARN могут включать подстановочный знак или звездочку (*). Но вы не можете использовать подстановочный знак в той части ARN, которая указывает тип ресурса. Что это означает?

Вы можете указать «все пользователи»:

"Resource": "arn:aws:iam::123456789012:user/*"

Вы можете указать «все сегменты S3»:

"Resource": "arn:aws:s3:::*"

Вы можете указать «все ресурсы AWS»:

"Resource": "*"

Список допустимых ARN задокументирован на Пространства имен сервисов ARNS и AWS страница. В случае ELB/ALB service, единственными разрешенными ARN и ресурсами являются:

arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id
arn:aws:elasticloadbalancing:region:account-id:listener/app/load-balancer-name/load-balancer-id/listener-id
arn:aws:elasticloadbalancing:region:account-id:listener-rule/app/load-balancer-name/load-balancer-id/listener-id/rule-id
arn:aws:elasticloadbalancing:region:account-id:targetgroup/target-group-name/target-group-id
arn:aws:elasticloadbalancing:region:account-id:loadbalancer/name

В документации компоненты ARN красного цвета - это те, с которыми вы можете играть. В случае ELB/ALB сервис, вы можете указать свой region, account-id, ELB название, target-group-name/target-group-id и т.п.

"Resource": "arn:aws:elasticloadbalancing:::*"