Неверный программный документ.Пожалуйста, проверьте синтаксис политики и убедитесь, что принципалы действительны - PullRequest
0 голосов
/ 20 февраля 2019

Попытка создать документ политики ресурсов для шлюза API.

У меня есть следующее:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "*"
            },
            "Action": "execute-api:Invoke",
            "Resource": "arn:aws:execute-api:eu-west-1:<acct id>:g2wpcs1pk8/*"
        },
        {
            "Effect": "Deny",
            "Principal": {
                "AWS": "*"
            },
            "Action": "execute-api:Invoke",
            "Resource": "arn:aws:execute-api:eu-west-1:<acct_id>:g2wpcs1pk8/*",
            "Condition": {
                "IpAddress": {
                    "aws:SourceIp": [
                        "192.0.2.0/24",
                        "198.51.100.0/24"
                    ]
                }
            }
        }
    ]
}

Однако я получаю ошибку заголовка:

Invalid policy document. Please check the policy syntax and ensure that Principals are valid.

В интерфейсе шлюза API.

Я попытался включить ForAnyValue:IpAddress в Условие.

1 Ответ

0 голосов
/ 20 февраля 2019

I думаю проблема в том, что вы задаете доверительные отношения вместе с вашими разрешениями.Таким образом, если вы удалите Принципалов, политика действительно действительна.

Это разрешения для роли?Если это так, вы должны удалить Принципалов и выбрать свои доверительные отношения при создании роли.Точно так же вы можете прикрепить политику к пользователю.

...