Secret Vault

Overview

SCP에서 제공하는 IaaS/PaaS 상품을 프로그램적으로 이용할 수 있도록 지원하는 응용 프로그램 인터페이스(Application Programming Interface, API)를 제공합니다.

본 가이드는 Secret Vault에 대한 간략한 설명 및 API를 호출하는 방법을 제공합니다. API는 RESTful API 방식으로 제공되며, JSON 형식으로 응답합니다.

Version

VersionStatusSupported Until
1.0CURRENT-

OpenAPI URL

https://secretvault.{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 Secret Vault

1.1.1 - 1.0

post /v1/secretvault

Description

시크릿볼트 생성.

상태 ACTIVE (CURRENT)

버전최소 지원 보장일
1.0-

Parameters

TypeNameDescriptionSchemaDefault
bodybody
required

SecretVaultCreateRequest

Responses

HTTP CodeDescriptionSchema
201CreatedSecretVaultCreateResponse
400Bad RequestNone
403ForbiddenNone
404Not FoundNone

Example HTTP request

Request path

/v1/secretvault

Request header

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

Request body

{
    "access_key_id": "b754b12b39da4ce29a40c5e324650bd0",
    "acl_cidr": "192.168.1.1/24, 10.0.0.1/16",
    "description": "description",
    "name": "name",
    "tags": [],
    "temporary_key_ttl_nhours": "3",
    "vault_token_ttl_ndays": "720"
}

Example HTTP response

Response 201

{
    "secret_vault": {
        "access_key_id": "0e3dffc50eb247a1adf4f2e5c82c4f99",
        "access_key_type": "Temporary",
        "account_id": "3265ab469f0d406d83073da3e11e7a6c",
        "acl_cidr": "192.168.1.1/24, 10.0.0.1/16",
        "created_at": "2024-05-17T00:23:17Z",
        "created_by": "90dddfc2b1e04edba54ba2b41539a9ac",
        "delete_at": "2025-02-25 03:07:17.000",
        "description": "description",
        "id": "0fdd87aab8cb46f59b7c1f81ed03fb3e",
        "modified_at": "2024-05-17T00:23:17Z",
        "modified_by": "90dddfc2b1e04edba54ba2b41539a9ac",
        "name": "vaultkey",
        "temporary_key_ttl_nhours": "36",
        "user_name": "username",
        "vault_token_expired_at": "2025-02-25 03:07:17.000",
        "vault_token_id": "aace85da-965e-d95a-b4ed-8d32b5d6079",
        "vault_token_secret_value": "6171392c-5fd9-43db-9e15-e14af0068f96",
        "vault_token_ttl_ndays": "10",
        "vaultkey_state": "Active",
        "vaultkey_type": "SCP Open API Key",
        "waiting_time_ndays": "10"
    }
}

1.2 - Delete Secret Vault

1.2.1 - 1.0

put /v1/secretvault/{secret_vault_id}/terminated

Description

시크릿볼트 상태는 To be terminated 가 아닙니다.

상태 ACTIVE (CURRENT)

버전최소 지원 보장일
1.0-

Parameters

TypeNameDescriptionSchemaDefault
pathsecret_vault_id
required
시크릿볼트 아이디
Example : 3265ab469f0d406d83073da3e11e7a6c
stringNone
bodybody
required

SecretVaultTerminatedRequest

Responses

HTTP CodeDescriptionSchema
200OKSecretVaultShowResponse
400Bad RequestNone
403ForbiddenNone
404Not FoundNone

Example HTTP request

Request path

/v1/secretvault/{secret_vault_id}/terminated

Request header

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

Request body

{
    "waiting_time_ndays": 7
}

Example HTTP response

Response 200

