ACCESS 절

클라이언트에서 접속을 시도할 때 IP 주소, 네트워크/넷마스크, 헤더 정보들을 기준으로 요청의 허용/제한을 설정합니다. 또한 요청 허용/제한이 적용되는 순서를 설정할 수 있습니다.

ACCESS 절은 SERVICE 절, SERVER 절에 적용될 수 있으며, 각각에서 정의한 리소스를 허용/제한합니다.

설정 항목

다음은 ACCESS 절의 환경 설정 형식입니다.

#"access": {
    "access_list": [
        {
            "name": string,
            "policy": string,
            #"allow_network": [string],
            #"deny_network": [string],
            #"allow_header": [string],
            #"deny_header": [string],
            #"method_whitelist": [string],
            #"method_blacklist": [string]
        }
    ]
}

절과 설정 항목의 구성에 대한 기호나 내용에 대한 자세한 내용은 설정 항목 값의 형식 및 설정 방법을 참고합니다.

access_list

ACCESS 설정에 대한 목록입니다.

구분 설명

자료형

array(object)

access_list/name (필수 항목)

ACCESS 절 이름을 설정합니다.

구분 설명

자료형

string

범위

255자 이내

access_list/policy (필수 항목)

method, allow_network, allow_header, deny_network, deny_header가 적용되는 순서를 설정합니다.

구분 설명

자료형

string

범위

"blacklist" | "whitelist" | "method_only"

access_list/allow_network

요청이 허용되는 IP 주소나 네트워크/넷마스크를 설정합니다. 이때 Allow = "all"은 특수 값으로서 모든 IP 주소를 의미합니다.

구분 설명

자료형

array(string)

범위

256개 이내(255자 이내)

access_list/deny_network

요청이 거절되는 IP 주소나 네트워크/넷마스크를 설정합니다.

구분 설명

자료형

array(string)

범위

256개 이내(255자 이내)

access_list/allow_header

요청이 허용되는 헤더를 설정합니다. 이때 요청에 포함된 <header field name> 헤더 값이 <regular expression>의 패턴과 매치됩니다.

구분 설명

자료형

array(string)

범위

256개 이내(255자 이내)

설정 형식

<header field name> <regular expression>

access_list/deny_header

요청이 거절되는 헤더를 설정합니다. 이때 요청에 포함된 <header field name> 헤더 값이 <regular expression>의 패턴과 매치됩니다.

구분 설명

자료형

array(string)

범위

256개 이내(255자 이내)

설정 형식

<header field name> <regular expression>

access_list/method_whitelist

적용할 HTTP 메소드를 설정합니다. 단, method_blacklist와 동시에 설정할 수 없습니다.

구분 설명

자료형

array(string)

범위

"GET", "POST", "PUT", "HEAD", "DELETE", "CONNECT", "OPTIONS", "TRACE", "PATCH", "PROPFIND", "PROPPATCH", "MKCOL", "COPY", "MOVE", "LOCK", "UNLOCK"

access_list/method_blacklist

제외할 HTTP 메소드를 설정합니다. 단, method_whitelist와 동시에 설정할 수 없습니다.

구분 설명

자료형

array(string)

범위

"GET", "POST", "PUT", "HEAD", "DELETE", "CONNECT", "OPTIONS", "TRACE", "PATCH", "PROPFIND", "PROPPATCH", "MKCOL", "COPY", "MOVE", "LOCK", "UNLOCK"

설정 예시

다음은 ACCESS 절을 설정한 예시입니다.

{
    "access": {
        "access_list": [
            {
                "name": "access1",
                "policy": "blacklist",
                "deny_network": [ "192.168.1.43/255.255.255.0" ]
            }
        ]
    }
}