Create a whitelist for IP addresses, CIDR for a serverless application, using serverless resource policies
npm install serverless-whitelistingCreate a whitelist for IP addresses, CIDR for a serverless application, using serverless resource policies.
This plugin requires serverless 3.18 or higher.
IP addresses, CIDR are whitelisted by stages and publicPaths.
- privateStages: Private to whitelisted CIDR and IP addresses. In the example below, staging and production stages are privateStages, so only those CIDR and IP addresses can access staging and production.
- publicStages: No whitelisting necessary. These stages are public to all CIDR and IP addresses.
- publicPaths: No whitelisting necessary regardless stages.
1. Install in your serverless application: npm install --save serverless-whitelisting
2. In your serverless.yml file, add the serverless-whitelisting to plugins, for example:
```
plugins:
- serverless-whitelisting
provider
3. Within the block, add a stage variable:`
`
provider:
stage: ${opt:stage, 'dev'}
custom
4. Within a block, add:`
`
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
> The netblocks object will contain the list of whitelisted IPs.
`serverless.yml
service: my-service-name
plugins:
- serverless-whitelisting
provider:
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
``