{
    "secret_vault": {
        "access_key": [
            "0e3*****************************"
        ],
        "access_key_id": "0e3dffc50eb247a1adf4f2e5c82c4f99",
        "access_key_type": [
            "Temporary",
            "Permanent"
        ],
        "account_id": "3265ab469f0d406d83073da3e11e7a6c",
        "acl_cidr": "192.168.1.1/24, 10.0.0.1/16",
        "created_at": "2024-05-17T00:23:17Z",
        "created_by": "90dddfc2b1e04edba54ba2b41539a9ac",
        "delete_at": "2025-02-25 03:07:17.000",
        "description": "description",
        "id": "0fdd87aab8cb46f59b7c1f81ed03fb3e",
        "modified_at": "2024-05-17T00:23:17Z",
        "modified_by": "90dddfc2b1e04edba54ba2b41539a9ac",
        "name": [
            "vaultkey"
        ],
        "temp_key_expired_at": "2025-02-25 03:07:17.000",
        "temporary_key_ttl_nhours": [
            "36"
        ],
        "vault_token_expired_at": "2025-02-25 03:07:17.000",
        "vault_token_id": "aace85da-965e-d95a-b4ed-8d32b5d6079",
        "vault_token_secret_value": "6171392c-5fd9-43db-9e15-e14af0068f96",
        "vault_token_ttl_ndays": [
            "10"
        ],
        "vaultkey_state": "Active",
        "vaultkey_type": [
            "SCP Open API Key"
        ],
        "waiting_time_ndays": "10"
    }
}

1.3 - Get Temporary Key

1.3.1 - 1.0

get /v1/temporarykey/{secret_vault_id}

Description

임시키 조회하기

상태 ACTIVE (CURRENT)

버전최소 지원 보장일
1.0-

Parameters

TypeNameDescriptionSchemaDefault
headerSvaccesskey
required
시크릿볼트가 발행한 token id
Example : 5dbd99e4-aad4-e822-9ab3-89b10cf7c9ef
stringNone
headerSvsignature
required
호출 API 요청을 Access Key와 매핑되는 Access Secret Key(시크릿볼트가 발행한 token secret)로 암호화한 서명. HMAC 암호화 알고리즘은 HmacSHA256 사용
Example : fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=
stringNone
headerSvtimestamp
required
1970년 1월 1일 00:00:00 협정 세계시(UTC)부터의 경과 시간을 밀리초(Millisecond)로 정의합니다.
Example : 1605290625682
stringNone
headerSvclienttype
required
Client Type
Example : Openapi
stringNone
pathsecret_vault_id
required
시크릿볼트 아이디
Example : 3265ab469f0d406d83073da3e11e7a6c
stringNone

Responses

HTTP CodeDescriptionSchema
200OKSecretVaultTemporaryKeyResponse
400Bad RequestNone
403ForbiddenNone
404Not FoundNone

Example HTTP request

Request path

