Security Group

Overview

SCP에서 제공하는 IaaS/PaaS 상품을 프로그램적으로 이용할 수 있도록 지원하는 응용 프로그램 인터페이스(Application Programming Interface, API)를 제공합니다. 본 가이드는 Security Group 서비스에 대한 간략한 설명 및 API를 호출하는 방법을 제공합니다. API는 RESTful API 방식으로 제공되며, JSON 형식으로 응답합니다.

Version

VersionStatusSupported Until
1.0CURRENT-

OpenAPI URL

https://security-group.{region}.{environment}.samsungsdscloud.com

Environment and Region List

environmentregion
skr-west1
skr-east1
gkr-south1
gkr-south2
gkr-south3
ekr-west1
ekr-east1

1 - APIs

1.1 - Create Security Group

1.1.1 - 1.0

post /v1/security-groups

Description

Security Group을 생성한다.

상태 ACTIVE (CURRENT)

버전최소 지원 보장일
1.0-

Parameters

TypeNameDescriptionSchemaDefault
bodybody
required

SecurityGroupCreateRequest

Responses

HTTP CodeDescriptionSchema
201CreatedSecurityGroupShowResponse
400Bad RequestNone
401UnauthorizedNone
403ForbiddenNone
404Not FoundNone

Example HTTP request

Request path

/v1/security-groups

Request header

"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = ko-KR",
"Scp-Api-Version = security-group 1.0"

Request body

{
    "description": "",
    "loggable": false,
    "name": "",
    "tags": []
}

Example HTTP response

Response 201

{
    "security_group": {
        "account_id": "",
        "created_at": "2024-05-17T00:23:17Z",
        "created_by": "90dddfc2b1e04edba54ba2b41539a9ac",
        "description": "",
        "id": "",
        "loggable": "",
        "modified_at": "2024-05-17T00:23:17Z",
        "modified_by": "90dddfc2b1e04edba54ba2b41539a9ac",
        "name": "",
        "rule_count": 0,
        "state": ""
    }
}

1.2 - Create Security Group Rule

1.2.1 - 1.0

post /v1/security-group-rules

Description

Security Group rule을 생성한다.

상태 ACTIVE (CURRENT)

버전최소 지원 보장일
1.0-

Parameters

TypeNameDescriptionSchemaDefault
bodybody
required

SecurityGroupRuleCreateRequest

Responses

HTTP CodeDescriptionSchema
201CreatedSecurityGroupRuleShowResponse
400Bad RequestNone
401UnauthorizedNone
403ForbiddenNone
404Not FoundNone
409ConflictNone

Example HTTP request

Request path

/v1/security-group-rules

Request header

"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = ko-KR",
"Scp-Api-Version = security-group 1.0"

Request body

{
    "description": "",
    "direction": "",
    "ethertype": "IPv4",
    "port_range_max": "",
    "port_range_min": "",
    "protocol": "",
    "remote_group_id": "",
    "remote_ip_prefix": "",
    "security_group_id": ""
}

Example HTTP response

Response 201

{
    "security_group_rule": {
        "created_at": "2024-05-17T00:23:17Z",
        "created_by": "90dddfc2b1e04edba54ba2b41539a9ac",
        "description": "",
        "direction": "ingress",
        "ethertype": "IPv4",
        "id": "",
        "modified_at": "2024-05-17T00:23:17Z",
        "modified_by": "90dddfc2b1e04edba54ba2b41539a9ac",
        "port_range_max": "",
        "port_range_min": "",
        "protocol": "",
        "remote_group_id": "",
        "remote_group_name": "",
        "remote_ip_prefix": "",
        "security_group_id": ""
    }
}

1.3 - Delete Security Group

1.3.1 - 1.0

delete /v1/security-groups/{security_group_id}

Description

Security Group을 삭제한다.

상태 ACTIVE (CURRENT)

버전최소 지원 보장일
1.0-

Parameters

TypeNameDescriptionSchemaDefault
pathsecurity_group_id
required
Security Group ID
Example :
stringNone

Responses

HTTP CodeDescriptionSchema
204No ContentNone
400Bad RequestNone
401UnauthorizedNone
403ForbiddenNone
404Not FoundNone
409ConflictNone

Example HTTP request

Request path

/v1/security-groups/{security_group_id}

Request header

"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = ko-KR",
"Scp-Api-Version = security-group 1.0"

