WAF 는 총 1,500개의 Role 을 가질 수 있다.
WAF ACL 1개가 곧 1개의 Role 이 된다.
Create Web ACL
기본적으로 5분 단위로 집계된다. ex) 특정 IP로부터의 요청을 5분동안 100회로 제한한다.
특정 IP set 을 지정한다.
Block 된 IP로 요청시 다음 메시지가 응답된다.
{"message":"Forbidden"}
WAF 와는 별개로 AWS 몇몇 서비스만의 Resource Policy 를 가진다.
API Gateway 가 대표적인 예다.
WAF 설정 없이 별도로 json 으로 접근 권한 설정이 가능하다.
API Gateway 에도 걸 수 있다.
아래는 White-List 방식으로 특정 IP주소에 대해서만 API Gateawy 요청 제한을 허용하는 예제다.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": "execute-api:Invoke",
"Resource": "arn:aws:execute-api:{region}:{account-id}:{service-name}/*/*/*"
},
{
"Effect": "Deny",
"Principal": "*",
"Action": "execute-api:Invoke",
"Resource": "arn:aws:execute-api:{region}:{account-id}:{service-name}/*/*/*",
"Condition": {
"NotIpAddress": {
"aws:SourceIp": "{IP-Addres.v4}/32"
}
}
}
]
}
Rule 설정 후 반드시 리소스 '배포'해야한다.