Secret Vault
Overview
SCP에서 제공하는 IaaS/PaaS 상품을 프로그램적으로 이용할 수 있도록 지원하는 응용 프로그램 인터페이스(Application Programming Interface, API)를 제공합니다.
본 가이드는 Secret Vault에 대한 간략한 설명 및 API를 호출하는 방법을 제공합니다.
API는 RESTful API 방식으로 제공되며, JSON 형식으로 응답합니다.
Version
| Version | Status | Supported Until |
|---|
| 1.0 | CURRENT | - |
OpenAPI URL
https://secretvault.{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/secretvault
Description
시크릿볼트 생성.
상태
ACTIVE (CURRENT)
Parameters
Responses
Example HTTP request
Request path
/v1/secretvault
"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.1 - 1.0
put /v1/secretvault/{secret_vault_id}/terminated
Description
시크릿볼트 상태는 To be terminated 가 아닙니다.
상태
ACTIVE (CURRENT)
Parameters
| Type | Name | Description | Schema | Default |
|---|
| path | secret_vault_id required | 시크릿볼트 아이디 Example : 3265ab469f0d406d83073da3e11e7a6c
| string | None |
| body | body required |
| SecretVaultTerminatedRequest | |
Responses
Example HTTP request
Request path
/v1/secretvault/{secret_vault_id}/terminated
"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.1 - 1.0
get /v1/temporarykey/{secret_vault_id}
Description
임시키 조회하기
상태
ACTIVE (CURRENT)
Parameters
| Type | Name | Description | Schema | Default |
|---|
| header | Svaccesskey required | 시크릿볼트가 발행한 token id Example : 5dbd99e4-aad4-e822-9ab3-89b10cf7c9ef
| string | None |
| header | Svsignature required | 호출 API 요청을 Access Key와 매핑되는 Access Secret Key(시크릿볼트가 발행한 token secret)로 암호화한 서명. HMAC 암호화 알고리즘은 HmacSHA256 사용 Example : fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=
| string | None |
| header | Svtimestamp required | 1970년 1월 1일 00:00:00 협정 세계시(UTC)부터의 경과 시간을 밀리초(Millisecond)로 정의합니다. Example : 1605290625682
| string | None |
| header | Svclienttype required | Client Type Example : Openapi
| string | None |
| path | secret_vault_id required | 시크릿볼트 아이디 Example : 3265ab469f0d406d83073da3e11e7a6c
| string | None |
Responses
Example HTTP request
Request path
/v1/temporarykey/{secret_vault_id}
"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.1 - 1.0
get /v1/secretvault
Description
시크릿볼트 리스트 조회
상태
ACTIVE (CURRENT)
Responses
Example HTTP request
Request path
/v1/secretvault
"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.1 - 1.0
get /v1/secretvault/{secret_vault_id}
Description
시크릿볼트 조회.
상태
ACTIVE (CURRENT)
Parameters
| Type | Name | Description | Schema | Default |
|---|
| path | secret_vault_id required | 시크릿볼트 아이디 Example : 3265ab469f0d406d83073da3e11e7a6c
| string | None |
Responses
Example HTTP request
Request path
/v1/secretvault/{secret_vault_id}
"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"
}
}