Example HTTP response

Response 204

1.4 - Delete Security Group Rule

1.4.1 - 1.0

delete /v1/security-group-rules/{security_group_rule_id}

Description

Security Group rule을 삭제한다.

상태 ACTIVE (CURRENT)

버전최소 지원 보장일
1.0-

Parameters

TypeNameDescriptionSchemaDefault
pathsecurity_group_rule_id
required
Security Group Rule ID
Example :
stringNone

Responses

HTTP CodeDescriptionSchema
204No ContentNone
400Bad RequestNone
401UnauthorizedNone
403ForbiddenNone
404Not FoundNone

Example HTTP request

Request path

/v1/security-group-rules/{security_group_rule_id}

Request header

"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = ko-KR",
"Scp-Api-Version = security-group 1.0"

Example HTTP response

Response 204

1.5 - List Security Group Rules

1.5.1 - 1.0

get /v1/security-group-rules

Description

Security Group rule 목록을 조회한다.

상태 ACTIVE (CURRENT)

버전최소 지원 보장일
1.0-

Parameters

TypeNameDescriptionSchemaDefault
querysize
optional
size
Example : 20
any of [integer, null]20
querypage
optional
page
Example : 0
any of [integer, null]0
querysort
optional
sort
Example : created_at:desc
any of [string, null]None
queryid
optional
Security Group Rule ID
Example :
stringNone
querysecurity_group_id
required
Security Group ID
Example :
stringNone
queryremote_ip_prefix
optional
Security Group Rule IP 주소
Example :
stringNone
queryremote_group_id
optional
Security Group Rule 원격 그룹 ID
Example :
stringNone
querydescription
optional
Security Group Rule 설명
Example :
stringNone
querydirection
optional
Security Group Rule 방향 (Ingress, Egress)
Example :
stringNone
queryservice
optional
Security Group Rule 서비스
Example :
stringNone

Responses

HTTP CodeDescriptionSchema
200OKSecurityGroupRuleListResponse
400Bad RequestNone
401UnauthorizedNone
403ForbiddenNone

Example HTTP request

Request path

/v1/security-group-rules?security_group_id={security_group_id}

Request header

"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = ko-KR",
"Scp-Api-Version = security-group 1.0"

Example HTTP response

Response 200

{
    "count": 20,
    "links": [
        {
            "href": "http://scp.samsungsdscloud.com/v1/notices",
            "rel": "self"
        }
    ],
    "security_group_rules": [
        {
            "created_at": "2024-05-17T00:23:17Z",
            "created_by": "90dddfc2b1e04edba54ba2b41539a9ac",
            "description": "",
            "direction": "ingress",
            "ethertype": "IPv4",
            "id": "",
            "modified_at": "2024-05-17T00:23:17Z",
            "modified_by": "90dddfc2b1e04edba54ba2b41539a9ac",
            "port_range_max": "",
            "port_range_min": "",
            "protocol": "",
            "remote_group_id": "",
            "remote_group_name": "",
            "remote_ip_prefix": "",
            "security_group_id": ""
        }
    ]
}

1.6 - List Security Groups

1.6.1 - 1.0

get /v1/security-groups

Description

Security Group 목록을 조회한다.

상태 ACTIVE (CURRENT)

버전최소 지원 보장일
1.0-

Parameters

TypeNameDescriptionSchemaDefault
querysize
optional
size
Example : 20
any of [integer, null]20
querypage
optional
page
Example : 0
any of [integer, null]0
querysort
optional
sort
Example : created_at:desc
any of [string, null]None
queryid
optional
Security Group ID
Example :
stringNone
queryname
optional
Security Group 이름
Example :
stringNone

Responses

HTTP CodeDescriptionSchema
200OKSecurityGroupListResponse
400Bad RequestNone
401UnauthorizedNone
403ForbiddenNone

Example HTTP request

Request path

/v1/security-groups

Request header

"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = ko-KR",
"Scp-Api-Version = security-group 1.0"

Example HTTP response

Response 200

{
    "count": 20,
    "links": [
        {
            "href": "http://scp.samsungsdscloud.com/v1/notices",
            "rel": "self"
        }
    ],
    "security_groups": [
        {
            "account_id": "",
            "created_at": "2024-05-17T00:23:17Z",
            "created_by": "90dddfc2b1e04edba54ba2b41539a9ac",
            "description": "",
            "id": "",
            "loggable": "",
            "modified_at": "2024-05-17T00:23:17Z",
            "modified_by": "90dddfc2b1e04edba54ba2b41539a9ac",
            "name": "",
            "rule_count": 0,
            "state": ""
        }
    ]
}

