Firewall
Overview
SCP에서 제공하는 IaaS/PaaS 상품을 프로그램적으로 이용할 수 있도록 지원하는 응용 프로그램 인터페이스(Application Programming Interface, API)를 제공합니다.
본 가이드는 Firewall 서비스에 대한 간략한 설명 및 API를 호출하는 방법을 제공합니다.
API는 RESTful API 방식으로 제공되며, JSON 형식으로 응답합니다.
Version
| Version | Status | Supported Until |
|---|
| 1.0 | CURRENT | - |
OpenAPI URL
https://firewall.{region}.{environment}.samsungsdscloud.com
Environment and Region List
| environment | region |
|---|
| s | kr-west1 |
| s | kr-east1 |
| g | kr-south1 |
| g | kr-south2 |
| g | kr-south3 |
| e | kr-west1 |
| e | kr-east1 |
1.1.1 - 1.0
post /v1/firewalls/rules
Description
firewall rule 생성한다.
상태
ACTIVE (CURRENT)
Parameters
Responses
Example HTTP request
Request path
/v1/firewalls/rules
"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = ko-KR",
"Scp-Api-Version = firewall 1.0"
Request body
{
"firewall_id": "b156740b6335468d8354eb9ef8eddf5a",
"firewall_rule": {
"action": "ALLOW",
"description": "Firewall rule description example",
"destination_address": [
"10.0.0.1",
"10.0.0.2"
],
"direction": "INBOUND",
"order_direction": "BEFORE",
"order_rule_id": "043aa63459da466faad71fe4fe587031",
"service": [
{
"service_type": "TCP",
"service_value": "443"
}
],
"source_address": [
"192.168.1.1",
"192.168.1.2"
],
"status": "ENABLE"
}
}
Example HTTP response
Response 201
{
"firewall_rule": {
"action": "ALLOW",
"created_at": "2024-05-17T00:23:17Z",
"created_by": "90dddfc2b1e04edba54ba2b41539a9ac",
"description": "Firewall rule description example",
"destination_address": [
"10.0.0.1",
"10.0.0.2"
],
"destination_interface": "IFW1-v1001dn",
"direction": "INBOUND",
"firewall_id": "b156740b6335468d8354eb9ef8eddf5a",
"id": "b156740b6335468d8354eb9ef8eddf5a",
"modified_at": "2024-05-17T00:23:17Z",
"modified_by": "90dddfc2b1e04edba54ba2b41539a9ac",
"name": "b156740b6335468d8354eb9ef8eddf5a",
"sequence": 100,
"service": [
{
"service_type": "TCP",
"service_value": "443"
}
],
"source_address": [
"192.168.1.1",
"192.168.1.2"
],
"source_interface": "IFW1-v2501up",
"state": "CREATING",
"status": "ENABLE",
"vendor_rule_id": "72"
}
}
1.2.1 - 1.0
delete /v1/firewalls/rules/{firewall_rule_id}
Description
firewall rule 삭제한다.
상태
ACTIVE (CURRENT)
Parameters
| Type | Name | Description | Schema | Default |
|---|
| path | firewall_rule_id required | Firewall rule ID Example : b156740b6335468d8354eb9ef8eddf5a
| string | None |
Responses
| HTTP Code | Description | Schema |
|---|
| 204 | No Content | None |
| 400 | Bad Request | None |
| 403 | Forbidden | None |
| 404 | Not Found | None |
Example HTTP request
Request path
/v1/firewalls/rules/{firewall_rule_id}
"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = ko-KR",
"Scp-Api-Version = firewall 1.0"
Example HTTP response
Response 204
1.3.1 - 1.0
get /v1/firewalls/rules
Description
firewall rule 목록 조회한다.
상태
ACTIVE (CURRENT)
Parameters
| Type | Name | Description | Schema | Default |
|---|
| query | size optional | size Example : 20
| any of [integer, null] | 20 |
| query | page optional | page Example : 0
| any of [integer, null] | 0 |
| query | sort optional | sort Example : created_at:desc
| any of [string, null] | None |
| query | firewall_id required | Firewall ID Example : b156740b6335468d8354eb9ef8eddf5a
| string | None |
| query | src_ip optional | 출발지 IP Example : 192.168.1.1
| string | None |
| query | dst_ip optional | 목적지 IP Example : 192.168.1.1
| string | None |
| query | description optional | Firewall rule 설명 Example : Firewall rule description example
| string | None |
| query | state optional | Firewall rule 상태
| array[enum (CREATING, ACTIVE, DELETING, DELETED, EDITING, ERROR)] | [] |
| query | status optional | Firewall rule 사용 여부 Example :
| enum (ENABLE, DISABLE) | None |
| query | fetch_all optional | Firewall rule 전체 조회 Example : False
| boolean | False |
Responses
Example HTTP request
Request path
/v1/firewalls/rules?firewall_id={firewall_id}
"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = ko-KR",
"Scp-Api-Version = firewall 1.0"
Example HTTP response
Response 200
{
"count": 20,
"firewall_rules": [
{
"action": "ALLOW",
"created_at": "2024-05-17T00:23:17Z",
"created_by": "90dddfc2b1e04edba54ba2b41539a9ac",
"description": "Firewall rule description example",
"destination_address": [
"10.0.0.1",
"10.0.0.2"
],
"destination_interface": "IFW1-v1001dn",
"direction": "INBOUND",
"firewall_id": "b156740b6335468d8354eb9ef8eddf5a",
"id": "b156740b6335468d8354eb9ef8eddf5a",
"modified_at": "2024-05-17T00:23:17Z",
"modified_by": "90dddfc2b1e04edba54ba2b41539a9ac",
"name": "b156740b6335468d8354eb9ef8eddf5a",
"sequence": 100,
"service": [
{
"service_type": "TCP",
"service_value": "443"
}
],
"source_address": [
"192.168.1.1",
"192.168.1.2"
],
"source_interface": "IFW1-v2501up",
"state": "CREATING",
"status": "ENABLE",
"vendor_rule_id": "72"
}
],
"page": 0,
"size": 20,
"sort": [
"created_at:asc"
]
}
1.4.1 - 1.0
get /v1/firewalls
Description
firewall 목록 조회한다.
상태
ACTIVE (CURRENT)
Parameters
| Type | Name | Description | Schema | Default |
|---|
| query | size optional | size Example : 20
| any of [integer, null] | 20 |
| query | page optional | page Example : 0
| any of [integer, null] | 0 |
| query | sort optional | sort Example : created_at:desc
| any of [string, null] | None |
| query | name optional | Firewall 이름 Example : FW_IGW_secuVPC
| string | None |
| query | vpc_name optional | VPC 명 Example : secuVPC
| string | None |
| query | product_type optional | Firewall 상품 유형
| array[enum (IGW, GGW, DGW, LB, SIGW, TGW_IGW, TGW_GGW, TGW_DGW, TGW_SIGW, TGW_BM)] | [] |
| query | state optional | Firewall 상태
| array[enum (CREATING, ACTIVE, DELETING, DELETED, EDITING, ERROR, DEPLOYING)] | [] |
Responses
Example HTTP request
Request path
/v1/firewalls
"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = ko-KR",
"Scp-Api-Version = firewall 1.0"
Example HTTP response
Response 200
{
"count": 20,
"firewalls": [
{
"account_id": "0e3dffc50eb247a1adf4f2e5c82c4f99",
"created_at": "2024-05-17T00:23:17Z",
"created_by": "90dddfc2b1e04edba54ba2b41539a9ac",
"flavor_name": "SMALL",
"flavor_rule_quota": 100,
"fw_resource_id": "005fd1d30dea11f08a2c56773bef875b",
"id": "b156740b6335468d8354eb9ef8eddf5a",
"loggable": false,
"modified_at": "2024-05-17T00:23:17Z",
"modified_by": "90dddfc2b1e04edba54ba2b41539a9ac",
"name": "FW_IGW_secuVPC",
"pre_product_id": "76479b7ffee1431198d9beb4502cda08",
"product_type": "IGW",
"state": "CREATING",
"status": "ENABLE",
"total_rule_count": 8,
"vpc_id": "ceb44ea5ecb34a49b16495f9a63b0718",
"vpc_name": "secuVPC"
}
],
"page": 0,
"size": 20,
"sort": [
"created_at:asc"
]
}
1.5.1 - 1.0
put /v1/firewalls/{firewall_id}
Description
firewall 수정한다.
상태
ACTIVE (CURRENT)
Parameters
| Type | Name | Description | Schema | Default |
|---|
| path | firewall_id required | Firewall ID Example : b156740b6335468d8354eb9ef8eddf5a
| string | None |
| body | body required |
| FirewallSetRequest | |
Responses
| HTTP Code | Description | Schema |
|---|
| 200 | OK | FirewallShowResponse |
| 400 | Bad Request | None |
| 403 | Forbidden | None |
| 404 | Not Found | None |
Example HTTP request
Request path
/v1/firewalls/{firewall_id}
"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = ko-KR",
"Scp-Api-Version = firewall 1.0"
Request body
{
"flavor_name": "EXSMALL",
"loggable": false
}
Example HTTP response
Response 200
{
"firewall": {
"account_id": "0e3dffc50eb247a1adf4f2e5c82c4f99",
"created_at": "2024-05-17T00:23:17Z",
"created_by": "90dddfc2b1e04edba54ba2b41539a9ac",
"flavor_name": "SMALL",
"flavor_rule_quota": 100,
"fw_resource_id": "005fd1d30dea11f08a2c56773bef875b",
"id": "b156740b6335468d8354eb9ef8eddf5a",
"loggable": false,
"modified_at": "2024-05-17T00:23:17Z",
"modified_by": "90dddfc2b1e04edba54ba2b41539a9ac",
"name": "FW_IGW_secuVPC",
"pre_product_id": "76479b7ffee1431198d9beb4502cda08",
"product_type": "IGW",
"state": "CREATING",
"status": "ENABLE",
"total_rule_count": 8,
"vpc_id": "ceb44ea5ecb34a49b16495f9a63b0718",
"vpc_name": "secuVPC"
}
}
1.6.1 - 1.0
put /v1/firewalls/rules/{firewall_rule_id}
Description
firewall rule 수정한다,
상태
ACTIVE (CURRENT)
Parameters
| Type | Name | Description | Schema | Default |
|---|
| path | firewall_rule_id required | Firewall rule ID Example : b156740b6335468d8354eb9ef8eddf5a
| string | None |
| body | body required |
| FirewallRuleSetRequest | |
Responses
Example HTTP request
Request path
/v1/firewalls/rules/{firewall_rule_id}
"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = ko-KR",
"Scp-Api-Version = firewall 1.0"
Request body
{
"action": "ALLOW",
"description": "Firewall rule description example",
"destination_address": [
"10.0.0.1",
"10.0.0.2"
],
"direction": "INBOUND",
"service": [
{
"service_type": "TCP",
"service_value": "443"
}
],
"source_address": [
"192.168.1.1",
"192.168.1.2"
]
}
Example HTTP response
Response 200
{
"firewall_rule": {
"action": "ALLOW",
"created_at": "2024-05-17T00:23:17Z",
"created_by": "90dddfc2b1e04edba54ba2b41539a9ac",
"description": "Firewall rule description example",
"destination_address": [
"10.0.0.1",
"10.0.0.2"
],
"destination_interface": "IFW1-v1001dn",
"direction": "INBOUND",
"firewall_id": "b156740b6335468d8354eb9ef8eddf5a",
"id": "b156740b6335468d8354eb9ef8eddf5a",
"modified_at": "2024-05-17T00:23:17Z",
"modified_by": "90dddfc2b1e04edba54ba2b41539a9ac",
"name": "b156740b6335468d8354eb9ef8eddf5a",
"sequence": 100,
"service": [
{
"service_type": "TCP",
"service_value": "443"
}
],
"source_address": [
"192.168.1.1",
"192.168.1.2"
],
"source_interface": "IFW1-v2501up",
"state": "CREATING",
"status": "ENABLE",
"vendor_rule_id": "72"
}
}
1.7.1 - 1.0
get /v1/firewalls/{firewall_id}
Description
firewall 상세 조회한다.
상태
ACTIVE (CURRENT)
Parameters
| Type | Name | Description | Schema | Default |
|---|
| path | firewall_id required | Firewall ID Example : b156740b6335468d8354eb9ef8eddf5a
| string | None |
Responses
Example HTTP request
Request path
/v1/firewalls/{firewall_id}
"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = ko-KR",
"Scp-Api-Version = firewall 1.0"
Example HTTP response
Response 200
{
"firewall": {
"account_id": "0e3dffc50eb247a1adf4f2e5c82c4f99",
"created_at": "2024-05-17T00:23:17Z",
"created_by": "90dddfc2b1e04edba54ba2b41539a9ac",
"flavor_name": "SMALL",
"flavor_rule_quota": 100,
"fw_resource_id": "005fd1d30dea11f08a2c56773bef875b",
"id": "b156740b6335468d8354eb9ef8eddf5a",
"loggable": false,
"modified_at": "2024-05-17T00:23:17Z",
"modified_by": "90dddfc2b1e04edba54ba2b41539a9ac",
"name": "FW_IGW_secuVPC",
"pre_product_id": "76479b7ffee1431198d9beb4502cda08",
"product_type": "IGW",
"state": "CREATING",
"status": "ENABLE",
"total_rule_count": 8,
"vpc_id": "ceb44ea5ecb34a49b16495f9a63b0718",
"vpc_name": "secuVPC"
}
}
1.8.1 - 1.0
get /v1/firewalls/rules/{firewall_rule_id}
Description
firewall rule 상세 조회한다.
상태
ACTIVE (CURRENT)
Parameters
| Type | Name | Description | Schema | Default |
|---|
| path | firewall_rule_id required | Firewall rule ID Example : b156740b6335468d8354eb9ef8eddf5a
| string | None |
Responses
Example HTTP request
Request path
/v1/firewalls/rules/{firewall_rule_id}
"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = ko-KR",
"Scp-Api-Version = firewall 1.0"
Example HTTP response
Response 200
{
"firewall_rule": {
"action": "ALLOW",
"created_at": "2024-05-17T00:23:17Z",
"created_by": "90dddfc2b1e04edba54ba2b41539a9ac",
"description": "Firewall rule description example",
"destination_address": [
"10.0.0.1",
"10.0.0.2"
],
"destination_interface": "IFW1-v1001dn",
"direction": "INBOUND",
"firewall_id": "b156740b6335468d8354eb9ef8eddf5a",
"id": "b156740b6335468d8354eb9ef8eddf5a",
"modified_at": "2024-05-17T00:23:17Z",
"modified_by": "90dddfc2b1e04edba54ba2b41539a9ac",
"name": "b156740b6335468d8354eb9ef8eddf5a",
"sequence": 100,
"service": [
{
"service_type": "TCP",
"service_value": "443"
}
],
"source_address": [
"192.168.1.1",
"192.168.1.2"
],
"source_interface": "IFW1-v2501up",
"state": "CREATING",
"status": "ENABLE",
"vendor_rule_id": "72"
}
}