Serverless Whitelisting
Create a whitelist for IP addresses, CIDR for a serverless application, using serverless resource policies.
This plugin requires serverless 3.18 or higher.
Private and Public Stages
IP addresses, CIDR are whitelisted by stages and publicPaths
.
privateStages
: Private to whitelisted CIDR and IP addresses. In the example below,staging
andproduction
stages areprivateStages
, so only those CIDR and IP addresses can accessstaging
andproduction
.publicStages
: No whitelisting necessary. These stages are public to all CIDR and IP addresses.publicPaths
: No whitelisting necessary regardless stages.
How to Use
- Install in your serverless application:
npm install --save serverless-whitelisting
- In your
serverless.yml
file, add theserverless-whitelisting
toplugins
, for example:plugins:- serverless-whitelisting - Within the
provider
block, add astage
variable:provider:stage: ${opt:stage, 'dev'} - Within a
custom
block, add:custom:serverless-whitelisting:stage: ${self:provider.stage}privateStages:- staging- productionpublicStages:- testnetblocks:- 212.204.161.60/24- 68.159.185.46publicPaths:- oauth- oauth-test
The
netblocks
object will contain the list of whitelisted IPs.
Full Example
# serverless.ymlservice: my-service-nameplugins: - serverless-whitelistingprovider: stage: ${opt:stage, 'test'}custom: serverless-whitelisting: stage: ${self:provider.stage} privateStages: - staging - production publicStages: - test netblocks: - 212.204.161.60/24 - 68.159.185.46 publicPaths: - oauth - oauth-test