1.7 - Set Security Group

1.7.1 - 1.0

put /v1/security-groups/{security_group_id}

Description

Security Group을 수정한다.

상태 ACTIVE (CURRENT)

버전최소 지원 보장일
1.0-

Parameters

TypeNameDescriptionSchemaDefault
pathsecurity_group_id
required
Security Group ID
Example :
stringNone
bodybody
required

SecurityGroupSetRequest

Responses

HTTP CodeDescriptionSchema
200OKNone
400Bad RequestNone
401UnauthorizedNone
403ForbiddenNone
404Not FoundNone

Example HTTP request

Request path

/v1/security-groups/{security_group_id}

Request header

"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = ko-KR",
"Scp-Api-Version = security-group 1.0"

Request body

{
    "description": "",
    "loggable": ""
}

Example HTTP response

Response 200

1.8 - Show Security Group

1.8.1 - 1.0

get /v1/security-groups/{security_group_id}

Description

Security Group 상세 조회한다.

상태 ACTIVE (CURRENT)

버전최소 지원 보장일
1.0-

Parameters

TypeNameDescriptionSchemaDefault
pathsecurity_group_id
required
Security Group ID
Example :
stringNone

Responses

HTTP CodeDescriptionSchema
200OKSecurityGroupShowResponse
400Bad RequestNone
401UnauthorizedNone
403ForbiddenNone
404Not FoundNone

Example HTTP request

Request path

/v1/security-groups/{security_group_id}

Request header

"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = ko-KR",
"Scp-Api-Version = security-group 1.0"

Example HTTP response

Response 200

{
    "security_group": {
        "account_id": "",
        "created_at": "2024-05-17T00:23:17Z",
        "created_by": "90dddfc2b1e04edba54ba2b41539a9ac",
        "description": "",
        "id": "",
        "loggable": "",
        "modified_at": "2024-05-17T00:23:17Z",
        "modified_by": "90dddfc2b1e04edba54ba2b41539a9ac",
        "name": "",
        "rule_count": 0,
        "state": ""
    }
}

1.9 - Show Security Group Rule

1.9.1 - 1.0

get /v1/security-group-rules/{security_group_rule_id}

Description

Security Group rule을 상세 조회한다.

상태 ACTIVE (CURRENT)

버전최소 지원 보장일
1.0-

Parameters

TypeNameDescriptionSchemaDefault
pathsecurity_group_rule_id
required
Security Group Rule ID
Example :
stringNone
queryfields
optional
필드명
Example :
any of [array[object], string, null]None

Responses

HTTP CodeDescriptionSchema
200OKSecurityGroupRuleShowResponse
400Bad RequestNone
401UnauthorizedNone
403ForbiddenNone
404Not FoundNone

Example HTTP request

Request path

/v1/security-group-rules/{security_group_rule_id}

Request header

"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = ko-KR",
"Scp-Api-Version = security-group 1.0"

Example HTTP response

Response 200

{
    "security_group_rule": {
        "created_at": "2024-05-17T00:23:17Z",
        "created_by": "90dddfc2b1e04edba54ba2b41539a9ac",
        "description": "",
        "direction": "ingress",
        "ethertype": "IPv4",
        "id": "",
        "modified_at": "2024-05-17T00:23:17Z",
        "modified_by": "90dddfc2b1e04edba54ba2b41539a9ac",
        "port_range_max": "",
        "port_range_min": "",
        "protocol": "",
        "remote_group_id": "",
        "remote_group_name": "",
        "remote_ip_prefix": "",
        "security_group_id": ""
    }
}

2 - Models

2.1 - SecurityGroup

NameDescriptionSchemaDefault
account_id
required
Security Group Account ID
Example :
string
created_at
required
생성 시간
Example : 2024-05-17T00:23:17Z
string (date-time)
created_by
required
생성자
Example : 90dddfc2b1e04edba54ba2b41539a9ac
string
description
required
Security Group 설명
Example :
any of [string, null]
id
required
Security Group ID
Example :
string
loggable
required
Security Group 로깅 여부
Example :
boolean
modified_at
required
수정 시간
Example : 2024-05-17T00:23:17Z
string (date-time)
modified_by
required
수정자
Example : 90dddfc2b1e04edba54ba2b41539a9ac
string
name
required
Security Group 이름
Example :
string
rule_count
optional
Security Group Rule 수
Example : 0
integer
state
required
Security Group 상태
Example :
string

