Я использую Serverless Framework для создания шлюза API AWS.
У меня есть 10 конечных точек в этом API. Я хочу защитить только 1 конечную точку с помощью белого списка. Я слежу за этим постом , но безуспешно.
Это то, что у меня есть в serverless.yml
:
resourcePolicy:
- Effect: Allow
Principal: '*'
Action: execute-api:Invoke
Resource:
- "arn:aws:execute-api:${file(env.yml):${self:provider.stage}.region}:1111:1gfa5/${self:provider.stage}/POST/${file(env.yml):COMPANY_NAME}/pets"
Condition:
IpAddress:
aws:SourceIp:
- '11.11.111.238'
- '99.777.666.94'
Когда я запускаю sls print --stage dev
I можно увидеть:
Resource:
- >-
arn:aws:execute-api:us-west-2:1111:1gfa5/dev/POST/myComp/pets
Condition:
IpAddress:
'aws:SourceIp':
- '11.11.111.238'
- '99.777.666.94'
Затем я развертываю и защищаю все конечные точки с помощью белого списка, а не только POST/myComp/pets
.
Чего мне не хватает?