added details about API Gateway
This commit is contained in:
parent
ea4d65e166
commit
128eb30906
|
@ -1467,9 +1467,43 @@ An HTTP API consists of the following parts.
|
|||
* Specific HTTP headers
|
||||
* HTTP Method
|
||||
* Endpoint the request is queried
|
||||
|
||||
There is an option for real-time, bidirectional websocket connection.
|
||||
|
||||
Lambda acts as a service proxy. The API Gateway can be attached to other AWS resources, e.g. Lambda. The Lambda authorizer can be used to check for credentials to other resources.
|
||||
It acts as a serverless reverse proxy for other APIs.
|
||||
There is an option for real-time, bidirectional websocket connection, besides
|
||||
regular RESTlike HTTP(S) APIs.
|
||||
|
||||
Monitoring is an integrated part of the Gateway.
|
||||
|
||||
Data the API Gateway uses is stored in an S3 bucket or a DynamoDB.
|
||||
|
||||
Microservices can be used through the API Gateway as well.
|
||||
|
||||
#### Lambda Authorizer
|
||||
|
||||
Lambda acts as a service proxy for the API Gateway. The API Gateway can be
|
||||
attached to other AWS resources, e.g. Lambda. The Lambda authorizer can be used
|
||||
to check for credentials to other resources. Authorization can be done via
|
||||
regular IAM or OAuth2. The authorization can be customized for access.
|
||||
|
||||
A policy is set for authorization against resources. Watch out for `*` wildcards
|
||||
inside these Lambda authorizer policies to get unexpected permissions.
|
||||
|
||||
#### Use an API Gateway as a Reverse Proxy
|
||||
|
||||
Rotation of IP addresses for an attack may bypass restrictions, like rate-limiting, set for an address.
|
||||
This can be done via VPNs, e.g. Tor or more suitable in this case using the AWS
|
||||
API Gateway to rotate the IP address via FireProx.
|
||||
|
||||
Use the Cloudshell inside a browser to clone and install the [Fireprox repository](https://github.com/ustayready/fireprox). Start `fire.py` afterwards.
|
||||
|
||||
You can use Fireprox externally from the AWS, but you have set an endpoint via a URL to achieve a connection.
|
||||
|
||||
```sh
|
||||
./fire.py --command create --url <URL>
|
||||
```
|
||||
|
||||
Using any of these two lets you list existing APIs.
|
||||
|
||||
```sh
|
||||
./fire.py --command list
|
||||
|
||||
|
|
Loading…
Reference in New Issue