2.2 - SecurityGroupCreateRequest

NameDescriptionSchemaDefault
description
optional
Security Group 설명
Example :
any of [string, null]
loggable
optional
Security Group 로깅 여부
Example : False
any of [boolean, null]
name
required
Security Group 이름
Example :
Maximum length : 255
string
tags
optional
태그 목록
array[Tag]

2.3 - SecurityGroupListResponse

NameDescriptionSchemaDefault
count
optional
전체 개수
Example : 20
any of [integer, null]
links
optional
links
Example : [{'href': 'http://scp.samsungsdscloud.com/v1/notices', 'rel': 'self'}]
any of [array[object], null]
security_groups
required

array[SecurityGroup]

2.4 - SecurityGroupRule

NameDescriptionSchemaDefault
created_at
required
생성 시간
Example : 2024-05-17T00:23:17Z
string (date-time)
created_by
required
생성자
Example : 90dddfc2b1e04edba54ba2b41539a9ac
string
description
required
Security Group Rule 설명
Example :
any of [string, null]
direction
required
Security Group Rule 방향 (Ingress, Egress)
Example : ingress
enum (ingress, egress)
ethertype
optional
Security Group Rule Ethertype (IPV4, IPV6)
Example : IPv4
any of [string, null]IPv4
id
required
Security Group Rule ID
Example :
string
modified_at
required
수정 시간
Example : 2024-05-17T00:23:17Z
string (date-time)
modified_by
required
수정자
Example : 90dddfc2b1e04edba54ba2b41539a9ac
string
port_range_max
required
Security Group Rule 포트 범위 최대값
Example :
any of [integer, null]
port_range_min
required
Security Group Rule 포트 범위 최소값
Example :
any of [integer, null]
protocol
required
Security Group Rule 프로토콜
Example :
any of [string, null]
remote_group_id
required
Security Group Rule 원격 그룹 ID
Example :
any of [string, null]
remote_group_name
optional
Security Group Rule 원격 그룹 이름
Example :
any of [string, null]
remote_ip_prefix
required
Security Group Rule IP 주소
Example :
any of [string, null]
security_group_id
required
Security Group ID
Example :
string

2.5 - SecurityGroupRuleCreateRequest

NameDescriptionSchemaDefault
description
optional
Security Group Rule 설명
Example :
any of [string, null]
direction
required
Security Group Rule 방향 (Ingress, Egress)
Example :
string
ethertype
optional
Security Group Rule Ethertype (IPV4, IPV6)
Example : IPv4
any of [string, null]IPv4
port_range_max
optional
Security Group Rule 포트 범위 최대값
Example :
any of [integer, null]
port_range_min
optional
Security Group Rule 포트 범위 최소값
Example :
any of [integer, null]
protocol
optional
Security Group Rule 프로토콜
Example :
any of [string, null]
remote_group_id
optional
Security Group Rule 원격 그룹 ID
Example :
any of [string, null]
remote_ip_prefix
optional
Security Group Rule IP 주소
Example :
any of [string, null]
security_group_id
required
Security Group ID
Example :
string

2.6 - SecurityGroupRuleListResponse

NameDescriptionSchemaDefault
count
optional
전체 개수
Example : 20
any of [integer, null]
links
optional
links
Example : [{'href': 'http://scp.samsungsdscloud.com/v1/notices', 'rel': 'self'}]
any of [array[object], null]
security_group_rules
required

array[SecurityGroupRule]

2.7 - SecurityGroupRuleShowResponse

NameDescriptionSchemaDefault
security_group_rule
required

SecurityGroupRule

2.8 - SecurityGroupSetRequest

NameDescriptionSchemaDefault
description
optional
Security Group 설명
Example :
any of [string, null]
loggable
optional
Security Group 로깅 여부
Example :
any of [boolean, null]

2.9 - SecurityGroupShowResponse

NameDescriptionSchemaDefault
security_group
required

SecurityGroup

2.10 - Tag

NameDescriptionSchemaDefault
key
required
tag key
Example :
string
value
required
tag value
Example :
string