AWS Политика для запуска экземпляра через AWS cli - PullRequest
0 голосов
/ 21 марта 2020

Я хочу прикрепить политику AWS к пользователю IAM, которая позволяет использовать AWS CLI для start-instance и stop-instance на EC2.

Работает с использованием * Политика 1005 *, но я хочу ограничить ее.

Я использовал сочетание startInstances, stopInstances, describeInstances, ... но оно не сработало.

Я использую aws ec2 start-instance --instance-ids i-123.

Есть идеи?

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": ["cloudwatch:*","ec2:Describe*"],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Action": ["ec2:StartInstances","ec2:StopInstances"],
            "Effect": "Allow",
            "Resource": "arn:aws:ec2:eu-central-1b:123412341234:instance/i-123412341234"
        }
    ]
}

1 Ответ

0 голосов
/ 22 марта 2020

Политика разрешает пользователю IAM "ec2: StartInstances" и "ec2: StopInstances" выглядеть так:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": ["cloudwatch:*","ec2:Describe*"],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Action": ["ec2:StartInstances","ec2:StopInstances"],
            "Effect": "Allow",
            "Resource": "arn:aws:ec2:us-east-1:123456789012:instance/*"
        }
    ]
}

Посмотрите, как cloudwatch и ec2: описывают действия в отдельном выражении, они использовали только для поддержки Resource из "*" . Вы можете видеть, что AWS делает то же самое, отделяя действия EC2 от описания и тегирования: https://aws.amazon.com/premiumsupport/knowledge-center/iam-ec2-resource-tags/

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "ec2:*",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "ec2:ResourceTag/UserName": "${aws:username}"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": "ec2:Describe*",
      "Resource": "*"
    },
    {
      "Effect": "Deny",
      "Action": [
        "ec2:CreateTags",
        "ec2:DeleteTags"
      ],
      "Resource": "*"
    }
  ]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...