/v1/temporarykey/{secret_vault_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 = secretvault 1.0"

Example HTTP response

Response 200

{
    "access_key": "testname",
    "expired_at": "2025-02-25 03:07:17.000",
    "secret_key": "testname"
}

1.4 - List Secret Vaults

1.4.1 - 1.0

get /v1/secretvault

Description

시크릿볼트 리스트 조회

상태 ACTIVE (CURRENT)

버전최소 지원 보장일
1.0-

Responses

HTTP CodeDescriptionSchema
200OKSecretVaultKeyListResponse
400Bad RequestNone
403ForbiddenNone
404Not FoundNone

Example HTTP request

Request path

/v1/secretvault

Request header

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

Example HTTP response

Response 200

{
    "count": 20,
    "page": 0,
    "secret_vaults": [
        {
            "access_key_id": "0e3dffc50eb247a1adf4f2e5c82c4f99",
            "access_key_type": "Temporary",
            "account_id": "3265ab469f0d406d83073da3e11e7a6c",
            "acl_cidr": "192.168.1.1/24, 10.0.0.1/16",
            "created_at": "2024-05-17T00:23:17Z",
            "created_by": "90dddfc2b1e04edba54ba2b41539a9ac",
            "delete_at": "2025-02-25 03:07:17.000",
            "description": "description",
            "id": "0fdd87aab8cb46f59b7c1f81ed03fb3e",
            "modified_at": "2024-05-17T00:23:17Z",
            "modified_by": "90dddfc2b1e04edba54ba2b41539a9ac",
            "name": "vaultkey",
            "temporary_key_ttl_nhours": "36",
            "user_name": "username",
            "vault_token_expired_at": "2025-02-25 03:07:17.000",
            "vault_token_id": "[AES] SZtB6RasvLypCv4soJlQO3ZmYpUPjFblz7pstjBeTQJXcz/d5KB9TUR3gMY08mga4fxWaF6IfUzTMBh6j/CAaw==",
            "vault_token_secret_value": "[AES] 91/kdnK4NDfs2HGWgNH/EYNnqD7OcM1unXWs0ZAuaFttIqgP8xMUx0dOaRfD6kOD7uuujFxF2nzx35D9Gz9nwQ==",
            "vault_token_ttl_ndays": "10",
            "vaultkey_state": "Active",
            "vaultkey_type": "SCP Open API Key",
            "waiting_time_ndays": "10"
        }
    ],
    "size": 20,
    "sort": [
        "created_at:asc"
    ]
}

1.5 - Show Secret Vault

1.5.1 - 1.0

get /v1/secretvault/{secret_vault_id}

Description

시크릿볼트 조회.

상태 ACTIVE (CURRENT)

버전최소 지원 보장일
1.0-

Parameters

TypeNameDescriptionSchemaDefault
pathsecret_vault_id
required
시크릿볼트 아이디
Example : 3265ab469f0d406d83073da3e11e7a6c
stringNone

Responses

HTTP CodeDescriptionSchema
200OKSecretVaultShowResponse
400Bad RequestNone
403ForbiddenNone
404Not FoundNone

Example HTTP request

Request path

/v1/secretvault/{secret_vault_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 = secretvault 1.0"

Example HTTP response

Response 200

{
    "secret_vault": {
        "access_key": [
            "0e3*****************************"
        ],
        "access_key_id": "0e3dffc50eb247a1adf4f2e5c82c4f99",
        "access_key_type": [
            "Temporary",
            "Permanent"
        ],
        "account_id": "3265ab469f0d406d83073da3e11e7a6c",
        "acl_cidr": "192.168.1.1/24, 10.0.0.1/16",
        "created_at": "2024-05-17T00:23:17Z",
        "created_by": "90dddfc2b1e04edba54ba2b41539a9ac",
        "delete_at": "2025-02-25 03:07:17.000",
        "description": "description",
        "id": "0fdd87aab8cb46f59b7c1f81ed03fb3e",
        "modified_at": "2024-05-17T00:23:17Z",
        "modified_by": "90dddfc2b1e04edba54ba2b41539a9ac",
        "name": [
            "vaultkey"
        ],
        "temp_key_expired_at": "2025-02-25 03:07:17.000",
        "temporary_key_ttl_nhours": [
            "36"
        ],
        "vault_token_expired_at": "2025-02-25 03:07:17.000",
        "vault_token_id": "aace85da-965e-d95a-b4ed-8d32b5d6079",
        "vault_token_secret_value": "6171392c-5fd9-43db-9e15-e14af0068f96",
        "vault_token_ttl_ndays": [
            "10"
        ],
        "vaultkey_state": "Active",
        "vaultkey_type": [
            "SCP Open API Key"
        ],
        "waiting_time_ndays": "10"
    }
}

2 - Models

2.1 - SecretVaultCreateRequest

NameDescriptionSchemaDefault
access_key_id
required
Access key ID
Example : b754b12b39da4ce29a40c5e324650bd0
string
acl_cidr
required
접근제한을 위한 CIDR
Example : 192.168.1.1/24, 10.0.0.1/16
string
description
optional
Description
Example : description
any of [string, null]
name
required
시크릿볼트 아이디
Example : name
Pattern : ^[a-z0-9]*$
Minimum length : 3
Maximum length : 63
string
tags
optional
태그 리스트
any of [array[Tag], null]
temporary_key_ttl_nhours
required
임시키 유효 시간
Example : 3
Minimum : 1
Maximum : 36
integer
vault_token_ttl_ndays
required
볼트 토큰 유효시간
Example : 720
Minimum : 30
Maximum : 7300
integer

2.2 - SecretVaultCreateResponse

NameDescriptionSchemaDefault
secret_vault
required

SecretVaultKey

2.3 - SecretVaultDetailKey

NameDescriptionSchemaDefault
access_key
optional
삼성 클라우드 플랫폼 포털에서 발급받은 Access Key
Example : ['0e3*****************************']
string
access_key_id
required
Access key ID
Example : 0e3dffc50eb247a1adf4f2e5c82c4f99
string
access_key_type
required
access key 유형
Example : ['Temporary', 'Permanent']
string
account_id
required
계정 id
Example : 3265ab469f0d406d83073da3e11e7a6c
string
acl_cidr
required
접근제한을 위한 CIDR
Example : 192.168.1.1/24, 10.0.0.1/16
string
created_at
required
생성 시간
Example : 2024-05-17T00:23:17Z
string (date-time)
created_by
required
생성자
Example : 90dddfc2b1e04edba54ba2b41539a9ac
string
delete_at
required
Date of deletion
Example : 2025-02-25 03:07:17.000
any of [string (date-time), null]
description
required
키 설명
Example : description
any of [string, null]
id
required
ID
Example : 0fdd87aab8cb46f59b7c1f81ed03fb3e
string
modified_at
required
수정 시간
Example : 2024-05-17T00:23:17Z
string (date-time)
modified_by
required
수정자
Example : 90dddfc2b1e04edba54ba2b41539a9ac
string
name
required
키 이름
Example : ['vaultkey']
string
temp_key_expired_at
required
임시키 만료일
Example : 2025-02-25 03:07:17.000
any of [string (date-time), null]
temporary_key_ttl_nhours
required
임시키 유효 시간
Example : ['36']
any of [integer, null]
vault_token_expired_at
required
볼트 토큰 만료일
Example : 2025-02-25 03:07:17.000
any of [string (date-time), null]
vault_token_id
required
볼트토큰 아이디
Example : aace85da-965e-d95a-b4ed-8d32b5d6079
any of [string, null]
vault_token_secret_value
required
볼트토큰 시크릿
Example : 6171392c-5fd9-43db-9e15-e14af0068f96
any of [string, null]
vault_token_ttl_ndays
required
볼트 토큰 유효시간
Example : ['10']
any of [integer, null]
vaultkey_state
required
키 상태(Creating, Active, Error, Stop, To_Be_Terminated)
Example : Active
any of [string, null]
vaultkey_type
required
볼트키 타입
Example : ['SCP Open API Key']
any of [string, null]
waiting_time_ndays
required
삭제까지 남은 일수
Example : 10
any of [integer, null]

2.4 - SecretVaultKey

NameDescriptionSchemaDefault
access_key_id
required
Access key ID
Example : 0e3dffc50eb247a1adf4f2e5c82c4f99
string
access_key_type
required
access key 유형
Example : Temporary
string
account_id
required
계정 id
Example : 3265ab469f0d406d83073da3e11e7a6c
string
acl_cidr
required
접근제한을 위한 CIDR
Example : 192.168.1.1/24, 10.0.0.1/16
any of [string, null]
created_at
required
생성 시간
Example : 2024-05-17T00:23:17Z
string (date-time)
created_by
required
생성자
Example : 90dddfc2b1e04edba54ba2b41539a9ac
string
delete_at
required
Date of deletion
Example : 2025-02-25 03:07:17.000
any of [string (date-time), null]
description
required
Description
Example : description
any of [string, null]
id
required
ID
Example : 0fdd87aab8cb46f59b7c1f81ed03fb3e
string
modified_at
required
수정 시간
Example : 2024-05-17T00:23:17Z
string (date-time)
modified_by
required
수정자
Example : 90dddfc2b1e04edba54ba2b41539a9ac
string
name
required
키 이름
Example : vaultkey
any of [string, null]
temporary_key_ttl_nhours
required
임시키 유효 시간
Example : 36
any of [integer, null]
user_name
required
사용자명
Example : username
any of [string, null]
vault_token_expired_at
required
볼트 토큰 만료일
Example : 2025-02-25 03:07:17.000
any of [string (date-time), null]
vault_token_id
required
볼트토큰 아이디
Example : aace85da-965e-d95a-b4ed-8d32b5d6079
any of [string, null]
vault_token_secret_value
required
볼트토큰 시크릿
Example : 6171392c-5fd9-43db-9e15-e14af0068f96
any of [string, null]
vault_token_ttl_ndays
required
볼트 토큰 유효시간
Example : 10
any of [integer, null]
vaultkey_state
required
키 상태(Creating, Active, Error, Stop, To_Be_Terminated)
Example : Active
any of [string, null]
vaultkey_type
required
볼트키 타입
Example : SCP Open API Key
any of [string, null]
waiting_time_ndays
required
삭제까지 남은 일수
Example : 10
any of [integer, null]

2.5 - SecretVaultKeyListResponse

NameDescriptionSchemaDefault
count
required
count
Example : 20
integer
page
required
page
Example : 0
integer
secret_vaults
required

array[SecretVaultListKey]
size
required
size
Example : 20
integer
sort
optional
sort
Example : ['created_at:asc']
any of [array[string], null]

2.6 - SecretVaultListKey

NameDescriptionSchemaDefault
access_key_id
required
Access key ID
Example : 0e3dffc50eb247a1adf4f2e5c82c4f99
string
access_key_type
required
access key 유형
Example : Temporary
string
account_id
required
계정 id
Example : 3265ab469f0d406d83073da3e11e7a6c
string
acl_cidr
required
접근제한을 위한 CIDR
Example : 192.168.1.1/24, 10.0.0.1/16
any of [string, null]
created_at
required
생성 시간
Example : 2024-05-17T00:23:17Z
string (date-time)
created_by
required
생성자
Example : 90dddfc2b1e04edba54ba2b41539a9ac
string
delete_at
required
Date of deletion
Example : 2025-02-25 03:07:17.000
any of [string (date-time), null]
description
required
Description
Example : description
any of [string, null]
id
required
ID
Example : 0fdd87aab8cb46f59b7c1f81ed03fb3e
string
modified_at
required
수정 시간
Example : 2024-05-17T00:23:17Z
string (date-time)
modified_by
required
수정자
Example : 90dddfc2b1e04edba54ba2b41539a9ac
string
name
required
키 이름
Example : vaultkey
any of [string, null]
temporary_key_ttl_nhours
required
임시키 유효 시간
Example : 36
any of [integer, null]
user_name
required
사용자명
Example : username
any of [string, null]
vault_token_expired_at
required
볼트 토큰 만료일
Example : 2025-02-25 03:07:17.000
any of [string (date-time), null]
vault_token_id
required
볼트토큰 아이디
Example : [AES] SZtB6RasvLypCv4soJlQO3ZmYpUPjFblz7pstjBeTQJXcz/d5KB9TUR3gMY08mga4fxWaF6IfUzTMBh6j/CAaw==
any of [string, null]
vault_token_secret_value
required
볼트토큰 시크릿
Example : [AES] 91/kdnK4NDfs2HGWgNH/EYNnqD7OcM1unXWs0ZAuaFttIqgP8xMUx0dOaRfD6kOD7uuujFxF2nzx35D9Gz9nwQ==
any of [string, null]
vault_token_ttl_ndays
required
볼트 토큰 유효시간
Example : 10
any of [integer, null]
vaultkey_state
required
키 상태(Creating, Active, Error, Stop, To_Be_Terminated)
Example : Active
any of [string, null]
vaultkey_type
required
볼트키 타입
Example : SCP Open API Key
any of [string, null]
waiting_time_ndays
required
삭제까지 남은 일수
Example : 10
any of [integer, null]

2.7 - SecretVaultShowResponse

NameDescriptionSchemaDefault
secret_vault
required

SecretVaultDetailKey

2.8 - SecretVaultTemporaryKeyResponse

NameDescriptionSchemaDefault
access_key
optional
삼성 클라우드 플랫폼 포털에서 발급받은 Access Key
Example : testname
any of [string, null]
expired_at
required
만료일
Example : 2025-02-25 03:07:17.000
any of [string (date-time), null]
secret_key
optional
Secret key
Example : testname
any of [string, null]

2.9 - SecretVaultTerminatedRequest

NameDescriptionSchemaDefault
waiting_time_ndays
required
삭제까지 남은 일수
Example : 7
Minimum : 7
Maximum : 30
integer

2.10 - Tag

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