Cloud Control
Overview
Provides an Application Programming Interface (API) that supports programmatic use of IaaS/PaaS products provided by SCP.
This guide provides a brief description of CloudControl service and how to call API.
The API is provided as a RESTful API, and it responds in JSON format.
Version
| Version | Status | Supported Until |
|---|
| 1.0 | CURRENT | - |
OpenAPI URL
https://cloudcontrol.{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/baseline-assignments/{assignment_id}
Description
add a new baseline assignment
State
ACTIVE (CURRENT)
| Version | Supported Until |
|---|
| 1.0 | - |
Parameters
| Type | Name | Description | Schema | Default |
|---|
| path | assignment_id required | 루트/조직 단위/계정 ID Example : ou-b30e9fcc39f84a20bf9e7458e5ec3801
| string | None |
| body | body required |
| BaselineAssignmentAddRequest | |
Responses
Example HTTP request
Request path
/v1/baseline-assignments/{assignment_id}
"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = en-US",
"Scp-Api-Version = cloudcontrol 1.0"
Request body
{
"agree_yn": "Y",
"landing_zone_id": "2c8a138f8d78e1fc29a449dbfa8681",
"parent_unit_id": "ou-fc8c29a138d78e24bf1fa86812fc8b",
"resource_type": "OU",
"sso_user_name": "testuser",
"sso_user_real_name": "test user"
}
Example HTTP response
Response 201
{
"job_id": "0a36e0746dbf4908acf0357829701381",
"resource_id": "ou-b30e9fcc39f84a20bf9e7458e5ec3801",
"resource_type": "OU"
}
1.2.1 - 1.0
post /v1/accounts
Description
create an account using account factory.
State
ACTIVE (CURRENT)
| Version | Supported Until |
|---|
| 1.0 | - |
Parameters
Responses
Example HTTP request
Request path
/v1/accounts
"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = en-US",
"Scp-Api-Version = cloudcontrol 1.0"
Request body
{
"email": "myaccount@example.com",
"landing_zone_id": "2c8a138f8d78e1fc29a449dbfa8681",
"name": "foo-account",
"parent_unit_id": "ou-b30e9fcc39f84a20bf9e7458e5ec3801",
"sso_user_email": "user_email@example.com",
"sso_user_name": "John Doe",
"sso_user_real_name": "John Doe"
}
Example HTTP response
Response 201
{
"account_id": "b4d3f2h1j0l9n8p7r6t5v4x3z2y1w0",
"job_id": "0a36e0746dbf4908acf0357829701381"
}
1.3.1 - 1.0
post /v1/landing-zones
Description
Create a landing zone
State
ACTIVE (CURRENT)
| Version | Supported Until |
|---|
| 1.0 | - |
Parameters
Responses
Example HTTP request
Request path
/v1/landing-zones
"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = en-US",
"Scp-Api-Version = cloudcontrol 1.0"
Request body
{
"additional_ou_name": "Sandbox",
"agree_yn": "Y",
"audit_account_name": "AUDIT",
"audit_login_id": "audit@samsung.com",
"basic_ou_name": "Security",
"log_archive_account_name": "LOG_ARCHIVE",
"log_archive_login_id": "log-archive@samsung.com",
"sso_type": "ID_CENTER"
}
Example HTTP response
Response 201
{
"job_id": "0a36e0746dbf4908acf0357829701381",
"landing_zone_id": "2c8a138f8d78e1fc29a449dbfa8681"
}
1.4.1 - 1.0
delete /v1/landing-zones/{landing_zone_id}
Description
Delete a landing zone
State
ACTIVE (CURRENT)
| Version | Supported Until |
|---|
| 1.0 | - |
Parameters
| Type | Name | Description | Schema | Default |
|---|
| path | landing_zone_id required | 랜딩 존 ID Example : 2c8a138f8d78e1fc29a449dbfa8681
| string | None |
Responses
Example HTTP request
Request path
/v1/landing-zones/{landing_zone_id}
"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = en-US",
"Scp-Api-Version = cloudcontrol 1.0"
Example HTTP response
Response 200
{
"job_id": "0a36e0746dbf4908acf0357829701381",
"landing_zone_id": "2c8a138f8d78e1fc29a449dbfa8681"
}
1.5.1 - 1.0
delete /v1/guardrail-bindings
Description
disable guardrail bindings
State
ACTIVE (CURRENT)
| Version | Supported Until |
|---|
| 1.0 | - |
Parameters
Responses
Example HTTP request
Request path
/v1/guardrail-bindings
"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = en-US",
"Scp-Api-Version = cloudcontrol 1.0"
Request body
{
"guardrail_ids": [
"f98e76d54c32b10a9z8y7x6w5v4u3"
],
"landing_zone_id": "2c8a138f8d78e1fc29a449dbfa8681",
"unit_ids": [
"ou-1a2b3c4d5e6f7g8h9i0j1k2l3m4n5"
]
}
Example HTTP response
Response 200
{
"failed_ids": [
{
"error_code": "CloudControl.AlreadyEnabledGuardrails",
"failed_caused": "guardrail already enabled",
"guardrail_id": "f98e76d54c32b10a9z8y7x6w5v4u3",
"unit_id": "ou-1a2b3c4d5e6f7g8h9i0j1k2l3m4n5"
}
],
"success_ids": [
{
"guardrail_id": "f98e76d54c32b10a9z8y7x6w5v4u3",
"unit_id": "ou-1a2b3c4d5e6f7g8h9i0j1k2l3m4n5"
}
]
}
1.6.1 - 1.0
post /v1/guardrail-bindings
Description
enable guardrail bindings
State
ACTIVE (CURRENT)
| Version | Supported Until |
|---|
| 1.0 | - |
Parameters
Responses
Example HTTP request
Request path
/v1/guardrail-bindings
"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = en-US",
"Scp-Api-Version = cloudcontrol 1.0"
Request body
{
"guardrail_ids": [
"f98e76d54c32b10a9z8y7x6w5v4u3"
],
"landing_zone_id": "2c8a138f8d78e1fc29a449dbfa8681",
"unit_ids": [
"ou-1a2b3c4d5e6f7g8h9i0j1k2l3m4n5"
]
}
Example HTTP response
Response 200
{
"failed_ids": [
{
"error_code": "CloudControl.AlreadyEnabledGuardrails",
"failed_caused": "guardrail already enabled",
"guardrail_id": "f98e76d54c32b10a9z8y7x6w5v4u3",
"unit_id": "ou-1a2b3c4d5e6f7g8h9i0j1k2l3m4n5"
}
],
"success_ids": [
{
"guardrail_id": "f98e76d54c32b10a9z8y7x6w5v4u3",
"unit_id": "ou-1a2b3c4d5e6f7g8h9i0j1k2l3m4n5"
}
]
}
1.7.1 - 1.0
get /v1/baseline-assignments
Description
get baseline assignment list
State
ACTIVE (CURRENT)
| Version | Supported Until |
|---|
| 1.0 | - |
Parameters
| Type | Name | Description | Schema | Default |
|---|
| query | landing_zone_id optional | 랜딩 존 ID Example : 2c8a138f8d78e1fc29a449dbfa8681
| any of [string, null] | None |
| query | resource_type optional | OU/ACCOUNT Example : OU
| any of [enum (OU, ACCOUNT), null] | None |
| query | assignment_id optional | 루트/조직 단위/계정 ID Example : ou-b30e9fcc39f84a20bf9e7458e5ec3801
| any of [string, null] | None |
| query | status optional | 상태 Example : REGISTRATION_FAILED
| any of [enum (REGISTERED, REGISTRATION_FAILED, REGISTERING), null] | None |
Responses
Example HTTP request
Request path
/v1/baseline-assignments
"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = en-US",
"Scp-Api-Version = cloudcontrol 1.0"
Example HTTP response
Response 200
{
"baseline_assignments": [
{
"account_assigned_count": 3,
"account_count": 4,
"id": "ou-b30e9fcc39f84a20bf9e7458e5ec3801",
"ou_assigned_count": 5,
"ou_count": 10,
"preventive_guardrail_activated_count": 8,
"sso_user_name": "testuser",
"status": "REGISTERED",
"type": "OU"
}
]
}
1.8.1 - 1.0
get /v1/guardrails
Description
get guardrails list
State
ACTIVE (CURRENT)
| Version | Supported Until |
|---|
| 1.0 | - |
Parameters
| Type | Name | Description | Schema | Default |
|---|
| query | landing_zone_id optional | 랜딩 존 ID Example : 2c8a138f8d78e1fc29a449dbfa8681
| any of [string, null] | None |
| 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 | 가드레일명 Example : foo-guardrail
| any of [string, null] | None |
| query | exclude_unit_id optional | 연결된(제외) 유닛 ID Example : ou-c29a138f8f1d78e24dbfa8681fc2fc8
| any of [string, null] | None |
| query | guidance optional | 정책 가이드 Example : MANDATORY
| any of [string, null] | None |
| query | service_name optional | Organization Example : iam
| any of [string, null] | None |
| query | status optional | 적용 상태 Example : ENABLED
| any of [string, null] | None |
Responses
Example HTTP request
Request path
/v1/guardrails
"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = en-US",
"Scp-Api-Version = cloudcontrol 1.0"
Example HTTP response
Response 200
{
"count": 20,
"guardrails": [
{
"binding_ous": [],
"created_at": "2024-12-19 01:09:05.000",
"created_by": "c23fb561c689455993874fa5d5ed4a2f",
"description": "This is an example guardrail.",
"guidance": "MANDATORY",
"id": "2c8a138f8d78e1fc29a449dbfa8681",
"modified_at": "2023-10-15 14:30:00",
"modified_by": "c23fb561c689455993874fa5d5ed4a2f",
"name": "foo-guardrail",
"service_name": "iam",
"srn": "srn:dev2:::::cloudcontrol:guardrail/2c8a138f8d78e1fc29a449dbfa8681",
"status": "DISABLED",
"type": "PREVENTIVE"
}
],
"page": 0,
"size": 20,
"sort": [
"created_at:asc"
]
}
1.9.1 - 1.0
get /v1/guardrail-bindings/guardrails
Description
list guardrails for target
State
ACTIVE (CURRENT)
| Version | Supported Until |
|---|
| 1.0 | - |
Parameters
| Type | Name | Description | Schema | Default |
|---|
| query | landing_zone_id optional | 랜딩 존 ID Example : 2c8a138f8d78e1fc29a449dbfa8681
| any of [string, null] | None |
| 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 | target_id required | 타겟 ID Example : ou-1a2b3c4d5e6f7g8h9i0j1k2l3m4n5
| string | None |
| query | name optional | 가드레일명 Example : guardrail-example
| any of [string, null] | None |
Responses
Example HTTP request
Request path
/v1/guardrail-bindings/guardrails?target_id={target_id}
"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = en-US",
"Scp-Api-Version = cloudcontrol 1.0"
Example HTTP response
Response 200
{
"count": 20,
"guardrails": [
{
"created_at": "2024-12-19 01:09:05.000",
"created_by": "c23fb561c689455993874fa5d5ed4a2f",
"guidance": "MANDATORY",
"id": "0a36e0746dbf4908acf0357829701381",
"link_types": {
"directed": [
{
"target_id": "1a2b3c4d5e6f7g8h9i0j1k2l3m4n5",
"target_name": "example-target"
}
],
"inherited": [
{
"target_id": "2a2b3c4d5e6f7g8h9i0j1k2l3m4n5",
"target_name": "root"
}
]
},
"modified_at": "2023-10-15 14:30:00",
"modified_by": "c23fb561c689455993874fa5d5ed4a2f",
"name": "foo-guardrail",
"service_name": "iam",
"type": "PREVENTIVE"
}
],
"page": 0,
"size": 20,
"sort": [
"created_at:asc"
]
}
1.10.1 - 1.0
get /v1/guardrail-bindings/targets
Description
list targets for guardrail
State
ACTIVE (CURRENT)
| Version | Supported Until |
|---|
| 1.0 | - |
Parameters
| Type | Name | Description | Schema | Default |
|---|
| query | landing_zone_id optional | 랜딩 존 ID Example : 2c8a138f8d78e1fc29a449dbfa8681
| any of [string, null] | None |
| 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 | guardrail_id required | 가드레일 ID Example : f98e76d54c32b10a9z8y7x6w5v4u3
| string | None |
| query | target_type required | 타겟유형 Example : ACCOUNT
| enum (ACCOUNT, OU) | None |
| query | name optional | 타겟명 Example : ou-test
| any of [string, null] | None |
Responses
Example HTTP request
Request path
/v1/guardrail-bindings/targets?guardrail_id={guardrail_id}&target_type={target_type}
"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = en-US",
"Scp-Api-Version = cloudcontrol 1.0"
Example HTTP response
Response 200
{
"count": 20,
"page": 0,
"size": 20,
"sort": [
"created_at:asc"
],
"targets": [
{
"email": "score@samsung.com",
"id": "b4d3f2h1j0l9n8p7r6t5v4x3z2y1w0",
"name": "score-account",
"parent_unit_id": "ou-fc8c29a138d78e24bf1fa86812fc8b",
"parent_unit_name": "parent-unit-name"
}
]
}
1.11.1 - 1.0
get /v1/guardrails/{guardrail_id}
Description
show a specific guardrail.
State
ACTIVE (CURRENT)
| Version | Supported Until |
|---|
| 1.0 | - |
Parameters
| Type | Name | Description | Schema | Default |
|---|
| path | guardrail_id required | 가드레일 ID Example : 2c8a138f8d78e1fc29a449dbfa8681
| string | None |
| query | landing_zone_id optional | 랜딩 존 ID Example : 2c8a138f8d78e1fc29a449dbfa8681
| any of [string, null] | None |
Responses
Example HTTP request
Request path
/v1/guardrails/{guardrail_id}
"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = en-US",
"Scp-Api-Version = cloudcontrol 1.0"
Example HTTP response
Response 200
{
"guardrail": {
"binding_ous": [],
"created_at": "2024-12-19 01:09:05.000",
"created_by": "c23fb561c689455993874fa5d5ed4a2f",
"description": "This is an example guardrail.",
"guidance": "MANDATORY",
"id": "2c8a138f8d78e1fc29a449dbfa8681",
"modified_at": "2023-10-15 14:30:00",
"modified_by": "c23fb561c689455993874fa5d5ed4a2f",
"name": "foo-guardrail",
"service_name": "iam",
"srn": "srn:dev2:::::cloudcontrol:guardrail/2c8a138f8d78e1fc29a449dbfa8681",
"status": "DISABLED",
"type": "PREVENTIVE"
}
}
1.12.1 - 1.0
get /v1/landing-zones/{landing_zone_id}
Description
Show a landing zone
State
ACTIVE (CURRENT)
| Version | Supported Until |
|---|
| 1.0 | - |
Parameters
| Type | Name | Description | Schema | Default |
|---|
| path | landing_zone_id required | 랜딩 존 ID Example : 2c8a138f8d78e1fc29a449dbfa8681
| string | None |
Responses
Example HTTP request
Request path
/v1/landing-zones/{landing_zone_id}
"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = en-US",
"Scp-Api-Version = cloudcontrol 1.0"
Example HTTP response
Response 200
{
"landing_zone": {
"agree_yn": "Y",
"created_at": "2024-12-19 01:09:05.000",
"created_by": "c23fb561c689455993874fa5d5ed4a2f",
"creator_name": "John Doe na",
"id": "2c8a138f8d78e1fc29a449dbfa8681",
"identity_center_id": "0xnw6g1xh2q5",
"modified_at": "2023-10-15 14:30:00",
"modified_by": "c23fb561c689455993874fa5d5ed4a2f",
"modifier_name": "Alice",
"organization_id": "o-x9y8z7w6v5u4t3s2r1q0p9o8n7m6l5",
"region": "kr-west1",
"service_name": "Cloud Control",
"srn": "srn:dev2::a8a2f3c2659646ecaaf28fc8f783921a:::cloudcontrol:landingzone/f7a1ef0b17e34a37811cc2fa7a6bd50b",
"sso_type": "ID_CENTER",
"status": "ACTIVE",
"version_id": "1.0"
}
}
1.13.1 - 1.0
put /v1/baseline-assignments/{assignment_id}
Description
update a specific baseline assignment.
State
ACTIVE (CURRENT)
| Version | Supported Until |
|---|
| 1.0 | - |
Parameters
| Type | Name | Description | Schema | Default |
|---|
| path | assignment_id required | 루트/조직 단위/계정 ID Example : ou-b30e9fcc39f84a20bf9e7458e5ec3801
| string | None |
| body | body required |
| BaselineAssignmentUpdateRequest | |
Responses
Example HTTP request
Request path
/v1/baseline-assignments/{assignment_id}
"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = en-US",
"Scp-Api-Version = cloudcontrol 1.0"
Request body
{
"agree_yn": "Y",
"landing_zone_id": "2c8a138f8d78e1fc29a449dbfa8681"
}
Example HTTP response
Response 200
{
"job_id": "0a36e0746dbf4908acf0357829701381",
"resource_id": "ou-b30e9fcc39f84a20bf9e7458e5ec3801",
"resource_type": "OU"
}