Используйте я должен Позволить Пользователю Редактировать AWS / Группы безопасности EC2?

Я ожидаю, что Вы хотите фальсифицировать возвращенное сообщение на старом домене. Я использую Exim, и их управление, чтобы сделать это.

Вы также захотите четкое возвращенное сообщение, которое указывает, что электронная почта была принята для доставки, но будущие сообщения должны быть отправлены в новый адрес.

Exim также допускает пользовательские возвращенные сообщения в файле псевдонимов. Это может использоваться для определения нового адреса.

Постфикс или обмен могут иметь схожую функциональность.

Править: Документация Exim довольно хороша. См. главу 40 спецификации (Списки управления доступом) и Глава 11 (Строковые Расширения) для получения дополнительной информации связанных с Вашей проблемой.

Вы могли попробовать запись в получателе ACL что-то вроде этого:

warn
    domains = old.example.com
    control == fakereject/User ${local_part}@old.example.com has moved \
          ${local_part}@new.example.net\n\
          Your message has been forwarded to their new address.

Перенаправление к Вашему новому серверу может быть сделано отдельными псевдонимами, маршрутизатор перенаправления (см., что глава 22 разделяет 3), или переписать правило (см., что глава 31 Адрес повторно обвиняет), такие как:

*@old.example.com      $1@new.example.net     T
15
задан 14 February 2014 в 17:44
5 ответов

Для того, чтобы это работало, вам необходимо явно РАЗРЕШИТЬ следующее:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Stmt1392679134000",
      "Effect": "Allow",
      "Action": [
        "ec2:AuthorizeSecurityGroupEgress",
        "ec2:AuthorizeSecurityGroupIngress",
        "ec2:CreateSecurityGroup",
        "ec2:DeleteSecurityGroup",
        "ec2:DescribeInstanceAttribute",
        "ec2:DescribeInstanceStatus",
        "ec2:DescribeInstances",
        "ec2:DescribeNetworkAcls",
        "ec2:DescribeSecurityGroups",
        "ec2:RevokeSecurityGroupEgress",
        "ec2:RevokeSecurityGroupIngress"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}

Вышеупомянутая политика JSON в основном предусматривает, что пользователь имеет доступ ТОЛЬКО к вышеуказанному. У них НЕ будет доступа ни к чему другому. Сюда входят экземпляры ec2, S3, IAM, облачный интерфейс и т. Д.

13
ответ дан 2 December 2019 в 20:49

Похоже, ваша группа безопасности, возможно, используется экземпляром или каким-либо другим ресурсом EC2. Можете ли вы попробовать:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Stmt1392336685000",
      "Effect": "Allow",
      "Action": [
        "ec2:*"
      ],
      "Resource": [
        "arn:aws:ec2:us-east-1:<MYACCOUNTHERE>:instance/*",
        "arn:aws:ec2:us-east-1:<MYACCOUNTHERE>:security-group/*"
      ]
    }
  ]
}
1
ответ дан 2 December 2019 в 20:49

Если вы хотите ограничить редактирование одной группой безопасности, я думаю, что вам нужно 2 оператора, у меня сработало следующее:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Stmt1413232782000",
            "Effect": "Allow",
            "Action": [               
                "ec2:DescribeInstanceAttribute",
                "ec2:DescribeInstanceStatus",
                "ec2:DescribeInstances",
                "ec2:DescribeNetworkAcls",
                "ec2:DescribeSecurityGroups"              
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Sid": "Stmt1413232782001",
            "Effect": "Allow",
            "Action": [
                "ec2:AuthorizeSecurityGroupEgress",
                "ec2:AuthorizeSecurityGroupIngress",                
                "ec2:RevokeSecurityGroupEgress",
                "ec2:RevokeSecurityGroupIngress"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:<accountid>:security-group/sg-<id>"
            ]
        }
    ]
}

DescribeInstance может не понадобиться, но в моем случае я хотел это, поэтому не тестировал без него

12
ответ дан 2 December 2019 в 20:49

Я искал ответ на вопрос , который @nsij22 задал в комментариях к принятому ответу. К сожалению, похоже, что это невозможно. Согласно IAM Policy Simulator, только следующие действия из ответа @DevMan14 могут быть использованы со специфическими ресурсами:

  • DeleteSecurityGroup
  • AuthorizeSecurityGroupEgress
  • AuthorizeSecurityGroupIngress
  • RevokeSecurityGroupEgress
  • RevokeSecurityGroupIngress

Для всего остального симулятор политики IAM говорит:

Это действие не поддерживает разрешения на уровне ресурсов. Политики, предоставляющие доступ, должны указывать "*" в элементе resource.

Это выглядит так:

screenshot.

Все "разрешено" и "запрещено" одинаковы, поэтому я их свернул.

.
1
ответ дан 2 December 2019 в 20:49

Ответ, данный Скоттом Муром и выбранный в качестве правильного ответа на момент написания уже не решает проблему. Не вина Скотта, AWS часто меняет многие вещи.

Мы следовали документу AWS и создали пользовательскую политику, которая отлично работала последние 1,5 года или около того, и вдруг сегодня утром наши клиенты столкнулись с проблемами при редактировании групп безопасности, и поэтому я наткнулся на эту тему, чтобы попробовать возможные решения.

В конце концов я создал собственную политику с нуля, так как кажется, что что-то критическое было объявлено устаревшим со стороны политики AWS IAM сегодня утром; так что политика, которая работала на момент написания для меня, была:-

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSecurityGroupRules",
                "ec2:ModifySecurityGroupRules"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:RevokeSecurityGroupEgress",
                "ec2:RevokeSecurityGroupIngress",
                "ec2:AuthorizeSecurityGroupEgress",
                "ec2:AuthorizeSecurityGroupIngress",
                "ec2:UpdateSecurityGroupRuleDescriptionsEgress",
                "ec2:UpdateSecurityGroupRuleDescriptionsIngress"
            ],
            "Resource": "arn:aws:ec2:*:*:security-group/*"
        }
    ]
}

Это:-

  • Позволяет редактировать/удалять существующие правила внутри существующих групп безопасности.
  • Позволяет создавать новые правила внутри существующих групп безопасности.
  • Не позволяет создать новую группу безопасности или удалить существующую группу безопасности.

Вопрос никогда не касался разрешения создавать новые группы безопасности или удалять существующие группы безопасности, поэтому это не было добавлено в политику, но может быть добавлено читателем, если этого требуют его требования.

0
ответ дан 8 July 2021 в 11:40

Теги

Похожие вопросы