Как перечислить все шлюзы, которые позволяют диапазон IP везде? - PullRequest
0 голосов
/ 26 июня 2019

Существует ли aws-cli для перечисления всех открытых портов в шлюзе API, аналогичном группе безопасности, как описано здесь https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-security-groups.html:

aws ec2 describe-security-groups --filters Name=ip-permission.from-port,Values=22 Name=ip-permission.to-port,Values=22 Name=ip-permission.cidr,Values='0.0.0.0/0' --query "SecurityGroups[*].{Name:GroupName}"

Политика в API-шлюзе определяется так, как описано здесь Как разрешить доступ к ресурсам AWS API-шлюза только по IP / диапазону :

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::<account_idA>:user/<user>",
                    "arn:aws:iam::<account_idA>:root"
                ]
            },
            "Action": "execute-api:Invoke",
            "Resource": "arn:aws:execute-api:us-east-1:<account_idB>:qxz8y9c8a4/*/*/*"
        },
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "execute-api:Invoke",
            "Resource": "arn:aws:execute-api:us-east-1:<account_idB>:qxz8y9c8a4/*",
            "Condition": {
                "IpAddress": {
                    "aws:SourceIp": "0.0.0.0/0"
                }
            }
        }
    ]
}

Решением может быть использование list-policies-for-target с запросом, но как найти шлюз и т. Д.?

1 Ответ

1 голос
/ 27 июня 2019

Я думаю, что это может сделать

aws apigateway get-rest-apis --query "items[?policy != null ].[id,name,policy]" --output text | grep "0.0.0.0"

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

...