Я пытаюсь запустить этот клик для целевой группы:
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:::*"