This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Security

Based on the largest and longest accumulated security service operation experience, we provide automated security services tailored to various customer environments.

1 - Key Management Service

1.1 - Overview

Service Overview

Key Management Service(KMS) is a service that creates and safely stores/manages encryption keys in a convenient way to securely protect important data of applications. The user uses the encryption key to encrypt/decrypt data, and the encryption key is managed stably with a hierarchically encrypted centralized encryption key method.

Provided Function

Key Management Service provides the following functions.

  • Key Management: KMS can create/delete and manage keys. Users can create data keys for encrypting data using the master key created through KMS.
  • Key Authority Management: You can control and manage access rights to the master key based on a user-defined policy.
  • Key Life Cycle Management: through key rotation, it is possible to generate new encryption data for the corresponding master key without having to create a new key, and the key rotation cycle can be set according to customer policy. Key life cycle management safely protects data from cryptographic threats by deactivating or deleting encryption keys that are no longer in use.

Components

Master Key

The master key is used to generate a data key used for encrypting data, and depending on the purpose, it can generate symmetric keys (encryption/decryption (AES), generation/verification (HMAC)) and asymmetric keys (encryption/decryption and signing/verification (RSA), signing/verification (ECDSA)) respectively. With proper master key management, data keys can be encrypted to protect frequently used data keys during operation.

  • The master key is a key created through the creation of KMS product services in the Samsung Cloud Platform Console.

Data Key

The data key is used to encrypt actual data, and is created for each target service that performs encryption, thereby ensuring that even if one data key is leaked, it will not affect services encrypted with other data keys.

HSM (Hardware Security Module)

The root key of the KMS system area is stored, the master key is created through the root key stored in the HSM (Hardware Security Module) that complies with the FIPS 140-2 Lv3 standard, and it is safely distributed and protected in the KMS.

Limitations

Samsung Cloud Platform’s Key Management Service limits the number of Key creations as follows.

ItemDetailed DescriptionAllocation Amount
KMS KeyNumber of KMS Keys created per region10000
KMS Validation Password KeyNumber of public authentication algorithm keys that can be created per account100
Table. Key Management Service Restrictions
Reference
  • KMS keys created by region services can only be used within the region.
  • The constraints of the public certification algorithm Key only apply to the SCP Sovereign.

Preceding service

Key Management Service has no preceding service.

1.2 - How-to guides

The user can enter the essential information of the Key Management Service service and create the service by selecting detailed options through the Samsung Cloud Platform Console.

Key Management Service creation

You can create and use the Key Management Service on the Samsung Cloud Platform Console.

To create a Key Management Service, follow the following procedure.

  1. All services > Security > Key Management Service menu is clicked. It moves to the Service Home page of Key Management Service.
  2. Service Home page, click the Key Management Service creation button. It moves to the Key Management Service creation page.
  3. Key Management Service creation page, enter the information required for service creation and add additional information.
  • Service Information Input area, please enter or select the required information.
    Classification
    Mandatory
    Detailed Description
    Key NameRequiredEnter Key Name
    Public Certification AlgorithmOptionSelect whether to use the public certification algorithm
    • The public certification algorithm option is only available in SCP Sovereign
    • The public certification algorithm provides the Aria algorithm that has completed security verification by the National Intelligence Service
    PurposeRequiredSelect the purpose and encryption method of the key
    Automatic RotationOptionSelect whether to use automatic rotation of the key
    • Use is selected, the internal algorithm of the generated key is converted to a different value and applied for each set rotation cycle
    Auto Rotation > Rotation PeriodRequiredEnter the rotation period of the key
    • The rotation period can enter a value between 1~730 days. If the rotation period is not entered, it is automatically set to 90 days
    DescriptionOptionsEnter additional information for the key
    Table. Key Management Service service information input items
  • Additional Information Input area, please enter or select the required information.
    Classification
    Mandatory
    Detailed Description
    TagSelectionAdd Tag
    • Up to 50 can be added per resource
    • Click the Add Tag button and enter or select Key, Value
    Table. Key Management Service Additional Information Input Items
  1. Summary panel, review the detailed information generated and the estimated billing amount, and click the Complete button.
  • Once creation is complete, check the created resource on the Key Management Service list page.

Key Management Service detailed information check

Key Management Service can check and modify the entire resource list and detailed information. The Key Management Service details page consists of details, tags, and operation history tabs.

Key Management Service detailed information to confirm, please follow the next procedure.

  1. All services > Security > Key Management Service menu is clicked. It moves to the Service Home page of Key Management Service.
  2. Service Home page, click the Key Management Service menu. It moves to the Key Management Service list page.
  3. Key Management Service list page, click the resource to check the detailed information. It moves to the Key Management Service details page.
  • Key Management Service details page top displays the status information and additional features description.
    ClassificationDetailed Description
    StatusIndicates the status of Key Management Service
    • Active: Available/Activated
    • Stop: Stopped/Deactivated
    • To be Terminated: Scheduled for Deletion
    • Creating: Being Created/Creation Error (Only immediate deletion is possible for retrying creation)
    Key RotationA button that can manually rotate the generated key
    Key Deactivationa button that can deactivate the generated key
    Service CancellationButton to cancel the service
    Table. Key Management Service Status Information and Additional Features

Detailed Information

Key Management Service list page where you can check the detailed information of the selected resource and modify the information if necessary.

Classification
Detailed Description
ServiceService Name
Resource TypeResource Type
SRNUnique resource ID in Samsung Cloud Platform
Resource NameResource Title
Resource IDUnique resource ID in the service
CreatorThe user who created the service
Creation TimeThe time when the service was created
Key NameName of the generated key
Public Certification AlgorithmCryptographic algorithm verified through the Korea Cryptographic Module Validation Program
  • When selected, it is possible to generate an encryption key that meets the public encryption standards
  • The public certification algorithm option is only available on SCP Sovereign
PurposePurpose of the key such as encryption/decryption and signing/verification and encryption method
Automatic RotationWhether to use automatic rotation of the key
Rotation PeriodSet the rotation period when using auto-rotation
Next rotation dateDisplay of the next rotation date of the key according to the rotation cycle
  • Automatically execute key rotation on the corresponding date
usage countthe number of times the key is used to call the encryption/decryption function
DescriptionDisplay additional description for the key
Table. Key Management Service detailed information tab items

Tag

Key Management Service list page where you can check the tag information of the selected resource, and add, change or delete it.

ClassificationDetailed Description
Tag ListTag list
  • Check Key, Value information of the tag
  • Up to 50 tags can be added per resource
  • Search and select from existing Key and Value lists when entering tags
Table. Key Management Service tags tab items

Work History

Key Management Service list page where you can check the operation history of the selected resource.

ClassificationDetailed Description
Work HistoryWork Performance Contents
  • Encryption, Decryption, Signing, Verification, Data Key Generation, Rewrap API Log Item Display
Work TimeWork Performance Time
Resource TypeResource Type
Resource NameResource Title
Task ResultTask Execution Result(Success/Failure)
Worker InformationInformation of the user who performed the task
Table. Key Management Service job history tab detailed information items

Key Management Service management

You can create a new version of the registered key or change its usage status.

KMS Key Rotation Settings

Key rotation is a function that converts the internal algorithm of the generated key into another value.

Note
  • When rotating the key, only the master key value is changed, and the ciphertext and plaintext values of the data key created previously are not changed.
  • Even if the key rotation is performed, the master key has the previous version of the data, so there is no effect on the decryption performed through the master key, and the value of the data key being used is also not changed.
  • However, if you wrap (decrypt and re-encrypt) with a changed master key, calling the rewrapData API will execute the key rotation function.

To create a new version of the created Key Management Service (key rotation), follow these steps.

  1. All services > Security > Key Management Service menu is clicked. It moves to the Service Home page of Key Management Service.
  2. Service Home page, click the Key Management Service menu. It moves to the Key Management Service list page.
  3. Key Management Service list page, click on the resource to check the detailed information. It moves to the Key Management Service details page.
  4. Key Management Service details page, click the key rotation button. It moves to the key rotation popup window.
  5. Key Rotation popup window, check the message and click the Confirm button.

KMS Key Activation Settings

You can set whether to use the selected key.

Reference
If you change the key to an inactive state, users who use the key can no longer use the key.

To set whether to enable or disable the created Key Management Service, follow the next procedure.

  1. All services > Security > Key Management Service menu is clicked. It moves to the Service Home page of Key Management Service.
  2. Service Home page, click the Key Management Service menu. It moves to the Key Management Service list page.
  3. Key Management Service list page, click on the resource to check the detailed information. It moves to the Key Management Service details page.
  4. Key Management Service details page, click the key activation/key deactivation button. Move to the key activation/key deactivation popup window.
  5. Key Activation/Key Deactivation popup window, check the message and click the Confirm button.

Key Management Service utilizing keys for encryption cases

The procedure example for storing important data of the user Application by issuing a data key from KMS and encrypting it is as follows.

  1. Application startup, when KMS master key information is used to issue a data key, and then the data key in plain text form is used on the client-side to perform secure data encryption and storage.
  2. The data key is stored in the database in the form encrypted with the master key.
  3. When performing security data decryption, it requests decryption with KMS master key information by querying the data key stored in the database.

Key Management Service uses the key for encryption/decryption procedures, which are explained in the following concept diagram.

Encryption

Encryption procedure example
Figure. KMS encryption procedure example

Decryption

Decryption procedure example
Figure. KMS decryption procedure example

Key Management Service Cancellation

You can cancel the Key Management Service that is not being used.

Caution
If the key is revoked, all requests and functions of the Key Management Service will be unavailable, and it will be permanently deleted immediately or 72 hours later through scheduled revocation.

To cancel the Key Management Service, follow the following procedure.

  1. All services > Security > Key Management Service menu, click. It moves to the Service Home page of Key Management Service.
  2. Service Home page, click the Key Management Service menu. It moves to the Key Management Service list page.
  3. Key Management Service list page, click the resource to check the detailed information. It moves to the Key Management Service details page.
  4. Key Management Service details page, click the service cancellation button. It moves to the service cancellation pop-up window.
  5. Service Cancellation popup window, select Immediate Cancellation/Reserved Cancellation and confirm the contents, then click the Confirm button.
  6. Once the cancellation is complete, check if the resource has been cancelled on the Key Management Service list page.
  • Key deletion notification will be sent to both the user who created the key and the user who deleted it when the key deletion is completed.
Reference
  • You can also deactivate the selected key by clicking the Cancel Service button in the More Menu button at the far right of the generated KMS list.
  • To cancel the cancellation of a reserved service, click the Cancel Cancellation button on the KMS list page or detail page.
  • Service Cancellation Cancellation In the popup window, if you click Confirm, the selected key will be restored to an inactive state without being deleted.
  • To reuse the key, click the Key Activation button on the Key Management Service details page.

1.2.1 - Key Management Service Encryption example using keys

Key Management Service Encryption Example Using Keys

This is a Java code example for implementing envelope encryption (Envelope Encryption) and data signing/verification using a key generated by KMS.

Reference
The code below is a simple reference example to help understand the Samsung Cloud Platform KMS. Since only the functions required for KMS operation are described, executing it as is will cause an error. Be sure to modify and use it according to the user’s actual scenario.

Envelope Encryption

It presents an envelope encryption scenario, and you can view the Java, Go, and Python example code and results written according to the scenario.

Scenario

  1. Obtain a Data Key to encrypt password information using envelope encryption.
  2. Use the issued Data Key information to encrypt the password.
  3. Encrypt the password and encrypted Data Key information using envelope encryption and save it as a JSON file.

Java Example Code

This is a Java example code written according to the presented scenario.

// URI
static String KMS_API_BASE_URI = {{ Reference the OpenAPI guide URL }};
// END POINT
static String KMS_API_DECRYPT = "/v1/kms/openapi/decrypt/%s";
static String KMS_API_CREATE_DATAKEY = "/v1/kms/openapi/datakey/%s";
// KEY ID
static String KEY_ID = {{Master Key ID}};
  
createEnvelop() {
    // Request creation of a new data key
    String encryptedDataKey = getDataKey();
    // Data to be encrypted
    String example_json_data = "{\"PASSWORD\":\"SECRET_CREDENTIAL\"}";
    // Encrypted data envelope(Envelop encryption)
    String envelope = encryptData(example_json_data, encryptedDataKey);
    // In this example code, the encrypted data envelope is saved to a file
    File envelopeFile = new File("envelope.json");
}
  
getDataKey() {
    String endPoint = String.format(KMS_API_CREATE_DATAKEY, KEY_ID);
    String url = KMS_API_BASE_URI + endPoint;
    JSONObject data = new JSONObject();
    data.put("key_type", "plaintext");
    JSONObject respJsonObject = callApi(endPoint, data.toJSONString());
    return respJsonObject.get("ciphertext").toString();
}
  
encryptData() {
    Map<String, String> envelope = new HashMap<>();
    // Data key decryption
    String dataKey = decryptDataKey(encryptedDataKey);
    // Encrypt the generated data key using AES-CBC method
    // Cipher Class usage (User can use the encryption algorithm they are already using)
    SecretKey secretKey = new SecretKeySpec(decodeBase64(dataKey), "AES");
    Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
    cipher.init(Cipher.ENCRYPT_MODE, secretKey);
    byte[] iv = cipher.getParameters().getParameterSpec(IvParameterSpec.class).getIV();
    byte[] cipherText = cipher.doFinal(obj.toString().getBytes());
  
    envelope.put("encryptedKey", encryptedDataKey);
    envelope.put("cipherText", encodeBase64(cipherText));
    envelope.put("iv", encodeBase64(iv));
  
    return JSONValue.toJSONString(envelope);
}
  
decryptDataKey() {
    String endPoint = String.format(KMS_API_DECRYPT, KEY_ID);
    JSONObject data = new JSONObject();
    data.put("cipherText", sealedKey);
    JSONObject respJsonObject = callApi(endPoint, data.toJSONString());
    String plaintext = (respJsonObject.get("plaintext")).toString();
    return plaintext;
}

Go example code

This is a Go example code written according to the presented scenario.

// URI
const KMS_API_BASE_URI = {{ Reference the OpenAPI guide URL }}
  
// END POINT
const KMS_API_DECRYPT = "/v1/kms/openapi/decrypt/%s"
const KMS_API_CREATE_DATAKEY = "/v1/kms/openapi/datakey/%s"
  
// KEY ID
const KEY_ID = {{Master Key ID}}
  
createEnvelop() {
        // Request new data key creation
        encryptedDataKey := getDataKey()

        // data to be encrypted
        example_json_data := "{\"PASSWORD\":\"SECRET_CREDENTIAL\"}"
        // encrypted data envelope(Envelop encryption)
        envelope := encryptData(example_json_data, encryptedDataKey)
        // In this example code, the encrypted data envelope is saved to a file
        file, _ := os.Create("envelope.json")
        defer file.Close()

        file.WriteString(envelope)
"}
  
getDataKey() {
        endPoint := fmt.Sprintf(KMS_API_CREATE_DATAKEY, KEY_ID)
        data := map[string]interface{}{
            "key_type": "plaintext",
        }
        jsonData, _ := json.Marshal(data)
        respJsonObject := callApi(endPoint, jsonData)
        info := &KMSDatakeyInfo{}
        json.Unmarshal([]byte(respJsonObject), info)
  
        return info.DataKey
"}
  
encryptData() {
        envelope := make(map[string]string)
        // Data key decryption
        dataKey := decryptDataKey(encryptedDataKey)
        secretKey, _ := base64.StdEncoding.DecodeString(dataKey)
        // Encrypt the generated data key using AES-CBC method
        // Cipher Class use
        block, _ := aes.NewCipher(secretKey)
        cipherText := make([]byte, aes.BlockSize+len(example_json_data))
        iv := cipherText[:aes.BlockSize]
        if _, err := io.ReadFull(rand.Reader, iv); err != nil {
               panic(err)
        }
  
        mode := cipher.NewCFBEncrypter(block, iv)
        mode.XORKeyStream(cipherText[aes.BlockSize:], []byte(example_json_data))
  

        envelope["encryptedKey"] = encryptedDataKey
        envelope["cipherText"] = base64.StdEncoding.EncodeToString(cipherText)
        envelope["iv"] = base64.StdEncoding.EncodeToString(iv)
  
        jsonString, _ := json.Marshal(envelope)
  
        return string(jsonString)
}
  

decryptDataKey() {
        endPoint := fmt.Sprintf(KMS_API_DECRYPT, KEY_ID)
        data := map[string]interface{}{
               "cipherText": sealedKey,
        }
        jsonData, _ := json.Marshal(data)
        respJsonObject := callApi(endPoint, jsonData)
        info := &KMSDecryptInfo{}
        json.Unmarshal([]byte(respJsonObject), info)
  
        return info.DecryptedData
  
}

Python example code

This is a Python example code written according to the presented scenario.

# URI
KMS_API_BASE_URI = {{ Refer to the URL of the OpenAPI guide }}
  
# END POINT
KMS_API_DECRYPT = "/v1/kms/openapi/decrypt/"
KMS_API_CREATE_DATAKEY = "/v1/kms/openapi/datakey/"
  

# KEY ID
KEY_ID = {{Master Key ID}}
    
create_envelop()
    # Request new data key creation
    encrypted_data_key = get_dataKey()

  

    # Data to be encrypted
    example_json_data = {"PASSWORDTEST":"SECRET_CREDENTIALTEST"}
    json_data_str = json.dumps(example_json_data)
     
    # Encrypted Data Envelope(Envelop encryption)
    envelope = encrypt_data(json_data_str,encrypted_data_key)
  
    # In this example code, the encrypted data envelope is saved to a file
    with open("envelope.json", "w") as file:
        file.write(envelope)
  
    
get_dataKey()
    end_point = f"{KMS_API_CREATE_DATAKEY}{KEY_ID}"
    data = {
        "key_type": "plaintext"
    }
    response_object = call_api(end_point, data)
  
    data_key = response_object.get("ciphertext", "")
  
    return data_key
  
  
encrypt_data()
    envelope = {}
    # Data key decryption
    dataKey = decrypt_data_key(encrypted_data_key)
    decoded_data_key = base64.b64decode(dataKey)
  
    # Encrypt the generated data key using AES-CBC
    # Cipher Class use
    iv = get_random_bytes(16)
    cipher = AES.new(decoded_data_key, AES.MODE_CBC, iv)
    data_to_encrypt = obj
    data_bytes = data_to_encrypt.encode()

    padded_data = pad(data_bytes, AES.block_size)
    cipher_text = cipher.encrypt(padded_data).hex()

  
    envelope["encryptedKey"] = encrypted_data_key
    envelope["cipherText"] = cipher_text
    envelope["iv"] = base64.b64encode(iv).decode()
    
    return json.dumps(envelope)
  
decrypt_data_key()
    end_point = f"{KMS_API_DECRYPT}{KEY_ID}"
    data = {}
    data["cipherText"] = sealed_key
    resp_json_object = call_api(end_point,data)
    plaintext = resp_json_object.get("decryptedData")
    return plaintext

Example code output

Displays the result value of the example code.

  {
        "cipherText":"d3S81rzaGAl8U12LlKSlRbDekPlGuibTntXX962KCjBIKuXdPOG8N8vk3Jet8lyG",
        "iv":"0kP7QKZ6BUeQPlThk4tySA==",
        "encryptedKey":"vault:v1:KJjjLtGHTbaV5N8LWC5O9eMDCaJVeff5SM\/MAYseugjiqiXFVgdXaKXg6kym0NmjHkO\/wLPsa+YK0aVk"
    }

## Use envelope encryption

Present a use case for envelope encryption and you can check the example code in Java, Go, Python written according to the scenario and the resulting values.

### Scenario

1. Decrypt the Data Key of the encrypted envelope file.
2. Decrypt the encrypted data of the envelope file using the decrypted Data Key.

### Java Example Code
This is a Java example code written according to the presented scenario.

// URI static String KMS_API_BASE_URI = {{ Refer to the OpenAPI guide URL }}; // END POINT static String KMS_API_DECRYPT = “/v1/kms/openapi/decrypt/%s”; // KEY ID static String KEY_ID = {{Master Key ID}};;

getData() { // Encrypted data envelope(Envelop encryption) String envelope = new String(Files.readAllBytes(Paths.get(“envelope.json”))); JSONParser parser = new JSONParser(); JSONObject envelopeJson = (JSONObject) parser.parse(envelope); String encryptedDataKey = envelopeJson.get(“encryptedKey”).toString(); String cipherText = envelopeJson.get(“cipherText”).toString(); String iv = envelopeJson.get(“iv”).toString();

return decryptData(cipherText, encryptedDataKey, iv);

}

decryptData() { String dataKey = decryptDataKey(encryptedDataKey); IvParameterSpec ivParameterSpec = new IvParameterSpec(decodeBase64(iv)); SecretKey secretKey = new SecretKeySpec(decodeBase64(dataKey), “AES”); Cipher cipher = Cipher.getInstance(“AES/CBC/PKCS5Padding”); cipher.init(Cipher.DECRYPT_MODE, secretKey, ivParameterSpec); byte[] plaintext = cipher.doFinal(decodeBase64(cipherText));

return new String(plaintext);

}

decryptDataKey() { String endPoint = String.format(KMS_API_DECRYPT, KEY_ID); JSONObject data = new JSONObject(); data.put(“cipherText”, sealedKey); JSONObject respJsonObject = callApi(endPoint, data.toJSONString()); String plaintext = (respJsonObject.get(“plaintext”)).toString(); return plaintext; }


### Go example code
This is a Go example code written according to the presented scenario.
// URI
const KMS_API_BASE_URI = {{ Reference the OpenAPI guide URL }}
  
// END POINT
const KMS_API_DECRYPT = "/v1/kms/openapi/decrypt/%s"
  
// KEY ID
const KEY_ID = {{Master Key ID}}
  
getData() {
    // Load encrypted data envelope(Envelop encryption)
    jsonData, _ := os.ReadFile("envelope.json")
    var envelope map[string]interface{}
    if err := json.Unmarshal(jsonData, &envelope); err != nil {
           fmt.Println("JSON parsing error:", err)
           os.Exit(1)
    }
    encryptedDataKey := envelope["encryptedKey"].(string)
    cipherText := envelope["cipherText"].(string)
    iv := envelope["iv"].(string)
  
    return decryptData(cipherText, encryptedDataKey, iv)
}
  
decryptData() {
    dataKey := decryptDataKey(encryptedDataKey)
    ciphertext, _ := base64.StdEncoding.DecodeString(cipherText)
    dataKeyBytes, _ := base64.StdEncoding.DecodeString(dataKey)
    decodedData := ciphertext[aes.BlockSize:]
    ivparam := ciphertext[:aes.BlockSize]
    block, _ := aes.NewCipher(dataKeyBytes)
  
    mode := cipher.NewCFBDecrypter(block, ivparam)
    mode.XORKeyStream(decodedData, decodedData)
    decryptedData := string(decodedData)
  
    return decryptedData
"}
  
decryptDataKey() {
    endPoint := fmt.Sprintf(KMS_API_DECRYPT, KEY_ID)
    data := map[string]interface{}{
           "cipherText": sealedKey,
    }
    jsonData, _ := json.Marshal(data)
    respJsonObject := callApi(endPoint, jsonData)
    info := &KMSDecryptInfo{}
    json.Unmarshal([]byte(respJsonObject), info)
  
    return info.DecryptedData
}

Python example code

This is a Python example code written according to the presented scenario.

# URI
KMS_API_BASE_URI = {{ Refer to the OpenAPI guide URL }}
  

# END POINT
KMS_API_DECRYPT = "/v1/kms/openapi/decrypt/"
  
# KEY ID
KEY_ID = {{Master Key ID}}
    
get_data()
    # Open Encrypted Data Envelope(Envelop encryption)
    with open("envelope.json", "r") as file:
        envelope = file.read()

    envelope_json = json.loads(envelope)
    encrypted_data_key = envelope_json["encryptedKey"]
    cipher_text = envelope_json["cipherText"]
    iv = envelope_json["iv"]
    return decrypt_data(cipher_text, encrypted_data_key, iv)
  
decrypt_data()
    data_key = decrypt_data_key(encrypted_data_key)
    iv_bytes = base64.b64decode(iv)
    decoded_data_key = base64.b64decode(data_key)
    cipher_txt = bytes.fromhex(cipher_text)
  
    cipher = AES.new(decoded_data_key, AES.MODE_CBC, iv_bytes)
    plain_text_bytes = unpad(cipher.decrypt(cipher_txt), AES.block_size)
    plain_text = plain_text_bytes.decode('utf-8')
    return plain_text
    
decrypt_data_key()
    end_point = f"{KMS_API_DECRYPT}{KEY_ID}"
    data = {}
    data["cipherText"] = sealed_key
    resp_json_object = call_api(end_point,data)
    plaintext = resp_json_object.get("decryptedData")
    return plaintext

Example code output

Displays the result value of the example code.

  {"PASSWORD":"SECRET_CREDENTIAL"}

Use Data Signature

It presents a data signature usage scenario to ensure data integrity, and you can check the Java, Go, Python example code and results written according to the scenario.

Scenario

  1. Call OpenAPI with the data to be signed and sign it.
  2. The signed data is enveloped and saved as a json file.

Java Example Code

This is a Java example code written according to the presented scenario.

// URI
static String KMS_API_BASE_URI = {{ Refer to the OpenAPI guide URL }};
  
// END POINT
static String KMS_API_SIGN = "/v1/kms/openapi/sign/%s";
  
// KEY ID
static String KEY_ID = {{master key ID}};
  
signEnvelop() {
    // signature data envelope(Envelop encryption)
    String envelope = sign();
    // In this example code, the signature data envelope is saved to a file
    File envelopeFile = new File("signEnvelope.json");
    OutputStream os = new BufferedOutputStream(new FileOutputStream(envelopeFile));
  
    try {
        os.write(envelope.getBytes());
    } finally {
        os.close();
    }
}
  
sign() {
    Map<String, String> envelope = new HashMap<>();
  
    String example_credential = "SCP KMS Sign Test!!!";
    String endPoint = String.format(KMS_API_SIGN, KEY_ID);
    JSONObject data = new JSONObject();
    data.put("input", encodeToBase64(example_credential));
  
    JSONObject respJsonObject = callApi(endPoint, data.toJSONString());
  
    envelope.put("signature", respJsonObject.get("signature").toString());
    if(respJsonObject.get("batch_results") != null) {
  
        envelope.put("batch_results", respJsonObject.get("batch_results").toString());
    }
  
    return JSONValue.toJSONString(envelope);
"}

Go example code

This is a Go example code written according to the given scenario.

// URI
const KMS_API_BASE_URI = {{ Reference the OpenAPI guide URL }}
  

// END POINT
const KMS_API_SIGN = "/v1/kms/openapi/sign/%s"
  
// KEY ID
const KEY_ID = {{Master Key ID}}
  

signEnvelop() {
    // signature data envelope(Envelop encryption)
    envelope := sign()
    // In this example code, the signature data envelope is saved to a file
    file, _ := os.Create("signEnvelope.json")
    defer file.Close()
    file.WriteString(envelope)
"}
  
sign() {
    envelope := make(map[string]string)
    example_credential := "SCP KMS Sign Test!!!"
    endPoint := fmt.Sprintf(KMS_API_SIGN, KEY_ID)
    data := map[string]interface{}{
        "input": base64.StdEncoding.EncodeToString([]byte(example_credential)),
    }
    jsonData, _ := json.Marshal(data)
    respJsonObject := callApi(endPoint, jsonData)
    info := &KMSSignInfo{}
    json.Unmarshal([]byte(respJsonObject), info)
  
    envelope["signature"] = info.Signature
  
    jsonString, _ := json.Marshal(envelope)
  
    return string(jsonString)
}

Python Example Code

This is a Python example code written according to the given scenario.

# URI
KMS_API_BASE_URI = {{ Refer to the URL of the OpenAPI guide }}
  
# END POINT
KMS_API_SIGN = "/v1/kms/openapi/sign/"
  

# KEY ID
KEY_ID = {{Master Key ID}}
    
sign_envelop()
    # Signature Data Envelope(Envelop encryption)
    envelope = sign()
  
    # This example code saves the signature data envelope to a file
    with open("signEnvelope.json", "w") as file:
        file.write(envelope)
  
    
sign()
    envelope = {}
  
    example_credential = "SCP KMS Sign Test!!!"
    end_point = f"{KMS_API_SIGN}{KEY_ID}"
    credential_bytes = example_credential.encode('utf-8')
  

    data = {
        "input": base64.b64encode(credential_bytes).decode('utf-8')
    }
  
    resp_json_object = call_api(end_point,data)
  
    envelope["signature"] = resp_json_object.get("signature")
  
    return json.dumps(envelope)

Example code output

Displays the result value of the example code.

  {
    "signature":"vault:v1:qHGf4ALkTao1Yy\/lpSbLQ2l8YVpsHWBP6ic3Ux1BKSodQQxnEIrjPyUwXXQ1NZfGSVxdeVe5Y6kb0nUPNADQpzkOh9\/e8T\/QCOs9==",
    "projectId":"PROJECT-qWrHRJX5sZnTkopcr9N1dk"
}

Data Validation Use

It presents a verification usage scenario for validating data integrity, and you can view the Java, Go, and Python example code and results written according to the scenario.

Scenario

  1. Retrieve the signature value of the signed envelope file.
  2. Verify the signed data and output the result.

Java example code

This is a Java example code written according to the presented scenario.

// URI
static String KMS_API_BASE_URI = {{ Reference the OpenAPI guide URL }};
  
// END POINT
static String KMS_API_VERIFY = "/v1/kms/openapi/verify/%s";
  
// KEY ID
static String KEY_ID = {{Master Key ID}};
  
getSign() {
    // signature data envelope(Envelop encryption)
    String envelope = new String(Files.readAllBytes(Paths.get("signEnvelope.json")));
    JSONParser parser = new JSONParser();
    JSONObject envelopeJson = (JSONObject) parser.parse(envelope);
    String signature = envelopeJson.get("signature").toString();
  
    return verify(signature);
}
  
verify() {
    String endPoint = String.format(KMS_API_VERIFY, KEY_ID);
    JSONObject data = new JSONObject();
    data.put("input", "U0NQIEtNUyBTaWduIFRlc3QhISE=");
    data.put("signature", signature);
    JSONObject respJsonObject = callApi(endPoint, data.toJSONString());
    String valid = (respJsonObject.get("valid")).toString();
    return valid;
}

Go example code

This is a Go example code written according to the presented scenario.

// URI const KMS_API_BASE_URI = {{ Reference the OpenAPI guide URL }}

// END POINT const KMS_API_VERIFY = “/v1/kms/openapi/verify/%s”

// KEY ID const KEY_ID = {{Master Key ID}}

getSign() { // Load signature data envelope (Envelop encryption) jsonData, _ := os.ReadFile(“signEnvelope.json”) var envelope map[string]interface{} if err := json.Unmarshal(jsonData, &envelope); err != nil { fmt.Println(“JSON parsing error:”, err) os.Exit(1) } signature := envelope[“signature”].(string)

return verify(signature)

}

verify() { endPoint := fmt.Sprintf(KMS_API_VERIFY, KEY_ID) data := map[string]interface{}{ “input”: “U0NQIEtNUyBTaWduIFRlc3QhISE=”, “signature”: signature, } jsonData, _ := json.Marshal(data) respJsonObject := callApi(endPoint, jsonData) info := &KMSVerifyInfo{} json.Unmarshal([]byte(respJsonObject), info)

return info.Valid

}


### Python example code
This is a Python example code written according to the presented scenario.

URI

KMS_API_BASE_URI = {{ Refer to the URL of the OpenAPI guide }}

END POINT

KMS_API_VERIFY = “/v1/kms/openapi/verify/”

KEY ID

KEY_ID = {{Master Key ID}}

get_sign() # Signature data envelope(Envelop encryption) Open with open(“signEnvelope.json”, “r”) as file: envelope = file.read()

envelope_json = json.loads(envelope)
signature = envelope_json["signature"]

return verify(signature)

verify() end_point = f"{KMS_API_VERIFY}{KEY_ID}"

data = {
    "input": "U0NQIEtNUyBTaWduIFRlc3QhISE=",
    "signature": signature
}

resp_json_object = call_api(end_point,data)
valid = resp_json_object.get("valid")

return valid

### Example code output
Displays the result value of the example code.

{ “valid”: true “}

1.3 - API Reference

API Reference

1.4 - CLI Reference

CLI Reference

1.5 - Release Note

Key Management Service

2025.10.23
FEATURE Log Expansion and Notification Feature Improvement
  • Encryption, decryption, etc., improved to facilitate tracking management by logging work records for API calls in detail by individual API units.
  • When the encryption key is deleted, it provides notification not only to the user who deleted the key, but also to the key creator, and also provides the name of the region where the encryption key is located in the notification.
2025.07.01
FEATURE Addition of Encryption Methods
  • It also provides a hash-based message authentication code creation and verification (HMAC) encryption method.
2025.02.27
NEW Key Management Service Official Version Release
  • The customer application’s important data is safely protected by launching a key management service (Key Management Service) for encryption key management.
  • You can create, provide, and manage encryption keys for various purposes (encryption/decryption, signing/verification).

2 - Config Inspection

2.1 - Overview

Service Overview

Config Inspection is a service that diagnoses the security level of console settings for each service of Samsung Cloud Platform. It provides a security checklist organized by areas such as IAM, Networking, Database, Logging, and checks the current status via API calls to see whether the recommended security settings for each diagnostic item are applied.

Users can create a diagnostic target through service creation and then request a diagnosis, and the diagnosis request results can be checked via the Report. The Report provides the diagnosis request history and item-specific diagnosis results, and for diagnostic items that require the user’s final confirmation or action, detailed results including the resource information corresponding to each item and a remedial guide can be viewed.

Diagram
Figure. Config Inspection Diagram

Provided Features

Config Inspection provides the following features.

  • Console Diagnosis: You can diagnose the security level by calling the Console API using the authentication key method.
  • Diagnosis Target Management: Through service creation, you can create and manage the user’s Samsung Cloud Platform account as a diagnosis target.
  • Diagnosis Request: In the resource detail screen, you can request a diagnosis by clicking the Diagnosis Request button.
  • Diagnostic Result Management: In Report, you can view the list of diagnosis requests and detailed diagnosis results, and download them as an Excel file.

Components

Checklist

The checklist is a collection of diagnostic items that serve as the basis for diagnostic results, and the checklist currently provided by Config Inspection is as follows.

CloudChecklist NameNumber of Items
Samsung Cloud PlatformBest Practice18
Table. Config Inspection checklist

The detailed diagnostic items of the Best Practice checklist provided by Samsung Cloud Platform are as follows.

AreaDiagnostic Item
Networking
  • Private subnets that do not require internet access should not use a NAT Gateway.
  • Network integration services must use a Firewall.
  • Security Groups should register only the necessary rules per IP and port.
  • Remote access ports for each protocol must allow connections by specifying the IPs that need access.
  • The Firewall of network integration products should register only the necessary rules per IP/port.
    Container
    • You must use private endpoint access control for the Kubernetes cluster and allow access only to authorized resources.
    • You must use private endpoint access control for the Container Registry and allow access only to authorized resources.
    • Enable automatic vulnerability scanning for Container Registry images.
    • Do not use a vulnerability scan exclusion policy for Container Registry images.
    • Restrict pulling of unscanned images from the Container Registry.
    • Restrict pulling of vulnerable images from the Container Registry.
    Database
    • SQL-level audit logs must be stored.
    Logging
    • Activate the Trail service of Logging&Audit and set the scope to all regions/resource types/users.
    • Set the log file verification of Logging&Audit Trail to enabled.
    • Security Group must have logging enabled.
    • Network integration products must enable Firewall logging.
    • Enable NAT logging for the Internet Gateway.
    • Enable control plane logging for the Kubernetes Engine cluster.
    Table. Samsung Cloud Platform Best Practice checklist composition items

    Report

    In the Config Inspection Report, you can view the diagnostic results in the order of result list, result details, and item details.

    CategoryDetailed description
    Diagnosis Result ListAll diagnosis request history within Account
    • Completed: Diagnosis request has been successfully completed
      • Click the instance to view detailed diagnosis result
    • Error: Diagnosis request was not successfully completed
      • If the diagnosis result is an error, detailed diagnosis result is not provided.
      • The cause of the error can be found in Config Inspection detailed information
    Diagnosis Result DetailsResult of a successfully completed diagnosis request (diagnosis item list)
    • PASS: No vulnerable resources exist in the diagnosis item.
    • FAIL: Vulnerable resources exist in the diagnosis item.
    • CHECK: Final user confirmation is required regarding vulnerability.
    • ERROR: There is an error with user/authentication key permissions or API call.
    • N/A: No resources correspond to the diagnosis item.
    Diagnostic Item DetailsDetailed Results per Diagnostic Item
    Table. Config Inspection Report diagnostic configuration

    Preliminary Service

    Config Inspection has no preceding service.

    2.2 - How-to guides

    The user can input the necessary information for the Config Inspection service and create the service by selecting detailed options through the Samsung Cloud Platform Console.

    Create a certificate

    To create and use the Config Inspection service in the Samsung Cloud Platform Console, authentication key creation is required in advance.

    API key creation is available at My menu > My Info. > API key management > API key creation. For more information, please refer to API key management.

    Note
    • The expiration period of the authentication key is up to 365 days.
    • To create an authentication key with no expiration date, it must be created as permanent.

    Config Inspection creation

    You can create and use the Config Inspection service in the Samsung Cloud Platform Console.

    Reference
    The user must be a member of the AdministratorGroup user group to use the services provided by Config Inspection service normally.

    To create a Config Inspection, follow these steps.

    1. Click All Services > Security > Config Inspection menu. It moves to the Service Home page of Config Inspection.

    2. On the Service Home page, click the Config Inspection creation button. It moves to the Config Inspection creation page.

    3. Config Inspection Creation page where you enter the necessary inputs for service creation and select detailed options.

      • Enter Service Information area, enter or select the required information.
      Classification
      Necessity
      Detailed Description
      Diagnosis TypeRequiredConsole
      CloudRequiredSelect cloud to diagnose
      • SCP: Samsung Cloud Platform
      • AWS: Amazon Web Service
      • Azure: Microsoft Azure
      • Detailed input items may vary depending on the selected cloud type
      Diagnosis target > Diagnosis nameRequiredName to distinguish diagnosis target
      • Use the entered value as the resource name
      • Use English, numbers, and special characters (-, _) within 25 characters
      Diagnosis target > Diagnosis accountRequiredDiagnosis target is Console information
      • Select the Account ID to be diagnosed from the list
      • If you select the same Account ID, it will be duplicated and an additional fee will be incurred
      • If you select AWS, enter the Account ID in the diagnosis account (12-digit number)
      • If you select Azure, enter the Subscription ID in the diagnosis account (36 characters including letters, numbers, and special characters)
      Diagnosis Schedule > Check ListMandatoryAutomatically set when Using Diagnosis Schedule is selected
      Diagnosis Schedule > Diagnosis CycleRequiredDiagnosis Cycle Selection
      • Diagnosis is executed on the selected date according to the specified cycle
      • Monthly is selected, diagnosis may not be performed on the selected date
        • Example) Monthly 31st selected - February does not have that date, so diagnosis is not performed
      Diagnosis Schedule > Start TimeMandatoryDiagnosis start time selection
      • Set the hour and minute information to start the diagnosis
      Authentication KeyMandatorySelect the authentication key to use for Open API calls
      • Select button to select the corresponding authentication key from the authentication key list in the Authentication Key Selection popup window
      • If there are no selectable authentication keys, create a new authentication key through the Authentication Key Management button
      Rate PlanSelectionSelect the rate plan to use
      • General: Charges are based on the number of diagnoses
      • Monthly Fee: Charges are based on a fixed monthly amount regardless of the number of diagnoses (up to 30 diagnoses per month)
      • The rate plan cannot be changed after applying for the service
      Table. Config Inspection service information input items
      • Enter Additional Information Please enter or select the required information in the area.
      Classification
      Necessity
      Detailed Description
      TagSelectAdd Tag
      • Up to 50 can be added per resource
      • Click the Add Tag button and enter or select Key, Value
      Table. Additional Information Input Items for Config Inspection
    4. In the Summary panel, check the detailed information and estimated billing amount generated, and click the Create button.

      • Once creation is complete, check the created resource on the Config Inspection list page.

    Config Inspection detailed information check

    Config Inspection service can check and modify the entire resource list and detailed information. The Config Inspection details page consists of detailed information, tags, and work history tabs.

    To check the detailed information of the Config Inspection service, follow the next procedure.

    1. Click on the menu of all services > Security > Config Inspection. It moves to the Service Home page of Config Inspection.
    2. On the Service Home page, click the Config Inspection menu. It moves to the Config Inspection list page.
    3. Config Inspection list page, click on the resource to check the detailed information. Move to the Config Inspection details page.
      • Config Inspection Details page displays status information and additional feature information, and consists of Details, Tags, Work History tabs.
        ClassificationDetailed Description
        StatusConfig Inspection status is displayed
        • Ready: after service creation, when there is no diagnosis request (diagnosis request possible)
        • In Progress: when a diagnosis request is being executed (diagnosis request/service cancellation not possible)
        • Error: when an error occurs in the diagnosis request (diagnosis request possible)
        • Completed: when the diagnosis request is completed normally (diagnosis request possible)
        Diagnostic RequestButton that can perform Console diagnosis
        Service CancellationButton to cancel the service
        Fig. Config Inspection status information and additional features

    Detailed Information

    On the Config Inspection List page, you can check the detailed information of the selected resource and modify the information if necessary.

    DivisionDetailed Description
    ServiceService Category
    Resource TypeService Name
    SRNUnique resource ID in Samsung Cloud Platform
    Resource NameResource Title
    Resource IDUnique resource ID in the service
    CreatorService creator user
    Creation TimeTime when the service was created
    ModifierService information modified user
    Modified TimeTime when service information was modified
    Diagnosis TypeService-provided diagnosis type
    CloudDiagnostic Target Type
    Diagnosis TargetDiagnosis target is Console information
    • Provides diagnosis name and diagnosis account information of the diagnosis target
    • If the diagnosis target is AWS or Azure, you can modify the diagnosis account by clicking the Edit icon
    Rate PlanSelected Rate Plan Type
    Recently diagnosed timeLast executed diagnosis request time
    Recent diagnosis resultLast executed diagnosis request result
    • Completed: The diagnosis request is completed normally
    • Error: The diagnosis request is not completed normally
      • UNAUTHORIZED: Need to check the key authority used for the diagnosis request
      • INVALID_INPUT_VALUE: Need to check the input values such as the diagnosis account
      • CONNECTION_FAIL: Need to check the console access control settings
      • ETC: Need to inquire through the service desk due to other errors such as the diagnosis engine
    ※ The diagnosis result can be checked in the Security > Config Inspection > Report menu
    Authentication KeyRegistered user’s authentication key when the service is created
    • Access Key, User, Status information provided
    • Access Key information and edit icon are displayed only to the user who created the authentication key
      • Edit icon can be clicked to change the authentication key
    • If the authentication key is deleted, it is displayed as - status, and if it is expired, it is displayed as Expired
    • Authentication key information (Access Key, Status) of resources created by other users is displayed as -
    Diagnosis ScheduleDisplays the selected diagnosis schedule information
    • If the diagnosis target is SCP, you can change the diagnosis schedule by clicking the Modify icon
    Fig. Config Inspection detailed information tab items

    Tag

    On the Config Inspection 목록 page, you can check the tag information of the selected resource, and add, change, or delete it.

    ClassificationDetailed Description
    Tag ListTag List
    • Check Key, Value information of the tag
    • Up to 50 tags can be added per resource
    • When entering a tag, search and select from the existing list of created Key and Value
    Fig. Config Inspection Tag Tab Items

    Work History

    Config Inspection 목록 page where you can check the operation history of the selected resource.

    DivisionDetailed Description
    Work history listResource change history
    • Check work time, resource ID, resource name, work details, event topic, work result, and worker information
    Fig. Config Inspection job history tab detailed information items

    Config Inspection Resource Management

    Config Inspection resource status inquiry and diagnosis request are required in case of Config Inspection list or Config Inspection detail page where work can be performed.

    Modifying the authentication key

    You can select the authentication key to use for diagnosis by diagnosis target.

    To modify the service authentication key, follow these steps.

    1. Click on the menu for all services > Security > Config Inspection. It moves to the Service Home page of Config Inspection.
    2. On the Service Home page, click the Config Inspection menu. It moves to the Config Inspection list page.
    3. Config Inspection list page, click the resource to modify the authentication key. Move to the Config Inspection details page.
    4. Check the authentication key and click the edit icon. The edit authentication key popup window appears.
    5. Modify Authentication Key popup window, select the registered authentication key and click the OK button.
      ClassificationDetailed Description
      Access KeyAccess Key information of the authentication key
      Creation DateAccess Key Creation Date
      Expiration DateAccess Key Expiration Date
      StatusAuthentication key status
      • In use: available status
      • Expired: expiration of usage period status
      Fig. Edit Authentication Key Popup Window Items
    Reference
    • If the authentication key is deleted, it will be displayed as - state.
    • Authentication key information (Access Key, status) of resources created by other users will be displayed as -.

    Request Diagnosis

    You can request a diagnosis from the Console based on the set checklist.

    To request a console diagnosis, follow these steps.

    1. Click on the menu for all services > Security > Config Inspection. It moves to the Service Home page of Config Inspection.

    2. On the Service Home page, click the Config Inspection menu. It moves to the Config Inspection list page.

    3. Config Inspection list page, click the resource to request diagnosis. Move to the Config Inspection details page.

    4. Config Inspection details page, click the Diagnosis Request button. Diagnosis Request popup window appears.

    5. Diagnosis Request In the diagnosis request popup window, enter the necessary information for diagnosis and click the Confirm button.

      • Diagnostic Request The items in the popup window vary depending on the Console you select.
        ClassificationDetailed Description
        Console access methodThe method of accessing the Console, with the authentication key method fixed
        Check ListFixed as Best Practice when SCP is selected
        Authentication KeySelect the authentication key created in advance if SCP is selected
        Access KeyIf you selected AWS, enter the Access Key
        Secret KeyIf you choose AWS, enter the Secret Key
        Client IDEnter Client ID if Azure is selected
        Client SecretIf Azure is selected, enter Client Secret
        Tenant IDIf Azure is selected, enter the Tenant ID
        Fig. Diagnostic Request Popup Window Items
    6. Check the Status value on the Config Inspection List page.

      • When the diagnosis request is completed, the status value is displayed as Completed or Error.
      • Completed case, you can check the diagnosis result in the diagnosis result menu. For more information, please refer to Report management.
    Reference
    For details on the preliminary setup required for running diagnostics by console, see Preparation.

    Config Inspection disable

    You can cancel the unused Config Inspection service. However, if you cancel Config Inspection, all saved diagnostic data will be deleted.

    Caution
    • If you cancel the resource, all diagnostic data will be deleted and you will not be able to view the diagnostic results in the Report.
    • If the status of the Config Inspection service is In Progress, the service cannot be cancelled.

    To disable Config Inspection, follow the next procedure.

    1. Click All Services > Security > Config Inspection menu. It moves to the Service Home page of Config Inspection.
    2. On the Service Home page, click the Config Inspection menu. It moves to the Config Inspection list page.
    3. Config Inspection list page, click the resource to be canceled. Move to the Config Inspection details page.
    4. Config Inspection details page, click the service cancellation button.
    5. Once the cancellation is complete, please check if the resource has been cancelled on the Config Inspection list page.

    2.2.1 - Dashboard Check

    Users can check the diagnostic results of the Config Inspection service at a glance on the dashboard through the Samsung Cloud Platform Console.

    Check Dashboard

    On the dashboard page, you can check the diagnosis status and history of Config Inspection, etc.

    To check the dashboard, follow the next procedure.

    1. 모든 서비스 > Security > Config Inspection menu is clicked. It moves to the Service Home page of Config Inspection.
    2. On the Service Home page, click the Dashboard menu. It moves to the Dashboard page.
    3. Dashboard page where you can check the summary information of the diagnosis result.
      • Dashboard page, you can check the dashboard information based on the period or diagnosis name at the top.
    • Period: You can check the summary information of the diagnosis results by setting a period within 6 months based on this month.

    • Diagnosis Name: If you select all, you can summarize the entire diagnosis result, and if you select a diagnosis account, you can check the detailed history of the diagnosis result.

      • Download button allows you to download the information displayed on the dashboard page as a PDF file.
      DivisionDetailed Description
      Security Level (Total)The average value of the latest diagnosis results of all diagnosis targets is displayed
      • The latest diagnosis results are listed
      • Diagnosis score calculation formula = Total - (Fail + Error + Check)) / Total x 100
      Diagnostic Status by PeriodDisplays diagnostic status by target during the search period
      • Diagnosis Completed: Displays recent diagnosis completion records
        • Diagnosis Error: Displays recent diagnosis error records, and moves to the detailed diagnosis result page when selecting a diagnosis name
        Summary of diagnostic results by period (all)Displays summary information of diagnostic results (all) during the search period
        • Selecting a diagnosis name from the list moves to the diagnostic result details page
        Table. Detailed description of dashboard items for overall diagnosis results
        ClassificationDetailed Description
        Security LevelThe last diagnosis result score of the selected diagnosis account is displayed
        • The latest diagnosis result is displayed in the list
        Periodic diagnosis result summaryDisplay a summary of the diagnosis results of the last diagnosis account during the search period
        Vulnerability Status by PeriodDisplays the vulnerability diagnosis results of the diagnosis account during the search period in a graph
        • Displays detailed information of vulnerable items in the diagnosis results when selecting a graph
        Fig. Detailed description of dashboard items for diagnostic results by diagnostic account

      2.2.2 - Diagnosis Result Management

      You can check the Config Inspection diagnosis request results on the diagnosis result page and change the diagnosis results.

      Note

      Diagnosis results are created when a diagnosis request is made through the Config Inspection service, and the diagnosis results are deleted when the service is terminated.

      Checking Diagnosis Results

      On the diagnosis result page, you can check the results of the diagnosis request.

      Checking the Diagnosis Result List

      To check the diagnosis result list, follow these steps:

      1. Click All Services > Security > Config Inspection. You will be taken to the Service Home page of Config Inspection.
      2. On the Service Home page, click Diagnosis Result. You will be taken to the Diagnosis Result List page.
      3. On the Diagnosis Result List page, check the summary information of the diagnosis results.
        CategoryDetailed Description
        Diagnosis NameResource Name
        Diagnosis AccountConsole information that is the target of diagnosis
        ChecklistA collection of diagnosis items that serve as the basis for the diagnosis result
        PASSThe number of items in the checklist with a diagnosis result of PASS (normal)
        FAILThe number of items in the checklist with a diagnosis result of FAIL (vulnerable)
        CHECKThe number of items in the checklist with a diagnosis result of CHECK (requires verification)
        ERRORThe number of items in the checklist with a diagnosis result of ERROR (diagnosis not possible)
        N/AThe number of items in the checklist with a diagnosis result of N/A (not applicable)
        TotalThe total number of items in the checklist
        Diagnosis ResultThe result of the diagnosis request
        • Completed: The diagnosis request was completed normally
        • Error: The diagnosis request was not completed normally, and the error status items cannot be checked in detail
        Diagnosis TimeThe time the diagnosis request was made
        Table. Diagnosis Result List Items

      Checking Detailed Diagnosis Result Information

      To check the detailed information of the diagnosis result, follow these steps:

      1. Click All Services > Security > Config Inspection. You will be taken to the Service Home page of Config Inspection.

      2. On the Service Home page, click Diagnosis Result. You will be taken to the Diagnosis Result List page.

        • You can search for diagnosis results by entering the diagnosis name in the search area of the Diagnosis Result List page or by clicking the Detailed Search button.
      3. On the Diagnosis Result List page, click on an item with a diagnosis result of Completed. You will be taken to the detailed diagnosis result page.

        • Items with a diagnosis result of Error do not display detailed information.
      4. On the Detailed Diagnosis Result page, check the detailed diagnosis results.

        CategoryDetailed Description
        Excel DownloadDownload the detailed diagnosis result list as an Excel file
        More > Diagnosis Result ManagementMove to the diagnosis result management page
        ChecklistA collection of diagnosis items that serve as the basis for the diagnosis result
        AreaThe scope of diagnosis (Samsung Cloud Platform services)
        Diagnosis ItemSecurity standards recommended for service settings
        ResultThe result of checking the diagnosis item
        Table. Detailed Diagnosis Result Items

      5. Click on the diagnosis item you want to check in detail. The Diagnosis Item Details popup window will appear.

        • In the Diagnosis Item Details popup window, you can check the following information:
            | Category | Detailed Description |
            |---------|---------|
            | Area | The scope of diagnosis (Samsung Cloud Platform services) |
            | Diagnosis Item | Security standards recommended for service settings |
            | Result | The result of checking the diagnosis item |
            | Diagnosis Criteria | The criteria for determining the result |
            | Diagnosis Method | The method for checking the current settings |
            | Countermeasure Guide | The method for setting the security standards |
            | Detailed Result | Information about the resources and settings corresponding to the diagnosis item |
            | Change Diagnosis Result | A button to change the diagnosis result |
            <div class="figure-caption">
              Table. Config Inspection Diagnosis Item Details
            </div>
          

      Managing Diagnosis Results

      The diagnosis result page allows you to change the results of items with a CHECK status.

      Changing Diagnosis Results

      To change a diagnosis result, follow these steps:

      1. Click All Services > Security > Config Inspection menu. You will be directed to the Config Inspection Service Home page.

      2. Click the Diagnosis Result menu on the Service Home page. You will be directed to the Diagnosis Result List page.

      3. Click an item with a completed diagnosis result on the Diagnosis Result List page. You will be directed to the Diagnosis Result Detail page.

        • Items with an Error status will not display detailed information.
      4. Click the Diagnosis Result Management button at the top of the Diagnosis Result Detail page. You will be directed to the Diagnosis Result Management page.

      5. Click the Result Change button for the item you want to change the diagnosis result for** on the Diagnosis Result Management page. You will be directed to the Result Change popup window.

      6. Select or enter the required information for the result change in the Result Change popup window.

        CategoryRequiredDescription
        Register-Email of the person changing the diagnosis result
        Valid PeriodRequiredSet the valid period for the diagnosis result
        Result ChangeRequiredSelect the new diagnosis result (Pass, Check, Fail)
        Detailed ReasonRequiredEnter a detailed reason for changing the result
        AttachmentOptionalUpload a file required for result change confirmation
        • Click the File Attachment button to upload a file, up to 5 files can be registered
        Inspection Result-Display detailed inspection results
        Table. Detailed Items for Changing Diagnosis Results

      7. Confirm the entered information and click the Register button. Verify that the diagnosis result has been changed in the Diagnosis Result Management list.

      Deleting Diagnosis Result Change History

      To delete the diagnosis result change history, follow these steps:

      1. Click All Services > Security > Config Inspection menu. You will be directed to the Config Inspection Service Home page.
      2. Click the Diagnosis Result menu on the Service Home page. You will be directed to the Diagnosis Result List page.
      3. Click an item with a completed diagnosis result on the Diagnosis Result List page. You will be directed to the Diagnosis Result Detail page.
        • Items with an Error status will not display detailed information.
      4. Click the Diagnosis Result Management button at the top of the Diagnosis Result Detail page. You will be directed to the Diagnosis Result Management page.
      5. Click the Result Confirmation button for the item you want to delete the diagnosis result change history for** on the Diagnosis Result Management page. You will be directed to the Result Confirmation popup window.
      6. Click the Delete button in the Result Confirmation popup window.

      2.2.3 - Setting up the Cloud

      To use the Config Inspection service through the Samsung Cloud Platform Console, users must set up cloud prerequisites, such as generating authentication keys and adding access control IPs.

      Note
      The settings to be configured vary depending on the type of cloud to be used. Refer to the relevant chapter to set up the necessary items for each cloud.

      Setting up the Samsung Cloud Platform Console

      To diagnose the Samsung Cloud Platform and external clouds using the Config Inspection service, configure the following items.

      Checking policies connected to user groups

      Guide
      • Config Inspection can diagnose the Samsung Cloud Platform or external clouds. Depending on the diagnosis target, you can use the service by granting the necessary policy requirements to the user group.
        • Make sure that the user group policy that matches the desired diagnosis target is set up.
        • If policy creation is required, contact the Account administrator.

      To check the policies of the user group you belong to, follow these steps:

      1. Click All Services > Management > IAM. You will be taken to the Service Home page of IAM.
      2. On the Service Home page, click User Group. You will be taken to the User Group List page.
      3. On the User Group List page, click the user group you want to check. You will be taken to the User Group Details page.
      4. On the User Group Details page, click the Policy tab. You will be taken to the Policy tab page.
      5. On the Policy tab page, click the policy you want to check. You will be taken to the Policy Details page.
      6. On the Policy Details page, check the detailed information.

      Generating authentication keys

      You can check and generate authentication keys to be used for the Config Inspection service.

      Guide
      • You can create up to two authentication keys.
      • After creating a new authentication key, you must apply the changed API authentication key to the service you are using.

      To generate an authentication key in the Samsung Cloud Platform Console, follow these steps:

      1. Click My Menu > My Info. You will be taken to the My Info. details page.
      2. On the My Info. details page, click the Authentication Key Management tab. You will be taken to the Authentication Key Management tab page.
      3. On the Authentication Key Management tab page, click the Create Authentication Key button. You will be taken to the Create Authentication Key page.
        • On the authentication key management page, you can check the list of authentication keys.
      4. On the Create Authentication Key page, enter the expiration period and click the Confirm button.
      5. Check if the created authentication key is displayed in the authentication key list.

      Adding Allowed Access IP

      You can add an allowed access IP in the Samsung Cloud Platform Console.

      To add an allowed access IP in the Console, follow these steps:

      1. Click the My menu > My info. menu in the Console. You will be moved to the My info. detail page.
      2. Click the Authentication key management tab on the My info. detail page. You will be moved to the Authentication key management tab page.
      3. On the Authentication key management tab page, click the Modify icon in the Security settings section. The Modify authentication key security settings popup window will open.
      4. In the Modify authentication key security settings popup window, enter the authentication method and allowed access IP.
        • Select Authentication key as the authentication method.
        • Set the allowed access IP to Use and enter the IP address, then click the Add button.
      5. Once the allowed access IP is added, click the Confirm button. Verify that the information entered in the Security settings section has been modified.

      Setting up AWS

      To diagnose the AWS (Amazon Web Services) cloud in the Config Inspection service, set up the following items.

      Adding Permission Policy

      You can add a permission policy for a user or user group in the AWS Console.

      Adding User Permissions

      To add a user access permission policy in the AWS Console, follow these steps:

      1. Click IAM > Users in the AWS Console.
      2. Select the diagnostic user name from the user list.
      3. Click the Permissions tab on the user information page.
      4. Select Add permissions in the permission policy.
        • When adding permissions, select ReadOnlyAccess, ViewOnlyAccess.

      Adding User Group Permissions

      To add a user group access permission policy in the AWS Console, follow these steps:

      1. Click IAM > User groups in the AWS Console.
      2. Select the user group that the user belongs to from the user group list.
      3. Click the Permissions tab on the user group page.
      4. Select Add permissions in the permission policy.
        • When adding permissions, select ReadOnlyAccess, ViewOnlyAccess.

      Adding Access Control IP

      If you are using an IP access control policy, you must add an exception IP to the policy.

      Adding IP Access Control for Users

      To add IP access control for users in the AWS Console, follow these steps:

      1. Click IAM > Users in the AWS Console.
      2. Select the diagnostic user name from the user list.
      3. Click the Permissions tab on the user information page.
      4. Click Edit on the IP Access Control Policy in the permissions policy item.
        • Add 123.37.24.82 to the exception IP for blocking.

      Adding IP Access Control for User Groups

      To add IP access control for user groups in the AWS Console, follow these steps:

      1. Click IAM > User Groups in the AWS Console.
      2. Select the user group that the user belongs to from the user group list.
      3. Click the Permissions tab on the user group page.
      4. Click Edit on the IP Access Control Policy in the permissions policy item.
        • Add 123.37.24.82 to the exception IP for blocking.

      Creating Access Keys

      To create access keys in the AWS Console, follow these steps:

      1. Click IAM > Users in the AWS Console.
      2. Select the diagnostic user name from the user list.
      3. Click the Security Credentials tab on the user information page.
      4. Click Access Keys on the Security Credentials page.
      5. Create an access key for third-party services on the Create Access Key page.
        • Be sure to save the created access key information.
      Note

      Secret Key can only be downloaded as a CSV file or recorded separately.

      • Secret key information can only be checked during access key creation and cannot be recovered later.

      Setting up Azure

      To diagnose Azure cloud in the Config Inspection service, set up the following items.

      Registering Entra ID Application

      To register Entra ID Application in the Azure Console, follow these steps:

      1. Click Microsoft Entra ID > App Registration in the Azure Console.
      2. Click New Registration on the App Registration page.
      3. Register the application (client) ID.
      4. After completing the app registration, check the App Name, Application (Client) ID, Directory (Tenant) ID on the overview page.

      Adding API Permissions

      Reference
      To use the Config Inspection service, you must pre-set it with an account that has the Global Administrator role in Azure AD.

      To add API permissions in the Azure Console, follow these steps:

      1. Click Microsoft Entra ID > App Registration (App registrations) > Entra ID Application Registration and select the created App Name > API Permissions (App permissions) > Add a permission.
      2. Select Microsoft Graph from the API Permissions list.
      3. Click Application Permissions on the API Permission Request page.
        • Select Application.Read.All, Device.Read.All, Group.Read.All, User.Read.All, DeviceManagementManagedDevices.Read.All, AuditLog.Read.All, Directory.Read.All, Domain.Read.All, GroupMember.Read.All, Policy.Read.All, Reports.Read.All from the permission list.
      4. Click Grant admin consent for account name after adding permissions on the App API Permission Registration page.
        • Check if the status has changed to Granted for account name.

      Creating Client Secret

      To create a client secret in the Azure Console, follow these steps:

      1. Click Microsoft Entra ID > App Registration (App registrations) > Entra ID Application Registration and select the created App Name > Certificates & Secrets.
      2. Click New Client Secret on the Certificates & Secrets list.
      3. Check the Value item of the client secret in the list after creating the client secret.
        • Be sure to save the client secret value.
      Note
      The client secret value (Value) can only be checked during creation. Be sure to record or save it separately.

      Adding Subscription Access Permissions in Azure Console

      Subscription access permissions in the Azure Console can be added to the tenant root group or individual subscriptions. Choose the desired method to add subscription access permissions.

      Adding Permissions to the Tenant Root Group

      To add Azure Console subscription access permissions to the Tenant Root Group, follow these steps:

      1. Click on Management groups > Overview in the Azure Console.
      2. Click on Tenant Root Group > IAM.
        • If you cannot access the Tenant Root Group menu, change the following settings:
          • Microsoft Entra ID > Properties > ‘Account name’ can manage access to all Azure subscriptions and management groups in this tenant. > Yes
        • After adding permissions, be sure to change it back to No.
      3. On the Access Control page, click on Add > Add role assignment.
      4. On the Add role assignment page, enter the details and click on Save (Review+assign).
        • When entering role assignment information, select the following information in the Role and Member tabs to add the App created in Entra ID Application registration. All three permissions below must be added.
            |  Category  |  Permission  |
            |---------|---------|
            |Reader|User, group, or service principal|
            |Key Vault Reader|User, group, or service principal|
            |Reader and Data Access|User, group, or service principal|
            <div class="figure-caption">
              Table. Additional permission items when entering role assignment information
            </div>
          

      Adding Permissions to an Individual Subscription

      To add Azure Console subscription access permissions to an individual subscription, follow these steps:

      1. Click on Subscription > Overview in the Azure Console.
        • Check the Subscription ID in the basic information on the overview page.
      2. Click on Subscription > IAM.
      3. On the Access Control page, click on Add > Add role assignment.
      4. On the Add role assignment page, enter the details and click on Save (Review+assign).
        • When entering role assignment information, select the following information in the Role and Member tabs to add the App created in Entra ID Application registration. All three permissions below must be added.
            |  Category  |  Permission  |
            |---------|---------|
            |Reader|User, group, or service principal|
            |Key Vault Reader|User, group, or service principal|
            |Reader and Data Access|User, group, or service principal|
            <div class="figure-caption">
              Table. Additional permission items when entering role assignment information
            </div>
          

      Adding Access Permissions using PowerShell

      To add Azure Console subscription access permissions using PowerShell, follow these steps:

      1. In the Azure Console, run the following command in Cloud shell > PowerShell:
        • New-AzRoleAssignment -ObjectId “Object ID of the App confirmed in Enterprise Application” -Scope “/providers/Microsoft.aadiam” -RoleDefinitionName ‘Reader’ -ObjectType ‘ServicePrincipal’
        • If the command does not work, change the following settings:
          • Microsoft Entra ID > Properties > ‘Account name’ can manage access to all Azure subscriptions and management groups in this tenant. > Yes
          • After adding permissions, be sure to change it back to No.
      2. Run the following command to check if the settings are complete:
        • Get-AzRoleAssignment –ObjectId “Object ID of the App confirmed in Enterprise Application” –Scope “/providers/Microsoft.aadiam”
        • If you need to delete permissions, run the following command:
          • Remove-AzRoleAssignment -ObjectId “Object ID of the App confirmed in Enterprise Application” -Scope “/providers/Microsoft.aadiam” -RoleDefinitionName ‘Reader’

      2.3 - Release Note

      Config Inspection

      2025.07.01
      FEATURE Service Offering Expansion
      • We have launched the Config Inspection product, which can comprehensively diagnose and manage security vulnerabilities in the customer’s multi-cloud console.
        • The account (or other cloud account) to be diagnosed is registered, allowing for continuous diagnosis, and the dashboard and detailed results can be checked in the report.
      2025.02.27
      FEATURE Common Feature Changes
      • Samsung Cloud Platform common feature changes
        • Account, IAM and Service Home, tags, etc. reflected common CX changes.
      2024.12.23
      NEW Beta version release
      • You can manage Samsung Cloud Platform Console setting vulnerabilities through console diagnostics.
      • It provides a Report that can view the security diagnosis results.

      3 - Certificate Manager

      3.1 - Overview

      Service Overview

      Certificate Manager is a service that supports certificate deployment and integrated management, allowing users to create and use SSL/TLS certificates issued by a Certificate Authority (CA) and self-signed certificates for development or testing purposes in Samsung Cloud Platform resources. It also enables management of the certificate lifecycle by checking expiring certificates through expiration notification emails.

      Features

      • Easy creation: You can create a certificate with a simple task on the Samsung Cloud Platform Console. User certificates issued from outside undergo validity verification and only deployable certificates are distributed.
      • Service Integration: Connects certificates registered in Certificate Manager to Load Balancer to encrypt network connections and protect services.
      • Certificate Expiration Alert: Until 1 day before the expiration date, periodic notifications allow you to check and replace certificates that are about to expire.

      Service Composition Diagram

      Configuration Diagram
      Figure. Certificate Manager Configuration Diagram

      Provided Features

      Certificate Manager provides the following functions.

      • Certificate Creation: You can create a user certificate issued by a certificate authority or a self-signed certificate suitable for development/testing purposes.
      • Connected Resource Inquiry: You can inquire about Samsung Cloud Platform resources that are using certificates. Currently, it provides a list of Load Balancer’s Listener(HTTPS).
      • Expiration Notice: You can set the recipient of the expiration notice for each certificate. The notification recipient will receive an email from 45 days before expiration. (Sent 45/30/15/7/1 day before expiration)

      Components

      The Certificate Manager’s user certificate consists of Private Key, Certificate Body, and Certificate Chain. Enter the certificate information, including the entire contents, including the BEGIN and END lines.

      Private Key

      Enter the private key in PEM format. The private key supports RSA and the decrypted value must be entered.

      -----BEGIN RSA PRIVATE KEY-----
      Private Key
      -----END RSA PRIVATE KEY-----
      

      Certificate Body

      Server(Leaf) inputs the certificate in PEM format. Only one certificate can be entered in the Certificate Body.

      -----BEGIN CERTIFICATE-----
      Server Certificate
      -----END CERTIFICATE-----
      

      Certificate Chain

      Enter the upper certificate in PEM format. Enter in the order of Sub(Intermediate) CA → Root CA, and it can be omitted only when it is a self-signed/issued certificate.

      -----BEGIN CERTIFICATE-----
      Intermediate Certificate
      -----END CERTIFICATE-----
      -----BEGIN CERTIFICATE-----
      Root Certificate
      -----END CERTIFICATE-----
      

      Constraints

      Certificate Manager provides a service by Region unit. Please create and use the service in the required Region. The quota per Region is as follows.

      ClassificationBasic QuantityDescription
      CERTIFICATE_MANAGER.USER_CERT_DEFAULT.COUNT100Number of user certificates per region
      CERTIFICATE_MANAGER.SELFSIGNED_CERT_DEFAULT.COUNT100Number of self-issued certificates per Region
      Table. Restrictions of Certificate Manager

      Preceding Service

      Certificate Manager has no preceding services.

      3.2 - How-to guides

      The user can enter the required information for the Certificate Manager service through the Samsung Cloud Platform Console, select detailed options, and create the service.

      Certificate Manager Create

      You can create and use the Certificate Manager service from the Samsung Cloud Platform Console.

      To request the creation of a Certificate Manager service, follow the steps below.

      1. All Services > Security > Certificate Manager Click the menu. Service Home page will be opened.
      2. Click the Create Certificate Manager button on the Service Home page. You will be taken to the Create Certificate Manager page.
      3. Certificate Manager creation On the page, enter the information required to create the service, and select detailed options.
        • Service Information Input area: enter or select the required information.
          Category
          Required
          Detailed description
          Certificate NameRequiredEnter the name of the Certificate Manager to use
          • Enter within 3-30 characters, including English letters, numbers, and special characters (-, _, .)
          • Cannot be the same as an existing name in use
          TypeRequiredSelect the Certificate Manager type to use
          • User Certificate: Public certificate issued by a Certificate Authority (CA)
          • Self-issued Certificate: Certificate self-issued (Self-signed) by Samsung Cloud Platform
            • Since it is relatively insecure, it is recommended for development/testing use.
          User Certificate > Certificate BodyRequiredEnter Server (Leaf) certificate information
          • Only one certificate can be entered in the certificate body
          • Enter the entire content including the lines from —–BEGIN CERTIFICATE—– to —–END CERTIFICATE—–
          User Certificate > Private KeyRequiredEnter private key information
          • Private Key supports RSA encryption method
          • Private Key can be entered in unencrypted PEM format
          • Enter the entire content including the lines from —–BEGIN RSA PRIVATE KEY—– to —–END RSA PRIVATE KEY—-
          User Certificate > Certificate ChainRequiredEnter Certificate Chain information
          • Can be omitted when using a private certificate
          • Enter the Certificate Chain in order: Intermediate (Subordinate) certificate → Root certificate
          • Public certificates must provide Certificate Chain information; only when there is no intermediate certificate (Chain CA) should use be disabled
          • Enter the entire content including the lines from —–BEGIN CERTIFICATE—– to —–END CERTIFICATE—–
          • If there are multiple Intermediate (Subordinate) certificates, enter each certificate’s content in order
          User Certificate > Certificate Validity CheckRequiredValidate the entered certificate’s validity
          Self-issued certificate > Common NameRequiredEnter the domain name to be used for the certificate
          Self-issued certificate > Organization UnitRequiredEnter the organization and department that will use the certificate
          Self-issued Certificate > Start DateRequiredEnter the certificate usage start date (creation date)
          Self-issued certificate > Expiration dateRequiredEnter certificate expiration date
          Expiration AlertSelectSet whether to receive alerts before certificate expiration
          • Use can be selected to enable expiration alerts
          • If expiration alerts are set, an email is sent to recipients 45 days/30 days/15 days/7 days/1 day before certificate expiration
          Expiration Alert > Notification RecipientRequiredSelect notification recipient when using expiration alert
          • Enter user name in the search area to select notification recipient
          • Up to 100 can be registered
          Table. Certificate Manager Service Information Input Items
          Reference
          • If the entered certificate information is not valid, you cannot create the Certificate Manager service.
          • If the Private Key is encrypted, enter the decrypted value using the openssl command below.
            • openssl rsa -in [Encrypted Private Key File name] -out [Decrypted Private Key File name]
          • For certificates issued via Let’s Encrypt, even if there is a previously issued Certificate Chain value, extract it again and input.
        • Additional Information Input Enter or select the required information in the area.
          Category
          Whether required
          Detailed description
          TagSelectAdd Tag
          • Up to 50 can be added per resource
          • After clicking the Add Tag button, enter or select Key, Value values
          Table. Certificate Manager additional information input items
      4. Verify the entered service information and additional information, and click the Complete button.
        • Once creation is complete, check the created resource on the Certificate Manager List page.
          Reference

          To create a Load Balancer to use in the Certificate Manager service, click Load Balancer creation in Service Home.

      Certificate Manager View Detailed Information

      Certificate Manager service can view and edit the full resource list and detailed information. Certificate Manager Details page consists of Details, Connected Resources, Tags, Activity History tabs.

      To view detailed information of Certificate Manager, follow the steps below.

      1. All Services > Security > Certificate Manager Click the menu. Go to the Certificate Manager’s Service Home page.
      2. On the Service Home page, click the Certificate Manager menu. Navigate to the Certificate Manager list page.
      3. Click the resource to view detailed information on the Certificate Manager List page. You will be taken to the Certificate Manager Details page.
      • Certificate Manager Details page displays the status information and detailed information of Certificate Manager, and consists of Details, Connected Resources, Tags, Activity History tabs.
        CategoryDetailed description
        Service StatusCertificate Manager Status
        • Creating: Creating
        • Active/Valid: Certificate valid
        • Expired: Certificate expired
        • Editing: Editing settings
        • Terminating: Terminating
        • Error: Certificate error
        Service terminationButton to cancel Certificate Manager
        Table. Status Information and Additional Functions

      Detailed Information

      Certificate Manager list page, you can view detailed information of the selected resource and, if necessary, edit the information.

      CategoryDetailed description
      serviceservice name
      Resource TypeResource Type
      SRNUnique resource ID in Samsung Cloud Platform
      Resource NameResource Name
      Resource IDUnique resource ID in the service
      CreatorUser who created the service
      Creation DateTimeDate and time the service was created
      EditorUser who modified the service information
      Modification DateTimeDate and time when the service information was modified
      Certificate NameCertificate Manager Certificate Name
      TypeCertificate type information
      Certificate InformationDetailed information of the selected certificate type
      • User Certificate When selected, display certificate information
      • Self-issued Certificate When selected, display Commom Name, Organization Unit, start date, expiration date
      Expiration NotificationCertificate expiration notification settings details
      • Edit button can be clicked to modify usage of expiration notifications and notification recipients
      Table. Certificate Manager detailed information items

      Connected Resources

      You can view the connected Load Balancer information on the Certificate Manager list page.

      CategoryDetailed description
      Load BalancerLoad Balancer resource ID connected to the service
      ListenerListener resource name ID connected to the service
      • Click the name to display the detail information window
      StatusDisplay the status of the Listener connected to the service
      Table. Certificate Manager's Connected Resources tab items

      Tag

      Certificate Manager list page, you can view the tag information of the selected resource, and you can add, modify, or delete it.

      CategoryDetailed description
      Tag ListTag List
      • You can check the Key and Value information of tags
      • Up to 50 tags can be added per resource
      • When entering tags, search and select from the previously created Key and Value list
      Table. Certificate Manager tag tab items

      Work History

      Certificate Manager List page, you can view the operation history of the selected resource.

      CategoryDetailed description
      Work History ListResource Change History
      • Work details, work date and time, resource type, resource name, work result, worker information can be checked
      • When you click the corresponding resource in the Work History List list, the Work History Details popup opens
      Table. Certificate Manager operation history tab detailed information items

      Certificate Manager Cancel

      You can apply for termination of the Certificate Manager service from the Samsung Cloud Platform Console.

      Caution
      If there are resources connected to the Certificate Manager service, you cannot cancel it. To cancel the service, first delete the connected resources.

      To request termination of the Certificate Manager service, follow the steps below.

      1. All Services > Security > Certificate Manager Click the menu. Go to the Service Home page of Certificate Manager.
      2. Click the Certificate Manager menu on the Service Home page. Navigate to the Certificate Manager list page.
      3. Certificate Manager List Click the resource to view detailed information on the page. Certificate Manager Details You will be taken to the page.
      4. Click the Service Termination button on the Certificate Manager Details page.
      5. Once termination is complete, check the service termination status in the Certificate Manager list.

      3.2.1 - Chain Certificate Extraction

      The user can extract and enter the Certificate Chain certificate to be used when creating the Certificate Manager service.

      Extract Certificate Chain

      You can extract the Certificate Chain certificate value required when creating a Certificate Manager.

      Caution

      The Certificate Chain consists of Intermediate (Subordinate) certificates issued by a public certification authority to the Root certificate.

      • Even if you have an existing Certificate Chain value, it is recommended to re-extract and register the Intermediate (Subordinate) certificate to the Root certificate through the Certificate Body file.

      Intermediate (Subordinate) Certificate Value Extraction

      You can extract the Intermediate (Subordinate) certificate of the Certificate Chain required when registering a user certificate.

      Reference
      If there are more than two Intermediate(Subordinate) certificates, extract the values for each certificate.

      To extract the Intermediate(Subordinate) certificate value, follow these steps.

      1. Run the crt file format certificate file on PC. The certificate window appears.
      2. Click the Certificate Path tab in the Certificate window.
        • If it is in PEM file format, change the file format to crt.
      3. Click the certificate under the Root and click Certificate View.
      4. Click the Details tab and move, then click Copy to file.
      5. When the Certificate Export Wizard runs, click Next.
      6. Select Base 64 encoded X.509(.CER)(S) as the format to use and click Next.
      7. Click Browse to select the path where you want to save the file, and then click Next.
      8. Click Finish. The Certificate Export Wizard is complete.
      9. Open the exported file in TEXT file format and check the value.
        • The extracted certificate value must have —–BEGIN CERTIFICATE—– and —–END CERTIFICATE—- items at the beginning and end.

      Root Certificate Value Extraction

      You can extract the Root certificate of the Certificate Chain required when registering a user certificate.

      To extract the Root certificate value, follow these steps.

      1. Run the crt file format certificate file on PC. The certificate window appears.
      2. Click the Certificate Path tab in the Certificate window.
        • If it is in PEM file format, change the file format to crt.
      3. Click the topmost Root certificate and click Certificate View.
      4. Click the Details tab and move, then click Copy to file.
      5. When the Certificate Export Wizard runs, click Next.
      6. Select Base 64 encoded X.509(.CER)(S) as the format to use and click Next.
      7. Click Browse to select the path where you want to save the file, and then click Next.
      8. Click Finish. The Certificate Export Wizard is complete.
      9. Open the exported file in TEXT file format and check the value.
        • The extracted certificate value must have —–BEGIN CERTIFICATE—– and —–END CERTIFICATE—- items at the beginning and end.

      Input Certificate Chain value

      This explains how to enter the extracted Intermediate (Subordinate) certificate and Root certificate values into the Certificate Chain item when creating a Certificate Manager.

      Reference
      For detailed information on creating a Certificate Manager, please refer to Creating a Certificate Manager.

      To enter the Intermediate (Subordinate) certificate and Root certificate values in the Certificate Chain item, follow these procedures.

      1. Intermediate (Subordinate) certificate file and Root certificate file should be run in text file format.
      2. Intermediate (Subordinate) certificate file values should be copied in their entirety.
      3. Certicafate Manager creation page’s Certificate Chain input area, please paste.
        • Include the certificate value, including —–BEGIN CERTIFICATE—– at the beginning and —–END CERTIFICATE—- at the end, and paste it.
      4. Copy the entire value of the Root certificate file.
      5. Paste it into the Certificate Chain input area of the Certicafate Manager Creation page.
        • Includes the —–BEGIN CERTIFICATE—– and —–END CERTIFICATE—- at the start and end of the certificate value and paste it.
        • Intermediate (Subordinate) certificate’s below line will be pasted with the Root certificate value.

      3.3 - API Reference

      API Reference

      3.4 - CLI Reference

      CLI Reference

      3.5 - Release Note

      Certificate Manager

      2025.07.01
      NEW Certificate Manager Service Official Version Release
      • Released Certificate Manager service that supports SSL/TLS certificate deployment and integrated management.
      • You can register a certificate issued by a certification authority (CA) or create a self-signed certificate for development/test purposes.
      • Samsung Cloud Platform connects to resources and enables encryption of network communication and management of certificate lifecycles.

      4 - Secret Vault

      4.1 - Overview

      Service Overview

      Secret Vault is a service that allows access to Samsung Cloud Platform services and resources with a security-enhanced token-based temporary key without hard-coding security information in plain text format when accessing using Open API, and also manages the lifecycle of the temporary key to maintain a security-enhanced environment when using the API.

      Features

      • Enhanced Security Environment: Instead of entering hard-coded authentication information into the application source code, you can respond to security threats due to authentication information leakage by issuing a token-based temporary key.
      • Life-Cycle based key management: Users do not need to manage the life cycle of the key directly to meet security requirements. It provides automated key management and replacement functions according to the set life cycle.
      • Various resource utilization possible: Through the token issued by Secret Vault, not only resources within Samsung Cloud Platform but also external resources (other CSP, On-Premise, etc.) can be accessed through an enhanced security environment.

      Service Composition Diagram

      Configuration Diagram
      Figure. Secret Vault Configuration Diagram

      Provided Features

      Secret Vault provides the following features.

      • Token Authentication Addition and Encryption Storage: It provides token issuance and temporary key issuance functions using authentication keys, and safely stores authentication key information by encrypting it (AES-256).
      • Key Life-cycle Management: Provides key issuance and automatic replacement functions based on the life cycle, and allows setting the replacement cycle by time unit (up to 36 hours).
      • Access Control Function: The user application can control access to resources based on IP.

      Component

      Secret

      Secret is a form of information that combines Token information and temporary key exchange cycle information, and is an object that can be applied by the user in the console.

      Token

      Token is a unique string used to authenticate the user’s identity and verify authority, and a temporary key can be issued to access the Samsung Cloud Platform through token-based authentication when requesting Open API.

      Constraints

      Secret Vault provides a region-based service. Therefore, when creating a Secret, you cannot select an authentication key being used in a Secret from a different region.

      Preceding Service

      Secret Vault does not require any separate prior service work.

      4.2 - How-to guides

      The user can enter the essential information of the Secret Vault service and create the service by selecting detailed options through the Samsung Cloud Platform Console.

      Secret Vault creation

      You can create and use the Secret Vault service on the Samsung Cloud Platform Console.

      To create a Secret Vault, follow the following procedure.

      1. All services > Security > Secret Vault menu, click. It moves to the Service Home page of Secret Vault.
      2. Service Home page, click the Create Secret Vault button. It moves to the Create Secret Vault page.
      3. Secret Vault Creation page where you enter the information required for service creation and select detailed options.
      • Service Information Input area, please select the required information.
        Classification
        Necessity
        Detailed Description
        Secret namerequiredEnter Secret name
        • Enter 3-63 characters using lowercase English letters and numbers
        TypeRequiredSelect the type of encryption target
        Authentication KeyRequiredSelect the authentication key to use for the Secret Vault service
        • Click the Use button to select from the pre-created authentication keys in the Authentication Key Management menu.
        • In the Authentication Key Management menu, you must select the security authentication method as Private Key Authentication.
        • Expired authentication keys will not be retrieved, and authentication keys with a remaining usage period of less than 30 days or already in use in the Secret Vault product cannot be used. (Only one Secret Vault product can be applied per authentication key.)
        Token usage periodrequiredThe usage period of the Token provided by encrypting the authentication key
        • The Token usage period is automatically set to be the same as the validity period of the input authentication key by default.
        • If the authentication key validity period is set to permanent, the Token usage period can be set up to a maximum of 7300 days (20 years).
        • The Token usage period cannot be changed after the service application is completed.
        • For security enhancement, periodic replacement of the Token is recommended.
        • If the Token usage period expires, it is impossible to issue a temporary key, and a new Token must be issued through a new service application.
        • If the Token usage period expires, it is impossible to extend the period, and the Token can no longer be used. Before the Token usage period expires, a new Token must be issued through a new service application, and the issued Token information must be applied to the source code.
        Access key replacement cycleRequiredSelect the replacement cycle of the access key to be used to access Samsung Cloud Platform resources
        • The access key usage time is applied from the time the service creation is completed.
        • For security enhancement, the access key usage period can only be set up to a maximum of 1.5 days (36 hours).
        • A new access key is issued before the access key usage period expires, and the same usage period is applied.
        Access Allowed IPRequiredEnter the IP to allow access and click the Add button
        • The entered IP must also be set identically in Authentication Key Management > Security Settings > Access Allowed IP to allow access.
        • Even when entering a single IP, you must enter ‘/32’ after the IP.
        • Up to 10 IPs can be registered.
        DescriptionSelectionAdditional Information Input
        Table. Secret Vault service information input items
      • Additional Information Input area, please select the required information.
        Classification
        Mandatory
        Detailed Description
        tagselectionadd tag
        • add tag button to create and add a tag or add an existing tag
        • up to 50 can be added per resource
        • newly added tags are applied after service creation is completed
        Table. Additional Information Input Items for Secret Vault
      1. Summary panel where you can check the detailed information generated and the expected billing amount, and click the Complete button.
      • Once creation is complete, check the created resource on the Secret Vault list page.

      Secret Vault detailed information check

      You can check and modify the entire resource list and detailed information of the Secret Vault service. The Secret Vault details page consists of details, tags, and work history tabs.

      To check the detailed information of the Secret Vault service, please follow the following procedure.

      1. All services > Security > Secret Vault menu, click. It moves to the Service Home page of Secret Vault.
      2. Service Home page, click the Secret Vault menu. It moves to the Secret Vault list page.
      3. Secret Vault list page, click on the resource to check the detailed information. It moves to the Secret Vault details page.
      • Secret Vault details page displays status information and additional feature information, and consists of details, tags, work history tabs.
        ClassificationDetailed Description
        Secret Vault statusthe status of the Secret Vault created by the user
        • Active: in operation
        • To be terminated: after applying for service cancellation, waiting for cancellation
          • The scheduled cancellation time of the service is displayed, and the service cancellation can be canceled.
        • Expired: token expiration status
          • The Secret changed to the Expired status cannot perform any actions such as information inquiry, and is automatically deleted after 7 days.
        Replace Master KeyDelete the master key currently in use and create a new master key
        • Only the creator of the Secret Vault service can replace the master key.
        Service CancellationButton to cancel the service
        Table. Secret Vault Status Information and Additional Functions

      Detailed Information

      Secret Vault List page where you can check the detailed information of the selected resource and modify the information if necessary.

      ClassificationDetailed Description
      ServiceService Name
      Resource TypeResource Type
      SRNUnique resource ID in Samsung Cloud Platform
      Resource NameResource Title
      Resource IDUnique resource ID in the service
      CreatorThe user who created the service
      Creation TimeThe time when the service was created
      EditorUser who modified the service information
      Revision TimeTime when service information was revised
      Secret nameName of the generated Secret
      TypeEncryption Method
      DescriptionAdditional information or description of the Secret Vault service
      Authentication KeyAuthentication key used in Secret Vault service
      Token usage periodThe available period of the Token provided by encrypting the authentication key
      Token Expiration TimeToken Usage Expiration Time
      Token IDToken’s unique ID
      Token SecretToken ID and a pair of generated Token Secret
      Token replacement cycleThe replacement cycle of the token used to access Samsung Cloud Platform resources
      Expiration Date of License KeyExpiration Date of License Key Usage
      Allowed IPList of IPs that are allowed to access
      DescriptionAdditional information or description about Secret Vault
      Table. Secret Vault detailed information tab items

      Tag

      Secret Vault List page where you can check the tag information of the selected resource, and add, change or delete it.

      ClassificationDetailed Description
      Tag ListTag List
      • Tag’s Key, Value information can be checked
      • Up to 50 tags can be added per resource
      • When entering a tag, search and select from the existing list of created Key and Value
      Fig. Secret Vault tag tab items

      Work History

      Secret Vault list page where you can check the work history of the selected resource.

      ClassificationDetailed Description
      Work History ListResource Change History
      • Work details, work time, resource type, resource name, work result, worker information can be checked
      • Click the corresponding resource in the Work History List. The Work History Details popup window opens.
      Fig. Secret Vault work history tab detailed information items

      Secret Vault Cancellation

      You can cancel the corresponding service that is not in use to reduce operating costs. However, if you cancel the service, the operating service may be stopped immediately, so you must consider the impact of stopping the service sufficiently before proceeding with the cancellation work.

      Caution
      After the service is canceled, the data cannot be recovered, so please be careful.

      To cancel the Secret Vault, follow the following procedure.

      1. All services > Security > Secret Vault menu, click. It moves to the Service Home page of Secret Vault.
      2. Service Home page, click the Secret Vault menu. It moves to the Secret Vault list page.
      3. Secret Vault list page, select the resource to be canceled and click the Service Cancellation button. It moves to the Service Cancellation pop-up window.
      4. Service Cancellation popup window, enter the cancellation waiting period (7-30 days) and click the Confirm button. The service will be cancelled after the cancellation waiting period entered by the user.
      Note
      • During the cancellation waiting period, the existing access key is deleted, and an additional access key for accessing Samsung Cloud Platform resources cannot be issued.

      Secret Vault cancellation cancellation

      You can cancel the cancellation of the service that is waiting for cancellation and use it again.

      To cancel the cancellation of Secret Vault, follow the next procedure.

      1. All Services > Security > Secret Vault menu, click. It moves to the Service Home page of Secret Vault.
      2. Service Home page, click the Secret Vault menu. It moves to the Secret Vault list page.
      3. Secret Vault list page, click the resource to cancel the cancellation. It moves to the Secret Vault details page.
      4. Secret Vault details page, click the cancel cancellation button. It moves to the service cancellation cancellation pop-up window.
      5. Service Cancellation Cancel popup window, check the contents, and then click the Confirm button. The status of the resource that canceled the cancellation will be restored to Active.
      Reference
      • If the authentication key used in Secret is deleted, the service cancellation cannot be cancelled.
      • If the authentication key used in Secret is stopped or deleted, you cannot cancel the service cancellation. First, release the suspension of the authentication key.
      • Only the creator of the Secret Vault service can cancel the service cancellation.

      Application Token settings

      Secret Vault service application to obtain the Token information is required for API calls for OpenAPI key issuance request information, Token information for each application environment to fit please set.

      To set the token information, follow the next procedure.

      1. Apply the Token information to the environment variable setting file of the Application.
      2. Set the Token information so that it can be referenced by the API call Logic within the Application.
      • use OpenAPI → GET /v1/temporarykey/{secretvault_id}
      • For more detailed information, please refer to the Open API Guide of Samsung Cloud Platform Console.
      1. Set the Token information so that the API call Logic within the Application can reference it.
      • The IMS kit can remove hard coding from existing source code and use token information to call OpenAPI and issue it for use. For more information, please refer to the Open API Guide in the Samsung Cloud Platform Console.
      Notice
      The following is an example for reference. Set the source code according to the application standard you want to use the Token.

      application.yml or application.properties and other environment variable setting files

      Apply the issued Token information to the environment variable setting file.

      secretvault.secretvault.id= {{ ID }}
      secretvault.tokenId= {{ Token ID }}
      secretvault.tokenSecret= {{ Token Secret }}
      

      Java file

      Apply to the class file for environment variable recognition.

      import org.springframework.beans.factory.annotation.Value;
      import org.springframework.context.annotation.Bean;
      import org.springframework.context.annotation.Configuration;
      
      @Configuration
      public class SecretVaultConfiguration {
          @Value("${secretvault.id}")
          private String id;
      
          @Value("${secretvault.tokenId}")
          private String tokenId;
      
          @Value("${secretvault.tokenSecret}")
          private String tokenSecret;
      
          @Bean
          public OpenApiClient openApiClient() {
      // Create OpenApiClient or another API client and initialize it using the setting values
              return new OpenApiClient(secretVaultName, tokenId, tokenSecret);
          }
      }
      

      4.3 - API Reference

      API Reference

      4.4 - CLI Reference

      CLI Reference

      4.5 - Release Note

      Secret Vault

      2025.07.01
      NEW Official Release of Secret Vault Service
      • A Secret Vault service has been released that can manage token-based temporary key issuance and lifecycle.

      5 - SingleID

      5.1 - Overview

      Service Overview

      SingleID not only allows authorized users to easily access information assets with one-time authentication, but also strengthens account security through policy-based authority management and real-time abnormal authentication detection, and provides account management and access framework through various history management.

      Features

      • Easy and convenient login and app linking: Building an integrated authentication system that can log in from On-Premises to SaaS apps with one ID can improve work productivity. Administrators can automate linking to various global SaaS apps through prepared Pre-Built Connectors, allowing them to easily link various apps without domain knowledge of authentication.
      • Account Management Efficiency and Security Enhancement: It systematically manages the account lifecycle from creation to deletion for various users, including employees, partner companies, corporations, and subsidiaries. Additionally, it grants permissions to authorized users in a timely manner and revokes unnecessary permissions in a timely manner to prevent unauthorized access and strengthen account security.
      • Enhanced Anomaly Detection: Situation-based authentication anomaly detection through user type, login IP, device information, access time, etc. enables the application of security policies according to the situation, preventing account infringement accidents.
      • Cloud Access Management: Unifies the access path of operators/developers accessing the public cloud and executes role-based temporary token-based console/resource access control to further strengthen cloud security in a multi-cloud environment.

      Service Composition Diagram

      Configuration Diagram
      Figure. SingleID Configuration Diagram

      Provided Features

      SingleID provides the following functions.

      • Integrated Authentication and Account Management
      • Supports various authentication linkage protocols (SAML, OIDC, etc.)
      • Provide self-service features for app usage application and approval
      • Salesforce, Workday etc. account synchronization and role (group) synchronization/management within the account
      • Provides membership registration/withdrawal function that can issue accounts to non-employees, such as partners and customers
      • Passwordless and Multi-Factor Authentication
      • PC/Mobile passwordless authentication and multi-factor authentication (MFA)
      • Existing 1st authentication environment linkage to provide 2nd authentication composite authentication (MFA-only service use case)
      • Support for certificate-based authentication through Private CA (Certificate Services Authority), a private certificate issuance/management function (separate Use Case)
        • Authentication method: SMS, email, mOTP, TOTP, PIN, biometric, Knox Messenger, Window Hello, etc.
      • Authentication and Account Information Linking
      • Automation of app connection through Pre-Built Connector
      • DIY integration template for simplified custom app integration
      • Anomaly Detection based on Risk-based Authentication
      • Context-based access control according to the situation of attempting authentication
      • Enhanced security through detailed login and authentication policy settings
      • Public Cloud Access Management for Cloud Operators/Developers
      • Role-based console access control through assigned accounts
      • Request/Approval of Resource Access Permission and OTP-based Credential Method for Resource Access

      Component

      The components of the SingleID service are as follows. Users can use the service through the Samsung Cloud Platform SingleID Console.

      • Access Management
      • Supports various authentication linkage protocols (SAML, OIDC, etc.)
      • Provide integrated login to in-house and out-of-house work systems through a single login
      • Identity Management
      • Manage lifecycle from account creation to disposal
      • Directory integration and synchronization (Active Directory, LDAP, etc.)
      • Multi Factor Authentication
      • PC and mobile simple authentication
      • SMS, email, mOTP, TOTP, PIN, biometric, Knox Messenger, Window Hello, etc. provide various composite authentication methods
      • Anomaly Detection Management
      • Context-based access control according to the situation of attempting authentication
      • Providing adaptive access control through risk analysis
      • Cloud Access Management
      • Cloud security enhancement through singleization of access paths for cloud operators/developers
      • Role-based temporary token method for console/resource access control

      Regional Provision Status

      SingleID can be provided in the following environments.

      RegionAvailability
      Korea West(kr-west1)Provided
      Korean East(kr-east1)Not provided
      South Korea 1 (kr-south1)Not provided
      South Korea, southern region 2(kr-south2)Not provided
      South Korea, southern region 3(kr-south3)Not provided
      Table. SingleID Region-based Service Status

      Preceding Service

      SingleID has no preceding service.

      5.2 - How-to guides

      The user can enter the required information for the SingleID service and select detailed options through the Samsung Cloud Platform Console to create the service.

      Reference

      Check the detailed services provided per item on SingleID and apply for the product. The services provided per item are as follows.

      ServiceDetailed Description
      Access Management (AM)Integrated authentication (AM) is an integrated authentication service that allows users to log in to everything from On-Premises to SaaS apps with a single ID
      • Integrated Authentication (SSO)
      • DIY App Integration
      • Catalog Service
      • Self Service
      • Dashboard
      • Integrated Logout Service
      • Account Creation/Registration
      • Tenant Management
      • Agent Management
      Identity Management (IM)Account management (IM) enables systematic account lifecycle management from creation to termination for various users such as employees, partners, corporations, subsidiaries, etc.
      • Permission management
      • Universal Directory
      • Account lifecycle management
      • Provisioning
      • Policy management
      Multi-Factor Authentication (MFA)Multi-factor authentication (MFA) provides secondary authentication services in various methods when accessing major systems, external systems, mobile, etc.
      • Passwordless authentication
      • Multi-factor authentication
      • MFA for Web apps
      • If MFA is applied alone, only secondary authentication functionality is provided
      Anomaly Detection Management (ADM)Anomaly Detection (ADM) is a service that detects authentication anomalies in login situations such as user type, login IP, device information, and access time
      • Authentication anomaly detection
      • Anomaly detection email notification service
      Cloud Access Management (CAM)Cloud Access Management (CAM) is a privileged account access management solution that strengthens cloud console/resource access control in public/multi-cloud environments
      • Cloud console/resource access control
      Table. SingleID Service Provision Guide by Item

      Create SingleID

      Samsung Cloud Platform Console에서 SingleID 서비스를 생성하여 사용할 수 있습니다.

      1. All Services > Security > SingleID Click the menu. SingleID Service Home Navigate to the page.
      2. Service Home on the page click the Create SingleID button. Navigate to the Create SingleID page.
      3. SingleID Creation On the page, enter the required information in the service information input area, and select the detailed options.
      • Service Configuration Selection area, enter the information for the service and select detailed options.
        Category
        Required or not
        Detailed description
        Service SelectionRequiredSingleID Service Selection
        • Multiple services can be selected and applied
        • MFA When applied alone, simple authentication function is not provided
        • When IM, MFA are selected, AM is automatically selected
        • Selecting ADM automatically selects AM, IM, MFA
        • Selecting CAM automatically selects AM, IM, MFA
        • When AM, IM, MFA or AM, IM, MFA, ADM are selected, a tenant is automatically created in the TAP/UP/MFA portal. If only the MFA item is selected, a tenant is created in the TAP/MFA portal
        Tenant user countRequiredEnter the minimum number of Tenant users according to the selected service
        • Can be entered within the range of 50 - 999,999
        Resource Unit CountSelectEnter the number of Resource Units to register when selecting CAM service
        • Input possible within the range 20 - 99,999
        Integration SupportSelectEnter number of integration support units
        • Can be entered within the range 1 - 9,999
        • AM: 1 unit
        • MFA: 1 unit
        • IM: 2 units
        • When using AM and MFA simultaneously, counted as 1 unit
        Table. SingleID Service Configuration Selection Items
        • Enter Service Information area, enter the information required to create the service.
          Category
          Required or not
          Detailed description
          Tenant nameRequiredEnter Tenant name
          Tenant codeRequiredTenant code input
          Table. SingleID Service Information Input Items
        • Member Selection Select the tenant user who will use the service in the area.
          Category
          Required
          Detailed description
          UserRequiredSelect members from user list
          • You must select at least one user to be able to create the service
          Table. SingleID Service Member Selection Items
        • Additional Information Input area, please enter or select the required information.
          Category
          Required or not
          Detailed description
          TagSelectAdd Tag
          • Up to 50 can be added per resource
          • After clicking the Add Tag button, enter or select Key, Value values
          Table. SingleID additional information input items
      1. Summary Check the detailed information and estimated billing amount generated in the panel, and click the Complete button.
        • When creation is complete, check the created resources on the SingleID List page.

      SingleID Check Detailed Information

      SingleID service can view and edit the full resource list and detailed information. SingleID Detail page consists of Detail Information, Tags, Activity History tabs.

      To view detailed SingleID information, follow the steps below.

      1. All Services > Security > SingleID Click the menu. Service Home page will be displayed.
      2. Click the SingleID menu on the Service Home page. Navigate to the SingleID List page.
      3. SingleID List Click the resource to view detailed information on the page. SingleID Details You will be taken to the page.
      • SingleID Details page displays status information and additional feature information, and consists of Details, Tags, Activity History tabs.
        CategoryDetailed description
        Service StatusService Status Display
        • Creating: Creating tenant
        • Active: Tenant creation completed
        • Terminating: Terminating service
        • Failed: Tenant creation failed
        CAM PortalCloud Access Management portal popup button
        • Displayed only when applying for CAM service
        Admin PortalAdmin portal window popup button
        Service terminationService termination button
        Table. SingleID status information and additional functions

      Detailed Information

      SingleID List page allows you to view detailed information of the selected resource and, if needed, modify the information.

      CategoryDetailed description
      serviceservice name
      Resource TypeResource Type
      SRNUnique resource ID in Samsung Cloud Platform
      Resource NameResource Name
      Resource IDService’s unique resource ID
      CreatorUser who created the service
      Creation timeService creation time
      EditorUser who modified the service
      Modification Date and TimeService Modification Date and Time
      Tenant nameEntered Tenant name
      Tenant codeEntered Tenant code information
      Tenant user countEntered Tenant user count
      • Click the edit icon to edit
      Resource Unit CountEntered Resource Unit Count
      • Only displayed when applying for CAM service
      • Click the edit icon to edit
      Payment statusPayment status and first payment date information
      Requested ServiceDisplay of Requested Service
      Integration SupportAdd Application Click the button to apply for integration support
      Table. SingleID detailed information tab items
      Reference
      If the service status is Failed, you can resolve the issue by checking the error details in the Support Center > Contact Us menu.

      Tag

      SingleID list page allows you to view the tag information of the selected resource, and you can add, modify, or delete it.

      CategoryDetailed description
      Tag ListTag List
      • You can check the Key and Value information of tags
      • Up to 50 tags can be added per resource
      • When entering tags, search and select from the previously created Key and Value list
      Table. SingleID tag tab items

      Work History

      SingleID list page allows you to view the operation history of the selected resource.

      CategoryDetailed description
      Work History ListResource Change History
      • Work details, work date/time, resource type, resource name, work result, and worker information can be checked
      • Click the relevant resource in the Work History List list. The Work History Details popup will open.
      Table. SingleID Work History Tab Information Items

      SingleID Admin Portal Using

      In the Admin Portal, you can configure and manage SSO authentication settings, account synchronization integration, multi-factor authentication, etc.

      To go to SingleID’s Admin Portal, follow the steps below.

      1. All Services > Security > SingleID Click the menu. Service Home page will be displayed.
      2. Click the SingleID menu on the Service Home page. Navigate to the SingleID list page.
      3. On the SingleID List page, click the resource to view detailed information. You will be taken to the SingleID Details page.
      4. Click the Admin Portal button on the SingleID Details page. The SingleID admin portal window appears.
      • For detailed description of the Admin Portal, please refer to Admin Portal.

      SingleID CAM Portal Usage

      In the CAM Portal, you can set and manage console and resource access control and security management of the CSP.

      To go to SingleID’s CAM Portal, follow the steps below.

      1. All Services > Security > SingleID Click the menu. Navigate to the Service Home page.
      2. Service Home page, click the SingleID menu. Go to the SingleID List page.
      3. SingleID List Click the resource to view detailed information on the page. SingleID Details page will be opened. 4.SingleID Details on the page, click the CAM Portal button. The SingleID cloud access management portal window appears.
        • For detailed description of CAM Portal, please refer to CAM Portal.

      SingleID Cancel

      You can reduce operating costs by terminating the unused service.

      To cancel SingleID, follow the steps below.

      1. All Services > Security > SingleID menu, click it. SingleID Dashboard page, navigate.
      2. Click the resource to be terminated on the SingleID List page. It moves to the SingleID Details page.
      3. Service Cancellation Click the button. A termination notice window appears.
      4. In the alert window, enter the Tenant name and click the Confirm button.

      5.2.1 - SingleID Manuals

      SingleID enables only authorized users to easily access information assets with a single authentication, and strengthens account security through policy-based permission management and real-time detection of abnormal authentication behavior, and provides account management and access framework through various history management.

      SingleID Provided Manual List

      SingleID provides various manuals as shown in the table below.

      CategoryDescription
      User Portal- SingleID User Portal is the user interface of the SingleID service, providing various security features such as access to company applications, SSO, and access permission requests.
      - For more details, see User Portal.
      Admin Portal- SingleID Admin Portal provides all configuration and management functions through the Admin Portal for all authentication services and account management services of organizations using the service, as well as the establishment and setting of security policies.
      - For more details, refer to Admin Portal.
      MFA Portal- SingleID can, while maintaining the authentication system used by existing applications, additionally require users to undergo various additional second-factor authentications through system integration to enhance security. Also, SingleID provides the MFA Portal so that users can pre-register and manage their preferred authentication methods during authentication.
      - For more details, refer to MFA Portal.
      CAM Portal- CAM(Cloud Access Management) Portal is a service for cloud console and resource access management that provides users with an easy and convenient way to access cloud consoles and resources. Users can access the portal from a PC located on the internal network using multi-factor authentication (MFA). It issues one-time tokens instead of passwords to enable access to cloud consoles and resources, and allows monitoring of all access, operation history, and abnormal behavior.
      - For more details, see CAM Portal.
      SingleID Authenticator- SingleID Authenticator is a SingleID dedicated authentication tool that can conveniently and securely authenticate website users’ identity verification and multi-factor authentication using a mobile phone.
      - For more details, refer to SingleID Authenticator.
      SingleID Open API Guides- Provides various APIs such as applications, Idp, authentication, etc., for using SingleID.
      - For more details, refer to the Open API Guides.
      Table. SingleID manual list

      Reference
      The features and configurations provided to the user may vary depending on the SingleID product configuration.

      5.2.1.1 - User Portal

      Overview

      SingleID allows only authorized users to easily access information assets with a single authentication, and strengthens account security through policy-based permission management and real-time detection of authentication anomalies, and provides account management and access framework through various history management.

      Provided Features

      • Integrated authentication and account management
        • Support various authentication integration protocols (SAML, OIDC, etc)
        • Provision of self-service function for app usage request and approval
        • Salesforce, Workday account synchronization and role (group) synchronization/management within the account
        • Provide sign-up/withdrawal functionality that can issue accounts to partners, customers, etc., who are not employees.
      • Passwordless and Multi-Factor Authentication
        • PC/Mobile passwordless authentication and multi-factor authentication (MFA)
          • Authentication method : SMS, email, SinlgeID Authenticator(mOTP, TOTP, PIN, biometric), Knox Messenger, Passkey, etc
        • Provide composite authentication for secondary authentication through integration with existing primary authentication environment (MFA-only service use case)
        • private certificate issuance/management function Private CA(Certificate Service Authority) through certificate-based authentication support(separate Use Case)
      • Authentication and Account Information Integration
        • Automation of app integration through Pre-Built Connector
        • Simplified custom app integration through DIY integration templates
      • Risk-based authentication anomaly detection
        • Context-based access control based on the situation of attempting authentication
        • Strengthening security through detailed login and authentication policy settings
      • Public cloud access management for cloud operators/developers
        • Console access control through role-based assigned accounts
        • Resource access permission request/approval and resource access using OTP-based credential verification method
      Notice
      Depending on the company’s SingleID usage plan, the features provided to users may vary.

      Service Configuration Diagram

      Diagram
      Figure. SingleID Diagram
      Reference
      Depending on the SingleID product configuration, the features and configurations provided to the user may differ.

      User Portal what is?

      SingleID User Portal is the user interface of the SingleID service, providing various security features such as access to company applications, SSO, and access permission requests.

      User Portal Screen Layout

      User Portal is composed of the following menus.

      1. My App
      2. App Catalog
      3. Notification
      4. Approval Request

      Manual composition

      This manual is composed of the following contents.

      1. Overview: Explains the concept and manual screen composition with the SingleID overview.
      2. Announcements and Language Settings: Explains how to set the language in the SingleID solution and how to check urgent announcements that can be viewed before logging in.
      3. Login and Authentication: It explains how to register and use various authentication methods for login.
      4. Register authentication tool: Explains the enrollment process where the user registers an authentication tool.
      5. Sign Up: Explains the two methods of sign up.
      6. Find ID: Describes the procedure where the user finds their ID themselves through the Find ID function.
      7. Privacy Policy and Terms of Use: Explains the privacy policy and terms of use that can be found via the link at the bottom of the screen.
      8. PC SSO Agent: Describes the PC SSO Agent, which is a login/logout auxiliary function of SingleID.
      9. My App: Describes the My App menu that can be accessed via SSO.
      10. App Catalog: Describes the App Catalog menu that allows you to view the list of apps that can be requested.
      11. Notification: Describes the Notification menu that can check emergency notices and general notices. 12.Approval Request: Describes the Approval Request menu that can request or approve app usage.
      12. Personal Information Settings: You can set photos, preferred language, and system time zone Personal Information Settings, Authentication Settings, Login History/Environment, Logout etc., describing the personal settings menu.

      5.2.1.1.1 - Notice and Language Settings

      Notice

      You can check the notice notifications posted by the administrator on the user portal login screen and the screen after logging in to the user portal. Notices are divided into general notices and urgent notices.

      • General Notice: General notices posted by administrators, used to deliver information to users. It can be checked in the User Portal > Notification menu.
      • Urgent Notice: Urgent notices posted by the administrator, and can be checked on the User Portal > Login Screen and User Portal > Notification menu.

      Language setting

      To modify the language that appears on the screen, follow these steps.

      1. User Portal Screen > Top Language selection, click on the desired language from Korean or English.
      2. A dropdown list to select between Korean and English appears.
      3. Select your desired language. The screen will be switched according to the selected language.
      Note
      It is provided in the language set in the user’s browser at the initial login. If the language is not Korean or English, it will be set to English.
      Guide
      All SingleID portal sites provide services in Korean and English.

      5.2.1.1.2 - Login using authentication method

      Log in using authentication method

      What is authentication method?

      Authentication method is commonly called Authenticator and refers to an authentication tool.

      SingleID provides the following nine authentication methods for user authentication.

      • Password: Enter password on SingleID login screen
      • Email OTP: Send OTP via email and enter OTP on the SingleID login screen
      • SMS OTP: Send OTP via SMS and enter OTP on the SingleID login screen
      • Knox Messenger OTP: Send OTP via Knox Messenger and enter OTP on the SingleID login screen
      • Knox Identity: Authentication integration with Knox Portal user ID/Password
      • SingleID Authenticator Bio: Install the dedicated SingleID mobile app and link authentication with biometric verification
      • SingleID Authenticator PIN: Install the dedicated SingleID mobile app and link authentication with a PIN.
      • SingleID Authenticator mOTP: Install the SingleID dedicated mobile app and integrate authentication with mOTP (Mobile OTP)
      • SingleID Authenticator TOTP: Install the SingleID dedicated mobile app and integrate authentication with TOTP (Time base OTP)
      • Passkey: Login and authentication using biometrics (fingerprint, facial), Mobile, PIN code without password based on Windows Hello
      Reference
      If you are using the SingleID Authenticator mobile app for the first time, please refer to SingleID Authenticator.

      Enter user ID

      The user attempts to log in by entering their ID on the login screen below.

      To log in using the user ID, follow the steps below.

      1. Login screen > Account ID Enter the ID in the input field, and click the Next button.
      2. Enter the password in the password field, and click the Next button.
      3. Login is completed.

      Passwordless Login

      SingleID provides login service without a password.

      To log in without using a password, follow the steps below.

      1. Login screen > Do you want to log in without a password? Click it.
      2. Select verification method The screen appears. Click one of the desired authentication methods.
      3. Enter the authentication code according to the selected authentication method.
      4. After login is completed, you will be taken to the User Portal main screen.
      Reference
      Authentication methods displayed as Registration Required require registration. Click Registration Required to register immediately, or check Register Authentication Tool.
      Notice
      Passwordless login may not be provided depending on whether it is set in the login policy settings. Please contact the administrator.

      Set Preferred Authentication Method

      SingleID users log in to the User Portal provided by SingleID and set up their preferred primary and secondary authentication methods.

      If the user sets their preferred method, the Select verification method screen is omitted during login and authentication, allowing immediate authentication using primary and secondary methods.

      If you want to set your preferred authentication method, follow the steps below.

      1. Click the User Portal > Personal Profile > Authentication settings.
      2. Authentication Settings screen appears.
      3. Click the ☆ 1st, ☆ 2nd that you want in front of each authentication method.
      4. 1st, 2nd can each be selected only one at a time. Selection is completed when it changes to .

      Once the setup is complete, it will be configured in that manner for the next login, providing convenient login.

      Reference
      Even if a user sets a preferred authentication method for first and second factor authentication, the administrator can restrict it to a specific authentication method through login policy settings.

      Register authentication method

      All authentication methods can be set by the user. Registering an authentication method by the user is called enrollment. When a user account is first created, only email OTP is automatically enrolled using the email information from the user data. Other authentication methods can be directly enrolled by the user as needed.

      There are two ways to register authentication methods (Enrollment).

      • Register from Authentication Settings: User Portal > Profile > Authentication settings, click the + Add New button at the bottom to register.
      • Select verification method screen registration: first authentication at login, second authentication at Select verification method screen, select the authentication method with a gray check mark (V) and register.
      Reference
      For detailed information about authentication method registration (Enrollment), refer to Register Authentication Tool.

      First login

      Password Reset

      If the user logs in for the first time, they can log in after resetting the password.

      If you want to reset your password, follow the steps below.

      1. Login screen > Account ID input field, enter the ID, and click the Next button.
      2. Click reset password under the Next button.

      When logging in for the first time or during a certain period, SingleID requires consent for the collection/use of personal information. According to the consent procedure, select the required, optional items and agree.

      Required items must be selected to log in.

      Password Authentication

      Password is the most basic authentication method as the default authentication tool of SingleID.

      Enter password

      Follow the steps below to log in using your user ID.

      1. Login screen > Account ID input field, enter ID, and click the Next button.
      2. Password input field, enter the password, and click the Next button to log in.
      Reference
      If you click the eye-shaped icon in the password input field, you can view the password you entered.
      Caution

      When the entered password is entered incorrectly If the entered password is entered incorrectly, re-entry is required along with the message ID or password is incorrect. (1/3). The number of retry attempts is limited to the number set by the administrator in the password policy.

      If the password is entered incorrectly consecutively and locked If you entered the password incorrectly and the device is locked, you can unlock it in two ways.

      • Automatic unlock after 1~5 minutes: When automatic unlock is set, the account will be locked for 1~5 minutes. After that time, login is possible.
      • Unlock with password reset: When the administrator sets the password policy to password reset, a password reset is required. Login is possible after password reset. Find ID you can check detailed information there.

      Email OTP Authentication

      Authenticate

      If you want to authenticate with email OTP, an OTP will be sent to the email registered by the user.

      If you want to authenticate with email OTP, follow the steps below.

      1. Click Email in the Identity Verification Selection method.
      2. An OTP code will be sent to the registered email. Enter the OTP within the time set by the administrator (usually 3-5 minutes).
      3. After entering the OTP, click the Confirm button, and the authentication will be completed.
      Reference
      1. Code Resend: If you exceed the input validity time, click the code resend button. The OTP code will be resent via email.
      2. ‘Would you like to authenticate in a different way?’: If the current authentication cannot be used, switch to a different authentication method.
      3. ‘If you have changed your email, please register.’: Depending on the administrator settings, you can register (Enrollment) a different email to authenticate. For registration, you can check the details at Email Authentication Tool Registration.
      Guide

      If you entered the code incorrectly If the user enters the OTP code incorrectly, they can re-enter it as many times as the administrator specifies.

      When locked due to exceeding the user input limit If you enter the OTP code incorrectly more times than the number set by the administrator, the screen will be locked for the duration set by the administrator. After waiting for that time, you can enter again. Refresh and try again after the input restriction period.

      SMS OTP authentication

      Authenticate

      If you want to authenticate with SMS OTP, an SMS OTP will be sent to the mobile registered by the user.

      If you want to authenticate with email OTP, follow the steps below.

      1. Click Email in the Identity Verification Selection method.
      2. The OTP code will be sent to the registered mobile phone. Enter the OTP within the time set by the administrator (usually 3–5 minutes).
      3. After entering, click the Confirm button, and the authentication will be completed.
      Reference
      1. Resend Code: If you exceed the input validity time, click the resend code button. The OTP code will be resent to your mobile phone.
      2. ‘Would you like to authenticate in a different way?’: If the current authentication cannot be used, switch to a different authentication method.
      3. ‘If you have changed your mobile phone, please register.’: Clicking the link will take you to a screen for enrolling with the new mobile. You can check the details for registration at Register SMS authentication tool.
      Notice

      If you entered the code incorrectly If the user enters the OTP code incorrectly, they can re-enter it as many times as the administrator specifies.

      If locked due to exceeding the user input limit If you enter the OTP code incorrectly more times than the number set by the administrator, the screen will be locked for the duration set by the administrator. After waiting for that time, you can enter again. Refresh and try again after the input restriction period.

      Knox Messenger OTP authentication

      Authenticate

      Knox Messaenger OTP if you want to authenticate with OTP, the OTP will be sent to the Knox Messanger you are using.

      To authenticate Knox Messenger OTP, follow the steps below.

      1. In the Identity Verification Selection method, click Knox Messenger.
      2. The OTP code is sent via the Knox Messenger you are using. Enter the OTP within the time set by the administrator (usually 3-5 minutes).
      3. After entering, click the Confirm button, and the authentication will be completed.
      Reference
      1. Resend Code: If you exceed the input validity time, click the resend code button. The OTP code will be resent via Knox Messenger.
      2. ‘Would you like to authenticate in a different way?’: If the current authentication cannot be used, switch to a different authentication method.
      3. ‘Would you like to use a different Knox ID?’: Clicking the link takes you to a screen for enrolling a new Knox ID. For registration, you can see the details at Knox Messenger Authentication Tool Registration.
      Guide

      If you entered the code incorrectly If the user enters the OTP code incorrectly, they can re-enter it as many times as the administrator specifies.

      If locked due to exceeding the user input limit If you enter the OTP code incorrectly more times than the number set by the administrator, the screen will be locked for the duration set by the administrator. After waiting for that time, you can enter again. Refresh and try again after the input restriction period.

      Knox Identity Password Authentication

      Authenticate

      To authenticate with Knox Identity, you need to enter the Knox Identity password you are using.

      If you want to authenticate with Knox Identity, follow the steps below.

      1. In the Select Identity Verification method, click Knox Identity.
      2. Enter the password for your own Knox account.
      3. After entering, click the Confirm button, and the authentication will be completed.
      Reference
      ‘Would you like to authenticate in a different way?’: If the current authentication cannot be used, it changes to a different authentication method.
      Guide

      If the password is entered incorrectly If the user enters the password incorrectly, they can re-enter it as many times as the administrator specifies.

      When locked due to exceeding the user input limit If you enter the password incorrectly more times than the number set by the administrator, the screen will be locked for the amount of time set by the administrator. After waiting for that time, you can enter again. Refresh and try again after the input restriction period.

      SingleID Authenticator Authentication

      SingleID service provides a mobile authentication app called SingleID Authenticator, and offers authentication in various ways.

      Authentication method

      Authentication methodDescription
      SingleID Authenticator BioSend a push via the installed SingleID Authenticator mobile app on the mobile to request biometric authentication.
      SingleID Authenticator PinSend a push using the installed SingleID Authenticator mobile app on the mobile device to request authentication with a PIN code. Not provided
      SingleID Authenticator TOTPSend a push via the installed SingleID Authenticator mobile app on the mobile device to request authentication with TOTP.
      SingleID Authenticator mOTPSend a push via the installed SingleID Authenticator mobile app on the mobile device to request authentication with mOTP.
      Table. SingleID Authenticator authentication method
      Reference
      For SingleID Authenticator installation and configuration method, refer to SingleID Authenticator.

      Passkey authentication

      SingleID service provides simple authentication and multi-factor authentication through a window-based Passkey.

      Authentication Method

      1. Simple authentication: Provides easy login without ID/Password through Sign in with Passkey at the bottom of the login page.
      2. Multi-factor authentication: Provides easy login without needing ID/Password during secondary multi-factor authentication.

      Authentication Types

      • Mobile Passkey: Scan the QR code, and log in using Android and iOS mobile
      • Security key: Log in using the Windows security key
      • PIN: Login using Windows PIN code
      Reference

      Passkey support environment 1.Operating System(laptop or desktop)

      • Windows 11, macOS Ventura, ChromeOS 109 or higher
      • Mobile phone: iOS 16 or Android 9 or higher
      • Hardware security key: hardware security key supporting the FIDO2 protocol
      1. Browse version
      • Chrome 109 or higher
      • Safari 16 or higher
      • Edge 109
      1. Device Settings
      • Bluetooth activation
      • Set password for screen lock
      • PIN code registration
      • Allow fingerprint or facial recognition
      Reference
      Passkey must have Windows Hello set up in advance. For details, see the Reference Link.

      Admin Authentication

      Authenticate

      In the SingleID service, the administrator provides authentication by delegating identity verification on behalf of the user.

      If you want to perform administrator authentication, follow the steps below.

      1. Identity verification selection method, if you cannot perform identity verification at the bottom of the screen, you can request verification from the administrator. Click here. Click.
      2. On the administrator selection screen, select the administrator to delegate and click the Request button.
      3. After clicking the Request button and requesting approval from the selected administrator, the authentication will be completed.
      Guide
      If there is no phrase at the bottom If you cannot verify your identity, you can request verification from the administrator. Click here The administrator has disabled the admin authentication delegation feature by policy. Please contact the administrator.

      5.2.1.1.3 - Register authentication tool

      Register authentication tool

      All authentication tools should be registered and used by the user themselves as a principle.
      Registering an authentication tool by a user is called enrollment.
      When a user is created for the first time, only Email OTP is automatically registered using the email information from the user data.
      The remaining information can be directly registered and used by the user as needed.

      There are three ways to register.

      1. Login screen > ID/Passwrod Enter > Identity verification method Register on the selection screen
        • On the identity verification method selection screen, if you click the authentication tool marked Registration Required (V mark), you can register.
      2. User Portal(after login) > Profile > Authentication Settings > + Add New Click the button to register
      3. Register through the registration message link at the bottom of all authentication screens
        • Below screen is an example of SMS verification screen. At the bottom, you can click the If you have changed your mobile phone, please register. message to register.
        • All authentication code entries can be changed via the message below(Message format: ~ please register.)

      Example of authentication code input screen

      Authentication Screen
      Figure. Authentication Screen

      Register Email Verification Tool

      Email registration consists of the following three steps.

      1. Verification Stage: It is the identity verification stage before registering the email authentication tool.
      2. Registration stage: This is the step of registering a new email and checking whether the number is valid.
      3. Completion Stage: This is the final step to confirm that the registration has been completed successfully.

      Verification Stage

      This is the step of identity verification before using the authentication tool. To view the identity verification process, refer to Login and Authenticate.

      Caution
      In the verification stage, the authentication method to be used can only be performed with the authentication tool configured by the administrator.

      Registration Stage

      It is the step of registering the email address the user wants to register and checking the email address’s validity.

      The user proceeds as follows.

      1. Confirm step, when you complete identity verification, you automatically move to the Register step.
      2. Enter the email address you want to register.
      3. Send verification code button을 클릭하세요.
      4. Check the OTP code sent to the entered email address, and enter the OTP code on the screen.
      5. If the verification code is entered correctly, it moves to the Complete stage.
      Notice
      According to company policy, for security reasons, a new email address that is not a company email address may not be registered.

      Completion Stage

      Registration completion screen will appear, and on the next login you can perform first and second authentication using the email verification tool.

      Register SMS authentication tool

      SMS registration consists of the following three steps.

      1. Verification step: This is the identity verification step before registering the SMS authentication tool.
      2. Registration Stage: This is the stage where you register a new mobile phone number and check whether the number is valid.
      3. Completion Stage: This is the final step to confirm that the registration has been completed successfully.

      Verification Stage

      It is the step of verifying your identity before using the authentication tool. To view the identity verification process, refer to Login and Authentication.

      Confirm stage can only be authenticated using the authentication tool set by the administrator.

      Registration Stage

      It is the step of registering the mobile phone number the user wants to register and checking the validity of the mobile phone number.

      The user proceeds as follows.

      1. Verification stage, if you complete identity verification, you automatically move to the Registration stage.
      2. Select the Country code, and enter the mobile phone number you want to register.
      3. Click the Send verification code button.
      4. Check the OTP code sent to the entered mobile phone number, and enter the OTP code on the screen.
      5. If the verification code is entered correctly, it moves to the complete stage.

      Completion Stage

      Registration complete screen will appear, and on the next login you can perform first and second authentication using the SMS authentication tool.

      Register Knox Messenger authentication tool

      Knox Messenger registration consists of the following three steps.

      1. Verification Stage: This is the verification stage before registering the Knox Messenger authentication tool.
      2. Registration step: Enter the Knox ID to register. This is the step that checks whether the Knox ID to be registered is valid.
      3. Completion Stage: This is the final verification stage confirming that the registration has been completed successfully.

      Verification Stage

      It is the step of identity verification before using the authentication tool. To view the identity verification process, refer to Login and Authentication.

      In the verification stage, the authentication method to be used can only be authenticated using the authentication tool configured by the administrator.

      Registration Stage

      This is the step of registering the mobile phone number the user wants to register and checking the validity of the mobile phone number.

      The user proceeds as follows.

      1. Verification stage, if you complete identity verification, you automatically move to the Registration stage.
      2. Enter the Knox ID to register.
      3. Click the Send verification code button.
      4. Check the OTP code sent to Knox Messenger of the entered Knox ID, and enter the OTP code on the screen.
      5. If the authentication code is entered correctly, it moves to the complete stage.

      Completion Stage

      Registration complete screen appears, and on the next login you can perform first and second authentication using the Knox Messenger authentication tool.

      Register Passkey authentication tool

      SingleID Authenticator is an authentication tool provided to the SingleID service.

      Passkey enrollment consists of the following three steps.

      1. Verification stage: This is the identity verification stage before registering the Passkey authentication tool.
      2. Registration Stage: Passkey registration stage.
      3. Completion Stage: This is the final step to confirm that the registration has been completed successfully.

      Confirmation Stage

      This is the step to verify your identity before registering the authentication tool. To view the identity verification process, refer to Login and Authenticate.

      Notice
      In the verification stage, the authentication method to be used can only be authenticated using the authentication tool configured by the administrator.

      Registration Stage

      This is the step to check the mobile phone or PC environment you want to register a Passkey on.

      Please complete the registration process in the four steps below.

      1. Activation: This is a guide to the Passkey supported environment.
      2. Confirm: Complete identity verification using an authentication method.
      3. Registration: This is the Passkey registration step. Create on this device button click generates and registers a Passkey on the PC. Create on another device button click registers with a mobile phone or hardware security key.
      4. Complete: Registration completed is the step to confirm that it has been completed. Click the Continue button.
      Reference

      Passkey supported environment 1.Operating System(Laptop or Desktop)

      • Windows 11, macOS Ventura, ChromeOS 109 or higher
      • Mobile phone: iOS 16 or Android 9 or higher
      • Hardware security key: hardware security key supporting the FIDO2 protocol
      1. Browse version
      • Chrome 109 or higher
      • Safari 16 or higher
      • Edge 109

      3.Device Settings

      • Bluetooth activation
      • Set password for screen lock
      • PIN code registration
      • Allow fingerprint or facial recognition

      Completion Stage

      After the Passkey registration is completed, the Registration complete screen appears. During the next login, you can perform first and second factor authentication using the Windows Hello authentication tool.

      Reference

      PC Passkey must have Windows Hello set up in advance. For details, see the Reference Link.

      When registering a passkey on mobile, it can be set in an environment where QR code scanning is possible.

      SingleID Authenticator Register authentication tool

      SingleID Authenticator is an authentication tool provided to the SingleID service.

      SingleID Authenticator enrollment consists of the following four steps.

      1. Verification Stage: It is the identity verification stage before registering the SingleID Authenticator authentication tool.
      2. Installation Step: This is the user’s SingleID installation guide step.
      3. Registration Stage: This is the step to register a new mobile app and for service registration.
      4. Completion Stage: This is the final step to confirm that the registration has been completed successfully.

      Verification Stage

      Before using the authentication tool, this is the step of verifying your identity. To view the identity verification process, refer to Login and Authenticate.

      Guide
      In the verification stage, the authentication method to be used can only be authenticated using the authentication tool configured by the administrator.

      Installation Steps

      There are three main ways to install the SingleID mobile app.

      • Recognize QR code on user mobile or search for “SinlgeID” on Google Play (for Android) or App Store (for iOS) to install SingleID Authenticator.
      • How to install by entering your mobile phone number and using the download link via SMS
      • How to install via manual download link Install the SingleID Authenticator app and click the Next button to proceed to the registration step.

      Registration Stage

      After installing the SingleID Authenticator mobile app on the mobile phone you want to register, please run SingleID Authenticator.

      Please perform the registration process in the following three steps.

      1. Service Registration: Click the ‘+’ at the top in the SingleID Authenticator app.
      2. QR or authentication number input: Scan QR code or enter authentication code to register.
      3. Service Registration Complete: Confirm Click the button to complete the registration.

      Completion Stage

      After registration is completed in SingleID Authenticator, the Registration Complete screen appears. At the next login, you can perform first and second factor authentication using the Windows Hello authentication tool.

      5.2.1.1.4 - Sign up

      Sign up

      According to the company’s internal policy, users who are not employees, such as partners, subsidiaries, and customers, can create an account through separate membership registration.

      This is a method of signing up through the sign up link on the login page.

      On the login page, click “Sign up” at the bottom if you don’t have an account, join.

      Agreement

      To sign up, you need to agree to the terms and conditions.

      Information Input

      Follow the procedure below.

      1. Please enter the email you want to register.
      2. After entering the email, click the OTP transmission button, and the OTP code will be sent.
      3. Enter the OTP code from the received email address and click the Confirm button.
      4. If you enter the authentication code correctly, the sign-up button will be activated.
      5. Sign up button을 클릭하세요.

      Information Input

      Enter various personal information required for membership.

      DivisionDescription
      IDEnter the ID to register
      Korean NameEnter Korean Name
      English NameEnter English Name
      Enter phone numberEnter registered country and mobile phone number
      OTP CodeEnter the received OTP code
      DepartmentDepartment Name Input
      Language and Time ZoneUser language and time zone settings
      Table. Personal Information Input Items
      Notice
      The above information input items may vary depending on the company’s membership policy.

      Membership

      After entering personal information and clicking the join button, the approval request will be completed. You can proceed to the next step after approval is completed. Once the administrator has completed the approval, you can log in through password reset.

      Notice
      You may also be able to join without approval according to the membership policy.

      Membership through invitation email

      You can join through an invitation email from the administrator. By clicking the sign up button in the received email, you can sign up for membership.

      The subsequent registration procedure is the same as membership registration through the login page link.

      5.2.1.1.5 - Find ID and Reset Password

      ID Find

      If the user has forgotten their ID, click ID Find on the login screen.

      Find ID using mobile phone number

      The user can find their ID by entering their name and mobile phone number.

      Follow the procedure below.

      1. Mobile tab should be clicked.
      2. Name을 입력하세요.
      3. Last Name을 입력하세요.
      4. Enter the country code and phone number.
      5. Click the Send Authentication Code button.
      6. On the authentication code input screen, enter the received authentication code and click the Confirm button.
      Reference
      If the ID with the corresponding information does not exist, a ‘ID not found’ message appears. To search again, click the Go back to find ID button.

      Password Reset

      Reset Password

      If the user wants to reset their password, click Password Reset at the bottom of the login screen.

      Perform self-authentication

      To set a password, the user must first go through self-authentication. When the password reset button is clicked, a screen for selecting an authentication method according to the policy set by the administrator appears. For more information on authentication, please refer to Logging in and Authenticating.

      Password Reset

      Once the user completes the self-authentication, the user can move to the screen where they can set their new password.
      The password must be set to match the password pattern and complexity set by the administrator as a policy. When the user enters the password, it is displayed in green if it meets the conditions, and in red if it does not. Set the password so that all items turn green.

      Please follow the following procedure to reset your password.

      1. Please enter a new password.
      2. If the newly entered password does not meet any of the complexity and patterns set by the administrator, create a more complex password.
      3. To prevent user input errors, please enter the same password as the one you entered again.
      4. Click the Change Password button.

      When the password setting is complete, clicking the Login with Password button will take you back to the login screen.

      5.2.1.1.6 - Privacy Policy, Terms of Service, Service Desk

      All screens have links to Personal Information Processing Policy and Terms of Use at the bottom left, so users can always check them.

      Personal Information Processing Policy

      A link to the Privacy Policy is provided at the bottom left of every screen, allowing users to view the privacy policy for SingleID services at any time.

      To check the privacy policy, please follow the following procedure.

      1. Click the Privacy Policy at the bottom left of the screen. You can view the latest version of the Privacy Policy.
      2. When you want to check the previous version, you can select the desired version at the top and inquire about it.

      Terms of Service

      There is a link to Terms of Service at the bottom left of every screen, so users can always check the terms of service for SingleID services.

      To check the terms of use, please follow the following procedure.

      1. Click the Terms of Service at the bottom left of the screen. You can view the latest version of the Terms of Service.
      2. When you want to check the previous version, you can select the desired version at the top and inquire about it.

      Service Desk Information

      If the user has any inquiries about SingleID, they can contact us using the Service Desk phone number and the representative email account at the bottom of the screen.

      5.2.1.1.7 - PC SSO Agent

      PC SSO Agent

      SingleID PC SSO Agent provides integrated SSO authentication services in the Window Desktop environment.

      SingleID PC SSO Agent provides the following features.

      • Integration SSO and login/logout between internet browsers
      • PC Device Authentication
      • Check for installation of essential security software feature (SingleID administrator settings)
      Notice
      SingleID PC SSO Agent may not be used depending on the administrator’s settings.(Agentless operation)
      Reference

      PC SSO Agent recommended installation environment

      • Windows Desktop 10 and 11 (x86 and x64 CPU Only)
      • Web Browser: Microsoft Edge 88.x or higher, Chrome 87.x or higher
      • .NET Framework 4.0 or higher
      • Disk Capacity 100MB or more

      Check if PC SSO Agent is installed

      If the administrator has set the policy to use the PC SSO Agent, SingleID automatically checks if the SingleID SSO Agent is installed on the user’s PC as follows:

      1. After the user logs in to SingleID, check if the PC SSO Agent is installed automatically.
      2. If the PC SSO Agent is installed on the user’s PC, it automatically moves to the next screen, and if not, it automatically moves to the installation guide screen.
      3. If the automatic installation guide screen does not appear, click the Next button to install the PC SSO Agent.

      Download PC SSO Agent

      Click the Download button on the PC SSO Agent installation guide screen to download and install the PC SSO Agent program on your PC.

      Installing PC SSO Agent

      If you download and install the SingleID Agent.exe file on your PC, a ‘ID’ tray will be created in the right bottom tray of the PC as follows. If the PC SSO Agent is installed normally and SSO authentication is successful, you can check that it is working normally by right-clicking and clicking Status View.

      Notice
      If the installation does not proceed smoothly, remove the ‘SingleIdAgent’ app from the list of existing installed apps and install again.

      Re-authentication attempt

      After installing the PC SSO Agent, you can log in from the beginning again or click the Re-authentication button at the bottom of the screen below to try re-authentication using the Agent.

      Notice
      SingleID PC SSO Agent integrates logout processing for Chrome and Edge browsers when logging out.

      5.2.1.1.8 - My App

      Recently used apps

      When the user logs in to the User Portal, they can see the My Apps menu first. The left menu bar can be expanded or collapsed by clicking the arrow(→) icon at the bottom left.

      When you click the My App menu, 3 sub-menus that are provided by default and cannot be modified will appear

      • Recently used apps
      • Bookmark
      • basic app

      Among them, clicking Recently Used Apps will display the apps that the user has recently used. Recently used apps can be displayed up to a maximum of 12.

      Bookmark

      In the My App menu, clicking the Bookmark menu displays the apps that the user has bookmarked. You can bookmark frequently used apps to use them conveniently.

      You can add a bookmark by clicking the Bookmark button at the bottom right of the app card, and clicking it again will remove the bookmark. Up to 12 bookmarks are possible.

      Add/Delete Bookmark

      Click the Bookmark button at the bottom right of the app you want to add, and it will be added to the Bookmark. If you click again, the bookmark will be deleted.

      Basic App

      The basic app menu exposes all apps available to the logged-in user. When the user clicks on an app, it is authenticated with SSO and the app runs in a new browser. If a disabled app is clicked, a popup window appears indicating that it is disabled.

      Add category

      The user can click the Add Category button to create a category with the user’s desired category name and manage the app.

      • Click the Add Category button, then enter the category name and click the Check button.
      • After adding a category, the user can click the More button located to the right of the category to move, change, or delete the category.

      If an app is included in a category and the category is deleted, the remaining apps will be moved to the Default App category.

      5.2.1.1.9 - App Catalog

      Using the App Catalog

      When you click the App Catalog menu, by default, the list of apps that are Pending Approval is displayed.

      The app catalog can be checked as a list of apps in three states

      • Not in use: available for request
      • Pending Approval: The request for use has been completed and is waiting for approval
      • In use: The request for use has been approved and is in the state of being used

      If there is no “request” button among unused apps, it is a case where the user cannot request it by themselves due to company policy. Please contact the administrator to use it.

      Requesting App Usage

      To request the use of an unused app, the user must click the Request button, enter the purpose of using the app, and then click the Request button.

      The app usage approval process may vary depending on the administrator’s settings. By default, the list of approvers set by the administrator is displayed, and if there are multiple approvers, it is determined by the result of the first approval or rejection process.

      When the app usage request is completed, you can check the request status in two menus.

      • App Catalog > Pending Approval status can be checked from the status.
      • App Usage Approval > My Request can be checked in detail.

      You can check the details by clicking my request list and app, and in the waiting state for use approval, you can cancel the request through the Cancel Request button.

      5.2.1.1.10 - Notification

      Notification

      If you click the notification menu, you can check the notification list. There are two types of notifications.

      • Urgent: Tenant administrator urgently announces an urgent notification (e.g., system outage) that users can check before login regardless of the user’s login.
      • General: All notifications that are not emergency alerts, which the user can see after logging in, can be checked in the Notifications menu.

      When you click the Notification menu, by default the All status notification is set, so both urgent and regular notifications are displayed. If there are unread notifications, they are displayed as a number next to the notification menu, and because they are marked with a red dot in the list, unread notifications can be easily recognized. If you click this notification, you can view the details.

      NameDescription
      TypeThis is the type of notice. It is divided into urgent and general.
      TitleThis is a notice title.
      Start date and timeThis is the start date and time of the notice posting.
      End Date/TimeThis is the end date and time of the notice posting.
      Table. Notification List

      Approval Request

      When you click the approval request menu, the administrator can view and cancel all users’ approval requests.

      Approval requests consist of the Approval request list and Approval request queue tabs.

      Approval Request List

      There are several types of approval request statuses. You can easily filter and view them using the Approval Request, Approve, Reject, Cancel Submission buttons at the top. If you want detailed search, you can use detailed search in the search bar at the top right.

      • Approval Request: Shows all approval request statuses.
      • Approval: Shows all approved completed statuses.
      • Rejection: Shows approval request items that have been rejected.
      • Submission Cancellation: Shows approval request items where the approval has been cancelled.

      The description of the approval request list items is as follows.

      NameDescription
      Approval SystemIt indicates the approval system according to the approval policy. It is possible to verify which approval system the request was made through.
      Policy > Approval Policy Please refer to.
      TitleThis is a notice title.
      Start date and timeThis is the start date and time of the notice posting.
      End Date/TimeThis is the end date and time of the notice posting.
      Table. Notification List

      5.2.1.1.11 - Approval Request

      Approval Request

      The app usage approval menu provides two functions.

      1. My Request Tab: A list of apps I’ve requested to use is displayed.
      2. Approved List Tab: A list of app usage requests requested by me will be displayed.

      Requesting App Usage

      To request the use of an unused app, the user must click the request button, enter the purpose of using the app, and then click the request button. The app usage approval process may vary from company to company.

      By default, the list of approvers set by the tenant administrator is displayed, and if there are multiple approvers, it is determined by the result of the first approval or rejection process.

      When the app usage request is completed, you can check the request status in two menus.

      • App Catalog > Pending Approval status can be checked from the status.
      • Approval Request > My Request where you can check the details and perform additional tasks.

      My Request

      You can check the details by clicking the app in the My Request list, and when waiting for use approval, you can cancel the request through the Cancel Request button.

      When the use approval is completed, the status item in my request list will be changed to Approved. By clicking approved apps in the list, you can check the details of the approved use.

      Approval List

      1. If you are an app usage approver, please click the Approved List tab.

        • If the user is in a state where approval for using the app is requested, you can see that the status item in the list is indicated as Pending Approval.
      2. To check the details of the requested approval, click on the corresponding list.

      3. After checking the details and leaving the approver’s opinion, clicking the approval button will approve the request so that the requester can use the app.

      4. In the Approved List tab, you can see that the status item has been changed to Approved.

      By clicking on the app in the list, you can also check the details of the history approved by the user as an approver.

      5.2.1.1.12 - Personal Profile

      Set up personal information

      This is a menu for the user’s environment settings.

      To set up your personal information, please follow the following procedure.

      1. Click the personal profile > personal information settings on the top right corner of the screen.
      2. You can check photos, names, emails, phone numbers, languages, and time zones.
      3. Photo: Photo > Photo Click to change and upload the icon image you want to display.
      4. Language: Korean or English, please select your desired language.
      5. Language Time Zone: Please select the time zone where you are currently located. When you click the City Search button, a city search popup window appears. Search for the desired city in English and select it.
      6. Click the Save button at the bottom of the screen to save.
      Reference
      By clicking the withdrawal button at the bottom left of the personal information screen, you can withdraw your current user account. If you withdraw, your account will be deleted, so please only withdraw if you are sure you want to delete it.

      Set up authentication

      You can register the user’s authentication tool and set the preferred authentication tool.

      To set up authentication, please follow the following procedure.

      1. Click the Personal Profile > Authentication setting on the top right corner of the screen.
      2. +Add new button is clicked to add the desired authentication tool.
      3. Delete button to delete the authentication tool you do not want to use.
      4. Click the icon to set your preferred authentication method.
      Reference
      Please refer to ‘How to register/delete authentication tools’(link insertion needed) for the user’s authentication tool registration/deletion method.

      Change password

      In the authentication settings, you can change your password by clicking on the password change and going through the self-confirmation authentication process.

      Check login history

      You can check the user’s login history/environment.

      To view the user’s login history/environment, please follow the following procedure.

      1. Click Personal Profile > Login History/Environment at the top right corner of the screen.
      2. Login History tab allows you to check the information of login time, location, country, city, IP address, OS type, browser type, detection, and result.
      3. Login Environment tab, if there is a registered login environment, you can check the detailed contents, and if it is an environment that is no longer used, you can delete it through the ‘Delete’ button.
      Notice
      Check the national ISO code from the link below. ISO 3166 - Wikipedia, the free encyclopedia please refer to the method.
      Notice
      If you are using the SingleID ADM (Anomaly Detection Management) feature The detection item will be displayed as Normal or Detected. The item is a login history where authentication abnormality was detected.

      Log out

      Click the photo icon located at the top right of the screen and click Logout.

      When you click the Logout button, you will be logged out of all applications you visited through SingleID, and if PC SSO Agent is set up for integrated logout, you will also be logged out of the associated browser.

      5.2.1.2 - Admin Portal

      SingleID provides SSO (Single Sign-On) authentication service and account management (Identity Management) service needed to access various business systems in the company’s on-premise and cloud environments.

      All authentication services and account management services of organizations using SingleID, as well as the establishment and configuration of security policies, are managed through the Admin Portal.

      Users who can access the Admin Portal to configure and manage the system are called administrators, and through the Admin Portal’s management functions, they can integrate the organization’s business systems without restriction and define security policies to access each business system.

      The administrative functions provided by the Admin Portal are as follows.

      FunctionDescription
      Notification ManagementThrough the user portal, you can register posts to announce to the organization’s users and manage posting periods, etc. If there is urgent information related to system usage, you can post the content on the login screen so that even users who are not logged in can see it.
      Application Integration ManagementConnects the organization’s internal business systems or cloud environment business systems. You can configure authentication integration using standard protocols such as SAML, OIDC, or use the SCIM protocol to import information such as accounts and groups into SingleID or export them through SingleID.
      Identity Provider Integration ManagementIf an integrated authentication environment is already set up within the organization, you can register the system as an Identity Provider so that you can use applications linked by SingleID without re-authenticating through SingleID. Authentication integration with all Identity Providers that use standard authentication protocols such as SAML and OIDC is possible.
      Authenticator ManagementYou can add and manage Authenticators to configure user identity verification or multi-factor authentication. If you add a desktop Authenticator such as PC SSO Agent, you can use multi-browser SSO.
      MFA Service Provider Integration ManagementIf you want to increase the security level when accessing business systems while using an already configured in‑organization authentication system, you can link the business system with an MFA Consumer Provider to add only the multi‑factor authentication function to the system. By linking the system with an MFA Consumer Provider, you can configure the authentication environment to perform second‑factor authentication using the Authenticators added to SingleID.
      User ManagementYou can view and edit all users registered in the organization, and you can delete users or directly register new users. You can also change a user’s group membership or assign permissions so that the user can use the application.
      Group ManagementYou can view and edit all groups registered in the organization, delete groups, or register new groups. You can also change the group’s membership rules or assign permissions so that group members can use the application.
      Login Policy ManagementYou can set detailed policies on which authentication methods users can use when logging in with SingleID, and, if necessary, create and manage condition-specific authentication policies for users authenticating in specific environments.
      Authentication Policy ManagementAccording to the organization’s security policy, detailed authentication settings can be configured by dividing them into the following four categories: Session Policy, Authenticator Policy, MFA Service Provider Policy, Password Policy
      Abnormal behavior detection policy managementSingleID collects and analyzes user behavior information before and after authentication in real time to determine whether there is abnormal authentication behavior, and provides a function that immediately notifies the user of risk when identified as belonging to an abnormal authentication category. Tenant administrators can manage detailed settings of policies for abnormal behavior detection and decide whether each policy is enabled.
      Terms and Conditions ManagementUsing the provided templates, register privacy policies, terms of use, and conditions tailored to the organization’s needs, then notify users and obtain their consent.
      SMS SettingsSingleID issues OTP via SMS for identity verification and authentication. In SMS Settings, you can configure and set the SMS sent by SingleID.
      Table. Admin Portal provided features

      If you are using SingleID for the first time, you can set up the basic environment by configuring the functions in the following order.

      The supported range and recommended specifications for the SingleID connection environment are as follows.

      SupportRecommended
      Windows : Windows Desktop 10 and 11 (x86 and x64 CPU Only)
      • Web Browser: Microsoft Edge, Latest public version
      Windows : Windows Desktop 10 and 11 (x86 and x64 CPU Only)
      • Web Browser: Microsoft Edge 88.x or higher, Chrome 87.x or higher
      Android : 8 and later versions
      • Web Browser: Samsung Internet Latest public version
      Android : 8 and later versions
      • Models released in 2018 and beyond among Samsung Galaxy Mobile Products
      • Galaxy S9 ↑
      • Web Browser: Samsung Internet 9.0 ↑
      iOS : 16 ,17
      • Web Browser: Safari , Latest public version
      iOS : 16 ,17
      • iPhone Xs ↑, Models released in 2018 and beyond among Apple iPhone Products
      • Web Browser: Safari 14.1 ↑
      Table. SingleID Connection Environment Support Scope and Recommended Specifications

      5.2.1.2.1 - Dashboard

      Notifications are a feature that can deliver and share important alerts related to the use of SingleID to users.

      Administrators can register and manage notifications through the notification menu. Administrators select the notification type (normal/urgent) based on the notification content and importance, and when they create a notification, users can receive the notification before login (urgent) or after login (normal/urgent).

      The administrator can register and manage notifications to be delivered to users. There are two types of notifications, which are provided as distinguished below.

      TypeDescription
      GeneralYou can create and deliver a general notice to users. Users can view general notifications in the User Portal > Notifications menu.
      UrgentYou can create and deliver urgent notices to users. Users can view urgent alerts in a popup window on the login page.
      Table. Notification Type

      Notification

      List

      To check the notification list, access the menu as follows.

      • Admin Portal > Dashboard > Notifications
      CategoryDescription
      TypeThis is the type of notification.
      • General: If you register a notification as a general announcement, users can view the general notification in the User Portal > Notifications menu.
      • Urgent: If you register a notification as an urgent announcement, users can view the urgent notification via a popup on the login page.
      TitleIt is the title of the notification.
      PeriodIt is the period for announcing the notification.
      RegistrantName of the administrator who registered.
      EditorIt is the name of the administrator who edited.
      Date ModifiedThis is the date of the last modification.
      All buttonBoth regular and urgent notifications can be viewed in the list.
      General buttonOnly general notifications can be viewed in the list.
      Emergency ButtonOnly emergency alerts can be viewed in the list.
      Search term input fieldYou can search the notification list. After entering a search term, click the magnifying glass icon or press Enter to perform the search.
      • Searchable items: Title, Registrant, Modifier
      Detail buttonDetailed search is possible. Search conditions can be combined with AND. After entering multiple fields, click the Search button to search according to the conditions.
      • Click the Reset button to reset all search fields.
      Registration buttonYou can register a new notification.
      Table. List

      Notification Registration

      If you want to register a notification, follow the steps below.

      1. Admin Portal > Dashboard > Notifications Please click the menu.
      2. Register button, when clicked, you will be taken to the notification registration page.
      3. Check the input items as below and select and enter the details in detail.
      4. Click the Save button.
      5. Check the notifications registered in the list.
      CategoryRequired?Description
      TypeRequiredNotification type “General”, “Urgent” select
      PeriodRequiredSpecify notification posting period “Start Date~End Date”
      LanguageRequiredSelect notification language (activates the “Language tab” based on the selected language)
      TitleRequiredNotification Title
      ContentRequiredWrite notification content
      Table. Alarm Registration
      Reference

      If you exceed the maximum number of characters that can be entered, an error message will be displayed.

      All required fields must be entered in all active tabs. Clicking the Cancel button will not save the data and will navigate to the notification list screen.

      Notification Edit

      If you want to edit the notification, follow the steps below.

      1. Admin Portal > Dashboard > Notifications Please click the menu.
      2. Select the notification that needs editing, and click the Edit button at the bottom of the screen.
      3. After editing the field you want to modify, click the Save button.
      4. Check the edited notification in the list.

      Delete Notification

      If you want to delete the notification, follow the steps below.

      1. Admin Portal > Dashboard > Notifications Click the menu.
      2. Select the notification that needs to be deleted, and click the Delete button at the top right of the screen.
      3. The notification delete popup appears.
      4. Confirm If you click the button, the notification will be deleted.

      Approval Request

      When you click the approval request menu, the administrator can view and cancel all users’ approval requests.

      The approval request consists of the Approval Request List and Approval Request Queue tabs.

      Approval Request List

      If you click the approval request list tab, you can view all approval request items.

      There are four types of approval request statuses. You can easily filter and view them using the Approval Request, Approve, Reject, Cancel Submission buttons at the top. If you want a detailed search, you can use detailed search in the search bar at the top right.

      • Approval Request: Shows all approval request statuses.
      • Approval: Shows all completed approval statuses.
      • Rejection: Shows approval request items that have been rejected.
      • Submission Cancellation: Shows approval request items where the approval has been cancelled.

      The description for the approval request list items is as follows.

      NameDescription
      Approval SystemRepresents the approval system according to the approval policy. It is possible to check which approval system was used for the request.
      Policy > Refer to Approval Policy.
      TypeThis is the type of approval request. App Access, Sign Up, Usage Period types are available.
      - App Access: This is the type for an application access request.
      - Sign Up: This is the type for a sign‑up request during registration
      - Usage Period: This is an approval request used when extending the account usage period before it expires.
      TitleIt is the approval request title.
      RequesterIt is the approval requester.
      Recent update dateIt is the update date of the recent approval list.
      Request date/timeThis is the initial approval request date and time.
      StatusIndicates the status of the approval request. It matches the button at the top.
      Table. Approval Request List

      Approval request lookup and cancellation

      When you click the approval request list, the information of the corresponding approval request appears in a popup. Requests that have not yet been approved can be cancelled by the administrator using the Cancel Request button.

      Approval Request Queue

      Click the approval request queue tab to view all ongoing approval requests and delete them by selecting all or selecting individually. Through detailed search, if the requester has resigned or the approver is absent, the administrator can arbitrarily cancel (delete) the approval request.

      Delete approval request

      If you want to delete the approval request, follow the steps below.

      1. check the left selection box of the list (v).
      2. At the top of the list, the Delete button will be activated. Please click the Delete button.
      3. Request Delete Popup appears. Click the Delete button.
      4. The selected approval request in the list has been deleted.

      Sign Up

      When you click the sign-up menu, the list of sign-up requests appears.

      Sign-up Request

      When you click the sign-up request tab, the list of sign-up requests appears.

      The status of approval requests has four types. You can easily filter and view them using the Approval Request, Approval, Rejection, Submission Cancel buttons at the top. If you want detailed search, you can use detailed search in the search bar at the top right.

      • Approval Request: Shows all approval request statuses.
      • Approval: Shows all completed approval statuses.
      • Rejected: Shows approval request items that have been rejected.
      • Submission Cancellation: Shows approval request items where the approval has been cancelled.
      NameDescription
      TypeThis is the type of approval request. General, IdP types are available.
      - General: When applied through sign‑up on the login page or a separate sign‑up page
      - Idp: When sign‑up is requested via an Identity Provider
      Approval SystemIndicates the approval system according to the approval policy. It is possible to verify which approval system the request was made through.
      Policy > Approval Policy Please refer to.
      RequesterIt is the approval requester.
      NameIt is the requester’s name.
      EmailRequester’s email address.
      PhoneIt is the requester’s mobile number.
      StatusIndicates the status of the approval request. It matches the button at the top.
      Registration DateThis is the sign-up registration date.
      Modification DateRecent modification date and time.
      Table. Approval Request List

      Sign-up Email Invitation

      The sign-up email invitation is a method where the administrator sends an invitation email to the desired user via their email address for them to register.

      If you want to send an invitation email, follow the steps below.

      1. Dashboard > Sign Up > Sign Up Email Invitation Click the tab.
      2. Click the Send Invitation Email button at the top right.
      3. Invitation Email Sending Popup appears.
      4. Enter the email address to invite in the email field, and click the Add button.
      5. Select the group that will be automatically assigned when a recipient joins the group item. (If not set, the group will be unspecified)
      6. Click the Invite button at the bottom right of the popup.
      7. An invitation email will be sent to the email address you specified.
      Reference
      Please refer to the Policy > Sign-up Policy menu for detailed sign-up policies.

      5.2.1.2.2 - Integration

      Integration is a service that sets up and manages authentication services and account information for various applications.

      In SCP SingleID, we support integration with new applications through customized authentication linkage and account distribution services, as well as the DIY (Do-It-Yourself) feature.

      Through the integration menu, we provide integration management features such as Application, Identity Provider, Authenticator, MFA Service Provider.

      Application

      The application is a menu that registers and connects various applications to apply the authentication service of SCP SingleID.

      The administrator can register/modify a new application through the application list screen, and can sort, search, and delete registered applications.

      Application List

      The administrator can select a registered application on the application list screen to edit/delete, sort, search, etc., and can navigate to a menu screen where a new application can be registered.

      To check the application list, access the menu as follows.

      • Admin Portal > Integration > Application
      CategoryDescription
      NameThis is the name of the application. It can be entered when creating the application.
      TypeClassified by application integration protocols as SAML, OIDC, SCIM.
      DisplayThis is a displayed item in the User Portal application list.
      • Display: It is shown to users in the User Portal, allowing them to request access permissions.
      • Blank: It is hidden in the User Portal, making it impossible for users to request directly.
      StatusIt is the application status. It is divided into active and inactive.
      • Active: The state where the administrator has completed the settings so that the user can access the application
      • Inactive: The state where the user cannot access the application due to the administrator’s settings
      All buttonDisplays all active and inactive applications in the list.
      Active buttonOnly active applications are displayed in the list.
      Inactive buttonOnly inactive applications are displayed in the list.
      Search term input fieldYou can search the application list. After entering a search term, click the magnifying glass icon or press Enter to perform the search.
      • Searchable items: name, description
      Detail buttonDetailed search is possible. Search conditions can be combined with AND. After entering multiple fields and clicking the ‘Search’ button, the search is performed according to the conditions.
      • Reset button clicking resets all search fields.
      Download buttonSAML metadata download is available. You can download the SAML metadata files for the internal network and the internet network.
      Register buttonYou can register a new application.
      Table. Application List

      Application Registration

      The administrator can register the application by clicking the Register button on the list screen.

      Application registration is possible in two ways: Custom App Integration and Pre-Built App Integration.

      To register an application, access the menu as follows.

      • Admin Portal > Integration > Application > Register Button Click
      • Custom App Integration or Pre-Built App Integration Select tab

      Custom App Integration

      Custom App Integration registration is a connection menu for authenticating the application you want to integrate and distributing accounts.

      We provide three types of connection functions as follows.

      When you want to register an application by linking authentication, you provide and select the type (SAML, OIDC) according to the standard authentication linkage method.

      When registering an application by linking account distribution, we provide the standard online API method (SCIM).

      Reference

      The integration features provided by SingleID can be classified as follows, and the information input and configuration steps differ depending on the required integration scope. When setting up the standard authentication integration methods SAML and OIDC, if account provisioning is not selected, the attribute integration step is omitted, shortening the registration process.

      Standard ProtocolAuthentication linkage, account deployment linkageAuthentication linkageAccount deployment linkage
      SAML-
      OIDC-
      SCIM--
      Table. Standard Protocol

      To register the application Custom App Integration, follow the steps below.

      1. Admin Portal > Integration > Application > Register Click button
      2. Custom App Integration > Web Application(SAML) orWeb Application(OIDC) or Identity Provisioning(SCIM v2.0) select > Next click the button
      3. Go to detailed settings

      Through a screen consisting of six steps as follows, you can enter and configure the information required for integration and register the application.

      Applications using standard protocols (SAML, OIDC, SCIM) can register information and set policies and attributes through a screen consisting of the following six steps.

      1. General
      2. SSO
      3. Provisioning
      4. Profile
      5. Policy
      6. Assignment

      General

      Enter the general application information by referring to the below.

      CategoryDescriptionRequired?
      NameEnter the application name.Required
      DescriptionEnter description of the application.Select
      Logo ImageRegister logo. (File upload or URL link)Select
      Screen displayDisplayed to the user on the User Portal.Select
      Access URLEnter the application access URL.Required
      Auto LogoutSet auto logout according to session policy.Select
      Automatic RedirectionSet to automatically move to the Service Provider after logout.Select
      Logout URLEnter the URL address to navigate to after logout (if not entered, use Access URL)Optional
      Table. General Application Information
      Reference
      Delete Application If you want to delete, select the checkbox ([V]) and then click the Delete button at the top of the list.

      SSO

      On the SSO information input screen, enter Single Sign On configuration information.

      CategoryDescriptionRequired
      IssuerEnter the unique identifier value of SP.Required
      Single Sign-On URLEnter Full URL for login.Required
      Logout URLEnter SLO Return URL.Optional
      Logout MethodProvides Back-Channel Logout, Front-Channel Logout (HTTP Redirect Binding), Front-Channel Logout (HTTP POST Binding).Required
      Response SigningSAML Response signing setting.Select
      Validation On-RequestSetting whether to use Signature Validation.Select
      EncryptionEncryption application setting.Select
      Application CertificateCertificate registration (PEM format)Required
      Attribute to map during SSOSelect SSO connection attribute information and set a unique value.Required
      ‘Metadata File Import’ buttonProvides SAML metadata file upload functionality. (Identifies ID provider endpoint and certificate)Select
      Table. SSO Information
      Reference

      Single Sign-On Settings

      • If you select either Validation On Request or Encryption, you must register a certificate. (Register the certificate value exported as Plain Text)
      • Attribute to map during SSO Information can be added by clicking to select attribute information provided by SingleID. Among the selected attributes, a unique value for user identification must be selected as mandatory.
      • To deliver SingleID’s Attribute information to the connected target application, you can align the SingleID attribute name to the attribute name that will be mapped in the application and deliver it. This communication information exchanged during authentication is called claim (Claim) information, and the received information is used by the SP to set permissions or as attribute information for operation and management.

      Provisioning

      The Provisioning menu is an account management function that can distribute user information to applications for synchronization. In SingleID, we provide methods based on global standard API specifications such as SCIM and REST.

      On the Provisioning information input screen, enter the configuration information for account information distribution.

      CategoryDescriptionRequired?
      Provisioning ConfigurationIf you want to use account information synchronization, please click the On button. If you select Off, you can skip account synchronization.Required
      Base AddressEnter the Base Address (URL) that defines the Endpoint of the target system supporting the SCIM API.Required
      AcceptEnter the Accept (e.g., application/json) information, which is the HTTP Accept Header value used in SCIM REQUEST.Required
      Content TypeEnter the Content Type (e.g., application/json), which is the HTTP Content Type header value used in SCIM REQUEST.Required
      User NameRegisters the User Name used for authentication to the target REST service.Required
      PasswordSet the password used for authentication to the target REST service.Required
      Bearer TokenRegister the Bearer Token used when calling the API (for authorization).Optional
      Client IDRegister the Client ID. The Client ID is an ID issued by the authentication server to a registered client, and because the Client ID itself is information disclosed to the resource owner, it should not be used alone for client authentication.Optional
      Client SecretRegister the Client Secret information. Client Secret is a secret information generated by the authentication server, a unique value known only to the authentication server.Optional
      Access Token Node IDRegister Access Token Node ID. Access Token Node ID is the Field ID of a JSON Object Node, returned from the target Access Token REST service, and includes the Token value. Access Token is used for the purpose of authorizing access to resources. It is important that the resource server only accepts Access Tokens from the Client.Optional
      Access Token Base AddressRegister the Access Token Base Address (URL) required to receive an Access Token as the Base Address of the target REST service.Optional
      Access Token Content TypeRegisters the Access Token Content Type (e.g., application/x-www-form-urlencoded), which is the HTTP Content-Type header value of the target Access Token REST service.Required
      ProvisioningSelect one of user or group as the default target for provisioning, and if necessary, you can select both user and group.Select
      Inbound Provisioning ScheduleClick On to register periodically (hour, day, month, year) through Intbound Provisioning ScheduleSelect
      Outbound Provisioning ScheduleClick On to register the Outbound Provisioning Schedule. Click Off to deploy in real time.Select
      Table. Provisioning information input
      Reference
      If you select Provisioning Configuration to “Off”, the Provisioning stage and profile stage are omitted, and the application registration is set to use only the authentication service, completing the process.

      Profile

      Enter the setting information for user/group for deployment on the profile information input screen.

      CategoryDescriptionRequired
      Profile nameEnter the profile name.Required
      DescriptionRegister a description for the profile.Optional
      AttributeClick Add to select and enter attribute information.Select
      Table. Profile Information Input
      Notice

      Profile Mapping

      • Provisioning target selection tab menu, click User, Group to add properties.
      • Click Profile Mapping to match and connect the required information in the target application based on the SCIM schema information.
      • Provides a feature that allows you to configure the creation of an execution script that can perform real-time conversion when running provisioning (a conversion script based on the JEXL standard script). However, there is no validation check function as it receives and executes as entered.

      After entering all items and clicking the Complete button, the basic application settings are completed. When you complete registering a new application, it will be added to the application list and new tabs called Policy, Assignment will be created.

      Policy

      You can set login policy and access control information for application policy configuration.

      CategoryDescriptionRequired?
      Login PolicySet the login policy applied when logging into the application. To set it, please assign the application in the Login Policy to be configured.Select
      Access ControlThis is a setting that allows the user to control access to the app. When enabled, you can set whether to request access permission for the application and whether it is approved.Select
      Table. Policy Settings

      Allocation

      Register information for assigning application users based on users and groups. This menu assigns access permissions by setting the users and groups that can access the registered application.

      If you want to assign a user, follow the steps below.

      1. If you click the application, you will be taken to the detailed page of that application.
      2. Click the Assign tab and User tab > Assign button
      3. User Assignment When the popup appears, select the user you want to assign, and click the Assign button.
      4. Assignment tab shows the selected user in the list.
      Caution

      Similarly, you can assign a predefined group via the Group tab’s Assign button. Assign the group using the same method.

      Group Settings

      • When setting groups that can access the application, configure it to include information that defines specific groups for distinction.
      • You must define rules and groups in advance so that you can manage access permissions with member rules that can distinguish groups.
      Reference

      Application status

      • Activation (Active): Exposes the application in the User Portal, and by configuring Sign-On services, provisioning, policies, etc., it is a state where users can access and use the application.

      • Inactive: It does not expose the application on the User Portal, and it is a state where the application can be deleted.

      • Delete: When deleting a registered application, caution is required. Therefore, a popup is displayed to allow you to verify the application information and status once more.

      Pre-Built App Integration

      Pre-Built App Integration menu provides a convenient way to quickly and easily connect the SaaS application you want to use, by pre-preparing necessary settings such as connection information, name, icon, so you can use it conveniently.

      To integrate the application via Pre-Built App Integration, check the menu path below.

      • Admin Portal > Integration > Application > Register > Pre-Built App Integration Click tab
      • Application select > Next button click
      • Go to detailed settings

      Pre-Built App Integration menu, like the Custom App Integration menu, can register an application by entering and configuring the necessary integration information through a screen consisting of six steps as follows.

      The input items and methods for each step are the same, except for the information that has been predefined and entered for Pre-Built.

      1. General
      2. SSO
      3. Provisioning
      4. Profile
      5. Policy
      6. Assignment

      General

      Enter the general application information by referring to the below.

      CategoryDescriptionRequired?
      NameEnter the name of the application.Required
      DescriptionEnter a description of the application (e.g., tasks, usage, etc.).Optional
      Logo ImageRegister a logo that can intuitively identify the application. There are file upload and URL link methods.Optional
      Screen displayWhen selected, it is shown to the user in the User Portal.Select
      Access URLEnter the application’s Access URL. For the application to access, enter the login page.Required
      Auto logoutWhen selected, it will be automatically logged out without re-confirmation according to the session policy.Select
      Automatic RedirectionWhen selected, it moves to the Service Provider without displaying the logout completion page.Select
      Logout URLEnter the URL address to navigate to when the user logs out. If left blank, it will be set to the Access URL address.Optional
      Table. General

      SSO

      Enter Single Sign On setting information on the SSO information input screen.

      CategoryDescriptionRequired
      IssuerEnter the Issuer, which is the unique identifier of the SP (Service Provider) and the value verified by the Response Issuer.Required
      Single Sign-On URLEnter the Single Sign-On URL, which is the full URL required when logging into the system.Required
      Logout URLEnter the Logout URL, which is the URL value for SLO (Single Logout) Return.Optional
      Logout MethodThe logout methods for SLO (Single Logout) Return are provided in three ways as follows.
      • Back-Channel Logout: The user logs out safely from the application without interaction.
      • Front-Channel Logout (HTTP Redirect Binding): The user interacts to safely log out from the application using a browser-based logout (HTTP Redirect Binding) method.
      • Front-Channel Logout (HTTP POST Binding): The user interacts to safely log out from the application using a browser-based logout (HTTP POST Binding) method.
      Required
      Response SigningIf you want to sign the returned SAML Response after the authentication process, use Response Signing.Select
      Validation On-RequestCheck to use Signature Validation.Select
      EncryptionSelect whether to apply Encryption.Select
      Application CertificateIf you select one of Validation On Request or Encryption, you must register a “certificate”. Please enter a valid value according to the PEM (Privacy-Enhanced Mail) format.Required
      Attribute to map during SSOSelect the attribute information required for SSO connection and set a unique value for user identification. ※ The ‘Next’ button is activated only after selecting a Subject Attribute.Required
      ‘Metadata file import’ buttonThe SAML metadata file contains information about various SAML identity providers that can be used for SAML 2.0 protocol message exchanges. This metadata identifies the IdP endpoints and certificates to secure SAML 2.0 message exchanges. When you click ‘Import metadata file’, you can upload a file.Select
      Table. SSO Information
      Guide

      Single Sign-On Settings

      • If you select either Validation On Request or Encryption, you must register the certificate. (Register the certificate value exported as Plain Text)
      • Attribute to map during SSO Information can be added by clicking and selecting attribute information provided by SingleID. Among the selected attributes, a unique value for user identification must be selected as mandatory.
      • To deliver SingleID attribute information to the connected target application, you can align the SingleID attribute name to the attribute name that will be mapped in the application and deliver it. This information communicated during authentication is called claim (Claim) information, and the SP uses the received information to set permissions or as attribute information for operation and management.

      Provisioning

      The Provisioning menu is an account management function that can distribute user information to applications for synchronization. In SingleID, we provide methods based on global standard API specifications such as SCIM and REST.

      Enter the configuration information for account information distribution on the Provisioning information input screen.

      CategoryDescriptionRequired
      Provisioning ConfigurationClick the ‘On’ button to enable account information synchronization. Selecting ‘Off’ will allow you to SKIP account synchronization.Required
      Base AddressEnter the Base Address (URL) that defines the Endpoint of the target system supporting the SCIM API.Required
      AcceptEnter the Accept (e.g., application/json) information, which is the HTTP Accept Header value used in SCIM REQUEST.Required
      Content TypeEnter the Content Type (e.g., application/json), which is the HTTP Content Type header value used in SCIM REQUEST.Required
      User NameRegisters the User Name used for authentication to the target REST service.Required
      PasswordSet the password used for authentication to the target REST service.Required
      Bearer TokenRegister the Bearer Token used when calling the API (for authorization).Optional
      Client IDRegister the Client ID. The Client ID is an ID issued by the authentication server to a registered client, and because the Client ID itself is information disclosed to the resource owner, it should not be used alone for client authentication.Optional
      Client SecretRegister Client Secret information. Client Secret is a secret generated by the authentication server, a unique value known only to the authentication server.Optional
      Access Token Node IDRegister the Access Token Node ID. The Access Token Node ID is the Field ID of a JSON Object Node, which is returned from the target Access Token REST service and includes the token value. The Access Token is used for the purpose of authorizing access to resources. It is important that the resource server accepts only the Access Token from the client.선택
      Access Token Base AddressRegister the Access Token Base Address (URL) required to obtain an Access Token as the Base Address of the target REST service.Optional
      Access Token Content TypeRegisters the Access Token Content Type (e.g., application/x-www-form-urlencoded), which is the HTTP Content-Type header value of the target Access Token REST service.Required
      ProvisioningSelect one of user or group as the default target for provisioning, and if needed you can select both user and group.Select
      Inbound Provisioning ScheduleClick On to register periodically (hour, date, month, year) through Intbound Provisioning Schedule.Select
      Outbound Provisioning ScheduleClick On to register the Outbound Provisioning Schedule. Click Off to deploy in real time.Select
      Table. Provisioning information
      Note
      If you select Provisioning Configuration as “Off”, the Provisioning stage and profile stage are omitted, and the application registration is set to use only the authentication service and is completed.

      Profile

      Enter the user/group configuration information for deployment on the profile information input screen.

      CategoryDescriptionRequired?
      Profile nameEnter the profile name.Required
      DescriptionRegister a description for the profile.Required
      AttributeClick Add to select and enter attribute information.Required
      Table. Profile
      Notice

      Profile Mapping

      • In the tab menu where the Provisioning target is selected, click User, Group to add properties.
      • Click Profile Mapping to match and connect the required information in the target application based on the SCIM schema information.
      • Provides the ability to configure an execution script (written as a conversion script based on the JEXL standard script) that can perform real-time conversion when executing provisioning.

      However, there is no validation check function as it receives and executes as entered.

      After entering all items and clicking the Complete button, the basic application settings are completed. When you complete registering a new application, it is added to the application list and new tabs called Policy, Assignment are created.

      Policy

      You can set login policies and access control information for application policy settings.

      CategoryDescriptionRequired
      Login PolicySet the login policy applied when logging into the application. To set it, please assign the application in the ‘Login Policy’ to be configured.Select
      Access ControlThis is a setting that allows the user to control access to the app. When enabled, you can set whether to allow access requests to the application and whether they are approved.Select
      Table. Policy

      Assignment Settings

      Register information for assigning application users based on User and Group. This menu assigns access permissions by setting users and groups that can access the registered application.

      To assign a user, follow the steps below.

      1. When you click the application, you will be taken to the detailed page of that application.
      2. Click the Assign tab and the User tab > Assign button.
      3. User Assignment When the popup appears, select the user you want to assign, and click the Assign button.
      4. Assignment tab shows the selected user in the list.
      Caution

      Similarly, you can assign a predefined group via the Assign button in the group tab. Assign groups using the same method.

      Group Settings

      When setting the groups that can access the application, configure it to include information that defines specific groups for distinction. You must define rules and groups in advance so that you can manage access permissions with member rules that can distinguish groups.

      Note

      Application status

      • Activation (Active): Exposes the application on the User Portal, and by setting Sign-On services, provisioning, policies, etc., it is a state where users can access and use the application.
      • Inactive: Does not expose the application in the User Portal, and is a state where the application can be deleted.
      • Delete: When deleting a registered application, caution is required. Therefore, a popup is displayed so that the application information and status can be checked once more.

      Application Modification

      You can modify the settings by clicking the application on the list screen.

      If you want to modify the application, follow the steps below.

      1. Admin Portal > Integration > Select Application > Edit Click the button.
      2. Click the General, SSO, Provisioning, Policy, Assignment, Permission Items, Rebranding tab to edit the items.
      3. Save button을 클릭하세요.
      Notice
      If you want to deactivate the application, select the application and click the Deactivate button.

      Permission Items

      The permissions tab provides synchronization integration with the application’s permissions.

      If you want to set permissions, follow the steps below.

      1. If you click the application, you will be taken to the detailed page of that application.
      2. Click the Assignment tab and the Permission Items tab > click the Register button.
      3. Permission item When the popup window appears, it is necessary to register the permission item.
      4. Enter Permission, key, display name, content and click Save to register the permission.

      Rebranding

      When registering in the application, an additional rebranding tab that does not appear is created. The application’s rebranding includes rebranding functionality for the login page when accessing a separate application.

      The included rebranding features are as follows.

      • Favicon : The favicon can be edited in the browser.
      • Header logo: The header logo on the login screen can be changed to the logo you want.
      • Key visual image: The key image set by default on the login page can be modified.
      • Sign-up page redirection: Registration can be done on a separate operating sign-up page instead of SingleID’s sign-up page.
      • Privacy Policy Redirection: You can register the privacy policy URL used in the existing application.
      • Terms of Service redirection: You can register the Terms of Service URL used in the existing application.
      Reference

      Rebranding Tab Activation Conditions

      The rebranding tab appears in SAML and OIDC target applications.

      UI

      By clicking the application on the list screen, and clicking the edit button on the rebranding tab, you can configure application-specific UI rebranding.

      Guide
      Clicking the temporary save at the bottom right allows you to save the settings midway.
      Favicon Change

      Favicon changes in the application can be set according to the characteristics of the corporate application.

      If you want to edit the favicon, follow the steps below.

      1. Admin Portal > Integration > Select Application > UI > Edit Click the button.
      2. Favicon select custom in the Favicon item.
      3. Favicon image (pencil shape) Click the item, then click the favicon image.
      4. Upload an icon file or enter the icon image URL.
      5. Save button, click it and verify through the preview screen that the upload was successful. 6.Korean page Enter the title in Korean.
      6. English page Enter in English in the title.
      7. If the input is completed, check through the right preview whether it was entered correctly.
      8. Click the Publish button at the lower right corner.
      Notice
      The recommended size for the favicon image is 256 x 256 px, only ICO files are allowed, and please upload files under 2MB. Favicon images are applied only on PC screens.
      Header Logo Change

      In the application, separate header logo changes can be configured to suit the characteristics of the corporate application.

      If you want to edit the header logo, follow the steps below.

      1. Admin Portal > Integration > Select Application > UI > Edit Click the button.
      2. Header Logo Select custom in the item.
      3. Text logo and image logo can be selected and set.
      4. Enter the Korean Redirect URL and the English Redirect URL.
      5. If the input is completed, check through the right preview whether it was entered correctly.
      6. Click the Publish button at the lower right corner.
      Notice
      The recommended size for the header logo image is 288 x 72 px. Only PNG, JPG, JPEG files are allowed, and please upload files under 1MB. It is possible to set logo images separately for each language.
      Key Visual Change

      In the application, separate key visual changes can be configured to suit the characteristics of the corporate application.

      If you want to edit the key visual, follow the steps below.

      1. Admin Portal > Integration > Application Selection > UI > Edit button, click it.
      2. Key Visual Select Custom in the item.
      3. Click to use a single key visual for all languages and language-specific key visuals.
      4. If the image upload is complete, check through the right preview to see if it was entered correctly.
      5. Click the Publish button at the lower right.
      Guide
      The recommended size for the key visual image is 600 x 612 px. Only PNG, JPG, JPEG files are allowed, and please upload files under 1MB.

      Redirect

      By clicking the application on the list screen, then clicking the edit button in the Rebranding tab, you can configure application-specific rebranding for redirection.

      Guide
      You can save the settings midway by clicking the temporary save at the lower right.
      CategoryDescription
      Sign UpEnter the URL if you want to set a separate sign-up page.
      Privacy PolicyEnter a separate privacy policy URL in the application.
      Terms of ServiceEnter a separate Terms of Service URL in the I application.
      Table. Redirection
      Notice
      The default selection outputs the SingleID basic registration page, conditions, and terms.

      Application Deletion

      From the application list screen, select the application, deactivate it, then return to the list screen and you can delete it from the three‑dot menu. To register again, click the Add button to register.

      Identity Provider

      This is a menu for registering and managing IdPs that provide authentication services and credentials to SCP SingleID. At this time, SCP SingleID acts as a Service Provider and receives authentication services from the IdP.

      Identity Provider List

      On the list screen, you can select a registered Identity Provider to edit/delete, sort, search, etc., and you can navigate to a menu screen where you can register a new Identity Provider.

      To view the Identity Provider list, you can access the following menu.

      • Admin Portal > Integration > Identity Provider
      CategoryDescription
      NameIdentity Provider name.
      TypeDisplays the standard protocol registered by the Identity Provider. The Identity Provider type is distinguished by SAML2.0 and OIDC methods.
      StatusDisplays the status of the Identity Provider. It is distinguished as active and inactive.
      Active buttonOnly active Identity Providers are displayed in the list.
      Inactive buttonOnly inactive Identity Providers are displayed in the list.
      Search term input fieldYou can search the Identity Provider list. After entering a search term, click the magnifying glass icon or press Enter to perform the search. Searchable items: name, description
      Detail buttonYou can perform a detailed search. Search conditions can be combined with AND. After entering multiple fields, click the Search button, and the search will be performed according to the conditions. Click the Reset button to reset all search fields.
      Download buttonSAML metadata download is available. You can download the SAML metadata files for the internal network and the internet network.
      Register buttonYou can register a new application.
      Table. Identity Provider List
      Reference
      Identity Provider Delete If you want to delete, select the checkbox (V) and then click the Delete button at the top of the list.

      Identity Provider Registration

      You can register by clicking Register at the top of the Identity Provider list screen.

      To register Identity Provider, follow the steps below.

      1. Admin Portal > Integration > Identity Provider > Register Click button
      2. Custom App Integration > Web Application(SAML) or Web Application(OIDC) select > next click the button
      3. Go to detailed settings

      Identity Provider can be registered by entering and setting the information required for integration through a three-step screen as follows.

      General

      Enter general information for IdP (Identity Provider).

      CategoryDescriptionRequired
      NameEnter the name of the Identity Provider. Since it is identified by name, rules for distinction and management are required.Required
      DescriptionEnter a description of the Identity Provider (business, usage, etc.).Optional
      Logo ImageRegister a logo that can intuitively identify the Identity Provider.Optional
      Login buttonDisplays IdP as a button/link (Text) etc.
      • Logo icon display: Choose whether to display the logo icon on the login button.
      • Button text: Enter the text to display on the login button.
      Required
      Table. Identity Provider General

      SSO

      Enter Single Sign On configuration information on the SSO information input screen.

      When integrating with Web Application (OIDC)

      CategoryDescriptionRequired
      Client IDRegister the Client ID. The Client ID is an ID issued by the authentication server to a registered Client, and because the Client ID itself is information disclosed to the resource owner, it should not be used alone for Client authentication.Required
      Client SecretRegister the Client Secret information. The Client Secret is a secret piece of information used for authentication to the target REST service, a unique value known only to the authentication server.Required
      Authorization Endpoint URLThe Authorization Endpoint must obtain authorization from the Resource Owner. Enter the Authorization Endpoint URL, which is the URL value used at this time.Required
      Token Endpoint URLToken Endpoint is used by the client and obtains an Access Token via an Authorization Grant or Refresh Token. Enter the Token Endpoint URL, which is the URL value used at this time.Required
      Logout URLEnter the Logout URL, which is the URL value for Return in SLO (Single Logout).Optional
      Userinfo Endpoint URLProvided by the IdP (Identity Provider) and enter the Userinfo Endpoint URL that includes the user profile (username, name, etc.).Optional
      IdP Sign-In KeySet the IdP Sign-In Key value and select the SingleID mapping attribute for the IdP Sign-In Key.Required
      Table. Web Application(OIDC) SSO
      Guide

      IdP Sign-In Key Settings There are two ways to handle login in SCP SingleID by receiving the key value that passes the ID.

      • How to receive identifier ID value using standard SAML Keyword
      • How to create and receive a custom identifier ID

      You can map the name obtained by one of the above methods to the User ID, or you can also map it to the CN value. This is a feature that sets how to map authentication information to a value for handling login.

      JIT provisioning

      Identity Provider’s JIT provisioning feature tab has been added. This feature synchronizes accounts in real time when user changes occur. You can set items when synchronizing accounts in real time.

      CategoryDescriptionRequired
      JIT provisioningJIT provisioning stands for Just-In Provisioning and is an ID and access management feature used to quickly create user accounts when a user logs into the system for the first time.
      • The feature can be set to On or OFF.
      Required
      When there is no SingleID user mapped to the IdP userManage actions when the user accesses for the first time.
      • Go to the sign‑up page: create a new account. To prevent ID duplication, set a separate ID suffix for the logged‑in ID.
      • Automatically create a new SingleID user without user invitation: automatically generate an ID.
      • Go to the user registration website: if a separate user sign‑up page exists, navigate to that separate registration page.
      Required
      If there is a SingleID user mapped to the IdP userIf the user exists, update the user information.Required
      Table. JIT provisioning

      After entering all items and clicking the Complete button, the basic application settings are completed.

      Identity Provider Edit

      If you click the Identity Provider in the list screen, you can modify the settings.

      If you want to modify the Identity Provider, follow the steps below.

      1. Admin Portal > Integration > Identity Provider Select > Edit Click the button.
      2. Click the General, SSO, Provisioning, Policy, Assignment tab to edit the items you want to modify.
      3. Save button을 클릭하세요.
      Notice
      If you want to deactivate the application, select the application and click the Deactivate button.

      Identity Provider Delete

      On the Identity Provider list screen, after selecting an Identity Provider and disabling it, you can return to the list screen and delete it from the three‑dot menu. To register again, click the Add button to register.

      Authenticator

      Configure by integrating the Authenticator provided by SCP SingleID. By default, password and Email are set to active state.

      The Authenticator that is additionally configured and provided is as follows.

      • Knox Messenger: OTP can be sent via Knox Messenger.
      • PC SSO Agent: SingleID: Provides SSO with Agentless, but uses SSO Agent for multi-browser SSO functionality,
      • SingleID Authenticator: It is a SingleID dedicated authentication mobile app that supports biometrics (fingerprint, facial), PIN, mOTP, TOTP.
      • SMS: OTP can be sent via mobile SMS.
      • Active Directory: Performs authentication with an AD account.
      • Passkey: Mobile Passkey, security key, a convenient authentication method that allows easy login with Windows biometric/PIN code.

      Authenticator List

      We support all authenticators of the six available types.

      If you want to check the Authenticator, please check at the following path.

      • Admin Portal > Integration > Authenticator

      Authenticator Add

      When you click Register on the Authenticator list screen, it moves to the next screen and switches to a screen where you can add an Authenticator.

      Authenticator를 추가하시려면, 다음의 절차를 따르세요. -> If you want to add an Authenticator, follow the steps below.

      1. Admin Portal > Integration > Authentictor > Add Click the button.
      2. each authentication methodto select > Next Click the button.
      3. Enter the information required for authentication settings.
      4. Click the Save button.
      Notice
      All nine types of Authenticators, including optimized work environments that a typical IdP service can provide, are already offered and registered/configured, so there are no new Authenticators to add until a new type of Authenticator is needed.
      Notice
      If you want to disable the Authenticator, select the application and click the Disable button.

      Authenticator Edit

      On the Authenticator list screen, after selecting an Authenticator and clicking edit, it switches to a screen where you can edit.

      If you want to modify the Authenticator, follow the steps below.

      1. Admin Portal > Integration > Authentictor > Edit button click
      2. Edit each item and click the Edit button to complete the modification.

      Authenticator Delete

      On the Authenticator list screen, select the Authenticator, deactivate it, then return to the list screen and you can delete it from the three‑dot menu. If you want to register again, click the Add button to register.

      MFA Service Provider

      MFA Service Provider menu provides a service that enhances user convenience by meeting the security requirements required by companies through multi-factor authentication, applying stronger authentication technologies along with biometric and simple authentication technologies.

      MFA Service Provider List

      To check the MFA Service Provider list, you can access the following menu.

      • Admin Portal > Integration > MFA Service Provider
      CategoryDescription
      NameIt is the name of the MFA Service Provider.
      System CodeDisplays system code information.
      Project CodeDisplays the project code information.
      User TagDisplays the User Tag.
      TypeDisplays the MFA Service Provider integration method. It is shown in the following three ways.
      • ADFS Plugin
      • MFA API
      • RADIUS
      System Code Input FieldEnter system code information.
      Project Code Input FieldEnter the project code information.
      Search input fieldYou can search the Identity Provider list. After entering a search term, click the magnifying glass icon or press Enter to perform the search.
      • Searchable items: name, description, system code, project code
      Detail buttonDetailed search is possible. Search conditions can be combined with AND. After entering multiple fields and clicking the ‘Search’ button, the search is performed according to the conditions.
      • Reset button: when clicked, all search fields are reset.
      Register buttonYou can register a new MFA Service Provider.
      Table. MFA Service Provider List

      MFA Service Provider Registration

      To register the MFA Service Provider, follow the steps below.

      1. Admin Portal > Integration > MFA Service Provider > Register button click
      2. ADFS Federated Application or Custom Application or Network Equipment select > next button click
      Notice

      MFA Service Provider has three types as follows.

      • ADFS Federated Application : Register an ADFS federated application that will be linked with SingleID MFA.
      • Custom Application : Register an application that uses the MFA API to be integrated with SingleID MFA.
      • Network Equipment : Register network equipment that will be linked with RADIUS-based MFA.

      You can register an MFA Service Provider by entering and configuring the information required for MFA Service Provider integration through a three-step screen as follows.

      General

      MFA Service Provider Enter general information.

      CategoryDescriptionRequired
      NameEnter the name of the MFA Service Provider. Since it is identified by name, rules for distinction and management are required.Required
      DescriptionEnter description of MFA Service Provider (tasks, usage, etc.).Optional
      Logo ImageRegister a logo that can intuitively identify the MFA Service Provider.Optional
      User Management using User TagIf you enable the use of User Tag, when a new user is registered from the MFA Service Provider, “#"+User Tag is automatically added after the user’s ID, preventing duplicate ID registration.Select
      User TagOnly one User Tag can be registered per MFA Service Provider.
      • User Tag cannot be modified after registration, and it is a tag attached to the MFA Service Provider and the user.
      • Tenant administrators can define and use User Tags. Users provisioned JIT through the MFA Service Provider have the same User Tag set as a user attribute, allowing you to determine where the user was created.
      Required
      System CodeEnter system code information.Optional
      Project CodeEnter project code information.Optional
      CampaignIf only one authentication method is used, a popup page guiding the user to register a personal authentication method is displayed. It becomes active when the selection box is selected.Select
      Table. MFA Service Provider General

      MFA integration

      Enter MFA integration information.

      CategoryDescriptionRequired
      LoginSelect the provided Authenticator from the drop-down list.Required
      Identity verification at registrationSet the identity verification method that must be performed obligatorily during the registration process.
      • The user sets first and second Authenticator for identity verification.
      • Delegating authentication to an administrator allows a specific administrator to set authentication on behalf of the user when there is no mobile device or other authentication tool for identity verification.
        ※ It is not recommended to use this except for special circumstances.
      Required
      ADFS IdentifierPlease enter the ADFS Identifier URL information.Required
      ClaimEnter Claim name.
      • A Claim is an authentication method that manages user authentication and permissions through a specific key value, and you can add the necessary data here for use.
      • Defines whether to map to verify if it is the same user. Up to 30 can be registered.
      Required
      Secret KeySecret Key is an encryption key for trusted communication between SingleID and MFA Service Provider.
      • Issue button to issue it.
      Required
      Table. MFA Integration
      Notice
      The person who can verify identity on your behalf can be set in the Person in charge tab.

      Person in charge

      Select and register the person in charge of the newly registered MFA Service Provider.

      CategoryDescription
      Add buttonYou can add a person in charge of the MFA Service Provider.
      SearchYou can find the person in charge by search term (ID, name, email, status).
      Select (Check Box)Select the person in charge found in the list.
      AddYou can add the selected assignee.
      CompleteComplete assigning the person in charge.
      Table. Person in charge registration

      Click the Complete button to complete the registration.

      MFA Service Provider Edit

      On the MFA Service Provider list screen, after selecting the Authenticator and clicking edit, it switches to a screen where you can modify.

      If you want to modify the MFA Service Provider, follow the steps below.

      1. Admin Portal > Integration > MFA Service Provider > Edit Click the button.
      2. Modify each item and click the Edit button to complete the modification.

      MFA Service Provider Delete

      MFA Service Provider list screen, select the MFA Service Provider, deactivate it, then return to the list screen and you can delete it from the three‑dot menu. To register again, click the Add button to register.

      5.2.1.2.3 - Identity Store

      The Identity Store provides a feature to manage users and groups registered in an organization.

      There are several cases where users or groups are registered in an organization, such as being provisioned through registered applications or being directly registered by administrators. The Identity Store integrates users and groups registered in various ways, allowing them to be searched and providing various management functions for administrators to configure detailed settings for each user or group. Administrators can manage all users and groups registered in the organization through the Identity Store.

      Users

      Tenant administrators can use the features provided in the user menu to search and modify all users registered in the organization, delete users, or directly register new users.

      Additionally, administrators can change a user’s group membership or assign usage permissions to allow users to use applications.

      Users are registered in SingleID in the following ways:

      • Registered through account synchronization (Inbound Provisioning) from an application
      • Registered through Just-In-Time (JIT) provisioning from an Identity Provider
      • Registered from an MFA Service Provider
      • Manually registered by an administrator Administrators can manage registered users in a unified manner using the user menu.

      To access the user menu, go to the following menu:

      • Admin Portal > Identity Store > User

      User List

      You can view and search all users registered in SingleID in a list format.

      CategoryDescription
      IDThe user’s ID is displayed.
      NameThe user’s name is displayed (in the order of last name and first name).
      EmailThe user’s email address is displayed.
      PhoneThe user’s mobile phone number is displayed.
      AdminIndicates whether the user is an administrator of the Admin Portal.
      System Mapping IDThe application system mapping ID.
      StatusIndicates whether the account is active.
      • Active: The current login-enabled user status.
      • Inactive: The user status that has been intentionally inactivated.
      • Pending: The account synchronization is complete, and the user is in a pending state until they log in.
      • Locked: The account locked due to password errors.
      • Dormant: The account status that has been dormant for a certain period.
      Managing EntityIndicates the managing entity of the account. You can see which system the account was automatically registered from or if it was manually registered.
      • SingleID: The account registered directly by the administrator
      • Others: The account synchronized automatically
      Registration DateThe initial registration date of the account
      Modification DateThe latest update date
      Expiration DateThe account expiration date
      Dormant User ButtonYou can view dormant users.
      Search Input FieldYou can search the user list. Enter a search term and click the magnifying glass icon or press Enter to perform the search.
      • Searchable items: Name, Email, ID
      Detail ButtonYou can perform a detailed search. You can search with AND conditions. Enter multiple fields and click the ‘Search’ button to search according to the conditions.
      • Clicking the Reset button initializes all search fields.
      Register ButtonYou can register a new MFA Service Provider.
      Table. User List
      Guide

      There are three methods to search for users.

      • Filter by user status
      • Keyword search
      • Advanced search

      Filter by User Status

      To filter users by status, follow these steps.

      1. Click the button of the group that displays the status you want to filter by. (Only one button can be selected at a time)
      2. After filtering, you can move to another page to view the list of users you want.
      3. After filtering, you can use the keyword search to find the user you want. (However, if you perform an advanced search after filtering, the filter will be removed)
      4. To remove the filter, click the All button.

      Keyword Search

      To perform a keyword search, follow these steps.

      1. Click on the keyword search input box with your mouse.
      2. Enter the word you want to search for. At this time, a dropdown menu will be displayed below the search input box. If you select one of ID, English Name, Email from the dropdown menu, the search will be executed for the corresponding field, and if you select All, the search will be executed for all ID, English Name, and Email fields.
      3. After entering the search term, press the Enter key or click on the magnifying glass icon with your mouse to execute the search. At this time, the search will be executed for all ID, English Name, and Email fields.
      4. The search results will be displayed in the user list.
      5. If you want to cancel the search results and display the entire list, click the X icon on the right side of the keyword search input box.

      Advanced Search To perform an advanced search, follow the procedure below.

      1. Click the Advanced button.
      2. In the advanced search screen, enter the search term in the field you want to search.
      3. In the advanced search screen, you can select the user’s registration date and modification date to limit the search range.
      4. If you enter search terms in multiple fields, the search will be executed with AND conditions.
      5. After entering the search term, press Enter or click the Search button to execute the search.
      6. The search results will be displayed in the user list.
      7. If you want to cancel the search results and display the entire list, click the Reset button in the advanced search screen.

      User Registration

      The tenant administrator can register users manually on the screen without going through account synchronization.

      To register a user, follow the procedure below.

      • Click the Admin Portal > Identity Store > User > Register button

      The user can input and register information through a 3-step screen as follows:

      1. Profile
      2. User Group
      3. Summary

      Profile

      In the profile screen, enter the user’s basic profile information. The fields to be entered are as follows.

      ClassificationDescriptionRequired
      IDEnter the user’s ID. A value that overlaps with the ID of an already registered user cannot be entered.Required
      AdministratorSpecifies whether it is an administrator. Selecting “Allow” gives administrator privileges.Required
      Name (Korean name, surname)Enter the Korean name and surname in order.Required
      Name (English name, surname)Enter the English name and surname in order. If there is no English name, enter the Korean name and surname again.Required
      EmailEnter the email address. This information is used for identity verification, so accurate information must be entered.Required
      PhoneEnter the mobile phone number. This information is used for identity verification, so accurate information must be entered.Required
      DepartmentEnter the Korean department name and English department name.Optional
      OrganizationEnter the Korean organization name and English organization name.Optional
      LanguageSpecifies the user’s preferred language. The screen is displayed in the specified language when the user logs in.Required
      Time zoneSpecifies the user’s time zone. All times are displayed in the specified time zone when the user logs in.Required
      Expiration dateSets the user’s expiration date. The default value is “Not set”.
      • When automatic account deletion is set after the setting date, select the date to be deleted.
      Optional
      Table. Profile Information

      Click the Next button to move to the User Group screen.

      User Group

      In the User Group screen, specify the group to be registered for the user. The entire group that can be assigned to the user is displayed on the left side of the screen. Select the group to be assigned to the user and click the > button to move to the assigned group.

      To cancel group assignment, select the group to be canceled in the assigned group and click the < button. Click the Next button to move to the Summary screen.

      Note
      The reason for assigning a group to a user is to organically control access in login policies, authentication policies, application access policies, and more.

      Summary

      1. On the summary screen, confirm the registered information and register the user.
      2. If you want to modify the entered information, click the Back button to return to the screen you want to modify.
      3. To cancel the registration, click the Cancel button.
      4. Clicking the Complete and Add Registration button registers the user and returns to the profile screen to register a new user.
      5. Clicking the Complete button registers the user and moves to the detailed information screen of the registered user.

      User Modification

      To modify a user, follow the procedure below.

      1. Click the user you want to modify in Admin Portal > Identity Store > User.
      2. Profile, Group, Application, Multi-factor Authentication (MFA) method, Device, Active Session will be displayed.
      3. Click the Modify button at the bottom and modify the data you want to change.
      4. Click the Save button.

      Changing the User’s Status

      The status of users managed by SingleID is as follows.

      CategoryDescription
      ActiveA user who has logged in to SingleID after initial registration, initialized their password, and is using it normally.
      InactiveA user whose use has been suspended by the administrator.
      PendingA user who has not logged in to SingleID even once after initial registration.
      LockedA user who has been locked due to repeated login failures, etc. (The user can unlock themselves through password reset)
      Dormant UserAn account status that has been dormant due to no access for a certain period.
      Table. User Status

      The tenant administrator can change the user’s status according to the user’s current status as follows.

      CurrentChangeDescription
      ActiveInactiveYou can change the active user to inactive by clicking the inactive button.
      InactiveActiveYou can change the inactive user to active by clicking the active button.
      PendingNoneA pending user cannot be changed to active or inactive.
      LockedActiveA locked user can be changed to active by clicking the password reset button and initializing the password at the same time.
      Table. User Status

      The button to change the user’s status is exposed as follows in the list and detail screens.

      • When one or more active or inactive users are selected in the list screen
      • When moving to the detail screen of an active or inactive user
      Notice
      If the tenant administrator attempts to deactivate a user, a confirmation popup will be displayed. To deactivate a user, confirm the user’s information and then click the deactivate button again to change the user’s status from active to inactive. In contrast, when changing a user from inactive to active, no separate confirmation popup is displayed.

      Password Reset

      The tenant administrator can reset a user’s password. When the tenant administrator resets a user’s password, a guidance email is sent to the user.

      Note

      The reset password is not displayed to the administrator. Also, the reset password is not directly delivered to the user through the guidance email.

      The user must access SingleID directly after receiving the guidance email and use the password reset function to change their password after going through the identity verification process.

      To change a user’s password, follow these steps:

      1. Select and click the user to change the password from the user list.
      2. Click the Password Reset button at the top right of the user details screen.
      3. When the confirmation popup is displayed, click the Confirm button.
      4. If the user’s password is reset while it is locked, the lock is released and the status is changed to active.

      Group

      The tenant administrator can view the groups to which a user belongs and add or delete group memberships.

      To manage a user’s group, click the Group tab on the details screen.

      ClassificationDescription

      | Group Tab | Displays the user’s group management screen. | | All Groups | Displays a list of all groups that can be assigned to the user. | | Assigned Groups | Displays a list of groups that have already been assigned to the user. | | All Groups Search | Searches for groups or group descriptions that can be assigned to the user. The search results are displayed in the list below. To display the entire list after searching, click the X button on the right side of the search input field. | | Assigned Groups Search | Searches for groups or group descriptions that have already been assigned to the user. The search results are displayed in the list below. To display the entire list after searching, click the X button on the right side of the search input field. | | Delete Assigned Groups | Deletes the selected group from the groups assigned to the user. The user is excluded from the members of the deleted group. | | Assign Group | Assigns the selected group to the user. The user becomes a member of the assigned group. |

      Group Tab

      Delete Group

      To delete a group assigned to a user, follow these steps:

      1. Select the group to be deleted from the list of assigned groups. (Check the checkbox to the left of the group name)
      2. Click the < button to delete the assigned group.
      Notice
      Groups assigned by group rules do not display a checkbox next to the group name. Membership established by rules cannot be manually removed by an administrator.

      Assign Group

      To assign a new group to a user, follow these steps:

      1. Select the Group to be newly assigned from the list of all groups. (Check the checkbox to the left of the group name)
      2. Click the > button to assign the group.
      Notice
      When assigning a group, user permissions are automatically granted for the applications assigned to the added group.

      Application

      The tenant administrator can view the applications that users can use, add or delete applications. To manage a user’s application, click the Application tab on the detailed screen.

      ClassificationDescription
      Application TabDisplays the application management screen for the user.
      Assigned Application ListThe applications assigned to the user are displayed in a list.
      Assign ButtonAllows you to assign an application to the user.
      Application Tab

      Deleting an Application

      To delete an application assigned to a user, follow these steps:

      Select the application to be deleted from the assigned application list. (Check the checkbox to the left of the application name) Click the Unassign button displayed above the application list. Click the Confirm button in the confirmation popup.

      Guide
      If you delete an assigned application, it will no longer be displayed in the User Portal > My Apps menu.

      Application Assignment

      To assign a new application to a user, follow these steps:

      1. Click the Assign button located at the top right of the application list.
      2. In the Application Assignment popup, select the application (check the checkbox to the left of the application name).
      3. Click the Assign button.
      4. If you have assigned all applications, click the Cancel button to close the popup.
      Note
      Assigned applications can be found in the User Portal > My Apps menu. (If the “Screen Display” option for the assigned application is turned off, it will not be displayed in the user portal.)

      Multi-Factor Authentication (MFA) Method Inquiry and Management

      The tenant administrator can view the multi-factor authentication method registered by the user and modify or delete some of the registration information.

      To manage a user’s multi-factor authentication (MFA) method, click the Multi-Factor Authentication (MFA) Method tab on the detailed screen.

      ClassificationDescription
      Multi-Factor Authentication (MFA) Method TabDisplays the management screen for the user’s multi-factor authentication (MFA) method.
      Multi-Factor Authentication (MFA) Method ListDisplays a list of the user’s registered multi-factor authentication (MFA) methods.
      Modify ButtonAllows modification or deletion of the user’s registered multi-factor authentication (MFA) method.
      Multi-Factor Authentication (MFA) Method List

      Modifying Multi-Factor Authentication (MFA) Method

      To modify the MFA method registered by the user, follow the procedure below.

      1. Click the Modify button at the bottom right of the screen.
      2. Click the Registration Information column of the MFA list you want to modify.
      3. After modifying the information, click the Save button at the bottom right of the screen.

      Deleting Multi-Factor Authentication (MFA) Method

      To delete the MFA method registered by the user, follow the procedure below.

      1. Click the Modify button at the bottom right of the screen.
      2. Click the Delete button to the right of the MFA method you want to delete.
      3. Click the Confirm button in the warning popup.
      4. Click the Save button at the bottom right of the screen.

      Viewing User Device Information

      The administrator can view the device information added when the user registers the MFA method.

      To view the user’s device information, click the Device tab in the detailed screen.

      CategoryDescription
      Device TabDisplays the user’s device management screen.
      Device ListDisplays a list of devices added when the user registers the MFA method.
      Device Tab
      Notice
      Device information can only be viewed and cannot be added, modified, or deleted by the tenant administrator.

      Active Sessions

      When a user logs in to SingleID, SingleID manages the session information of the logged-in user.

      The tenant administrator can view the user’s current active session and manage it to force the session to end and log out the user.

      To manage a user’s session, click the Active Sessions tab on the detailed screen.

      ClassificationDescription
      Active Sessions TabDisplays the user’s session management screen.
      Active Sessions ListThe user’s currently active sessions are displayed in a list.
      Terminate ButtonForces the user’s active session to terminate.
      Active Sessions Tab
      Notice
      If the user’s active session list is displayed as an empty list, it means that the user is not currently logged in to SingleID.

      Session Forced Termination

      To forcibly terminate a user’s session, follow these steps:

      1. Click the Terminate button located at the top right of the session you want to terminate.
      2. In the Terminate Confirmation popup, click the Terminate button.
      Notice
      The terminated user will be forcibly logged out of SingleID and must log in again to use the system. However, the session of the application accessed using SingleID before the session termination will be maintained, and the session of each application will be managed by each application.

      Forcible Termination of Multiple Sessions

      If you want to terminate multiple sessions simultaneously, follow these steps:

      1. Select the sessions you want to terminate in the list and check the checkbox (V) displayed on the left side of the session information.
      2. Click the Terminate button displayed at the top of the list.
      3. In the Terminate Confirmation popup, click the Terminate button.

      User Deletion

      The tenant administrator can delete user information from SingleID.

      The delete user button is exposed in both the list and detail screens as follows:

      • When one or more users are selected in the list screen
      1. After selecting a user, click the Delete button to display a Confirmation popup on the screen.
      2. To delete a user, confirm the user’s information and enter the user’s ID, then click the Delete button.
      3. When multiple users are selected and the Delete button is clicked, the following Confirmation popup is displayed on the screen.
      4. To delete the selected users, use the <, > buttons to confirm all users’ information, enter Delete All, and then click the Delete button.
        Notice

        You must confirm all user information and enter Delete All to activate the delete button.

        If you have moved to the user details screen

        1. If the administrator wants to delete a user, a confirmation popup will be displayed.
        2. To delete a user, check the user’s information, enter the user’s ID, and click the Delete button.
      Note

      Deleted user information cannot be recovered.

      When user information is deleted, the groups, applications, and multi-factor authentication (MFA) methods assigned to the user are also deleted. Even if you re-register a user with the same ID, the deleted groups, applications, and MFA methods will not be recovered.

      Users registered through an application’s inbound provisioning can be re-provisioned from the application even if they are deleted from SingleID.

      To completely delete a user, you must delete the user’s information from the original system that manages the user’s information.

      Even if a user with the same ID is re-registered after deletion, the deleted groups, applications, and MFA methods will not be automatically recovered.

      Group

      The administrator can use the functions provided in the Group menu to view and modify all groups registered in the organization, delete groups, or register new groups.

      You can also change the group membership rules or assign usage permissions to group members so that they can use applications.

      Groups are registered in SingleID in the following ways:

      • Registered through inbound provisioning from an application (Application)
      • Manually registered by the administrator (Create Group) The tenant administrator can manage registered groups in various ways using the group menu.

      To access the group menu, move as follows:

      • Admin Portal > Identity Store > Group

      Group List

      The tenant administrator can view and search all groups registered in the organization in a list format.

      ClassificationDescription
      Group ListThe group list is displayed.
      Keyword SearchSearch by group name and description.
      Detailed SearchDetailed options for searching groups are displayed on the screen.
      Table. Group List

      Create Group

      The administrator can manually register a group on the screen without going through inbound provisioning.

      1. To manually register a group, click the Register button on the group list screen.
      2. When you click the Register button, the group registration popup is displayed on the screen.

      The fields that must be entered for group registration are as follows:

      ClassificationDescriptionRequired
      TypeSelect the group type.Required
      NameEnter the name of the group. Duplicate values of already registered group names cannot be entered.Required
      DescriptionEnter a description of the group.Required
      Table. Group List
      1. Complete button is clicked, the group is registered and moves to the detailed information screen of the registered group.

      Detailed Information Inquiry and Modification

      The administrator can move to the group’s detailed information inquiry screen by clicking the Group in the group list.

      If a new group is registered, it will also move to the group’s detailed screen immediately after registration.

      At the top of the group detail screen, the group name, description, and management entity information are displayed, and below that, the group information is composed of multiple tabs.

      DivisionDescription
      TypeThe type of group is displayed.
      NameThe name of the group is displayed.
      Management EntityThe system that manages the group is displayed. For groups directly registered by the tenant administrator in SingleID, it is displayed as SingleID, and for groups provisioned in through an application, the application name is displayed.
      DescriptionThe description of the group is displayed.
      Table. Detailed Information Inquiry

      The tenant administrator can confirm the detailed information of the registered group through the Group Profile tab.

      CategoryDescription
      Group ProfileThe group profile will be displayed.
      ListA button to return to the list.
      EditEdit the profile.
      Table. Detailed Information Inquiry

      To modify the group’s detailed information, follow the procedure below.

      1. In the group detail screen, select the Profile tab.
      2. Click the Edit button.
      3. Modify the Group Information.

      The fields that can be modified are as follows.

      CategoryDescriptionRequired
      NameEnter the group name. A value that is duplicated with an already registered group name cannot be entered.Required
      DescriptionEnter a description of the group.Required
      Table. Edit Fields
      1. Click the Save button.
      2. To return to the inquiry state without saving the modified information, click the Cancel button.

      Group Membership Rule Management

      The administrator can set rules to automatically configure users who meet certain conditions as group members.

      When a group rule is set, the tenant administrator does not need to manually manage members, and the group members are automatically configured and added or deleted according to the set condition.

      To manage group membership rules, click the Rules tab on the detailed screen.

      CategoryDescription
      Rules TabThe group rules are displayed.
      RulesThe set group rules are displayed. (The default setting for membership policy after creating a group is Off) If the membership policy setting is Off, members are not automatically managed.
      ListA button to return to the list.
      EditEdits the rules.
      Table. Rules Tab

      To set a group rule, follow the procedure below.

      1. Select the Rules tab on the group detailed screen.
      2. Click the Edit button.
      3. Click the On button for the membership policy setting.
      4. Set the condition in the WHEN section.
      5. Click the Save button.
      6. To return to the inquiry state without saving the set rule, click the Cancel button.
      Notice

      When a group membership rule is set, if the administrator changes the user’s detailed information or the user’s detailed information is changed by inbound provisioning, the system automatically searches for users according to the set rule and manages each group member.

      Members automatically added according to the group membership rule cannot be manually deleted by the tenant administrator. WHEN area conditions are composed as follows.

      ClassificationDescription
      Conditional expression operation relationshipIf there is one or more conditional expressions, it defines the operation relationship between conditional expressions. You can choose one of AND or OR, and it is commonly applied to all conditional expressions.
      Conditional expression typeSets the type of conditional expression. You can select User Attribute.
      Condition itemSets the condition item of the conditional expression. When the type of conditional expression is User Attribute, you can select the user’s attribute from the list.
      OperatorSets the operation method of the conditional expression.
      Condition valueSets the condition value of the conditional expression.
      Add conditional expressionAdds a conditional expression.
      Delete conditional expressionDeletes a conditional expression. When there is only one conditional expression, it cannot be deleted.
      Table. Rule Tab

      The user’s attributes that can be set in the condition item are as follows.

      PropertyData TypeDescriptionMandatory
      keyStringKeyMandatory
      usernameStringIDMandatory
      passwordGuardedStringPasswordMandatory
      statusStringStatusMandatory
      mustChangePasswordBooleanForced password settingMandatory
      suspendedBooleanWaiting statusMandatory
      creatorStringCreatorOptional
      creationDateDateCreation DateOptional
      lastModifierStringLast ModifierOptional
      lastChangeDateDateLast Change DateOptional
      administratorBooleanAdministratorOptional
      displayNameStringDisplay NameOptional
      cnStringCommon NameOptional
      localStringLocale (Email Sending Standard)Optional
      userSourceStringUser SourceOptional
      syncDateStringLast Sync DateOptional
      contractNumberStringContract NumberOptional
      contractStartDateStringContract Start DateOptional
      contractEndDateStringContract End DateOptional
      agreementDateStringAgreement DateOptional
      accountStartDateStringAccount Start DateOptional
      accountEndDateStringAccount End DateOptional
      partnerOrganizationCodeStringPartner Organization CodeOptional
      approvalUserStringApproval User IDOptional
      formattedNameStringKorean Display NameOptional
      familyNameStringKorean Last NameOptional
      givenNameStringKorean First NameOptional
      enFormattedNameStringEnglish Display NameOptional
      enFamilyNameStringEnglish Last NameOptional
      enGivenNameStringEnglish First NameOptional
      adDomainStringAD DomainOptional
      nickNameStringNicknameOptional
      employeeNumberStringEmployee NumberOptional
      epIdStringEP IDOptional
      emailStringEmail AddressOptional
      phoneNumberWorkStringPhone NumberOptional
      mobileStringPhone NumberOptional
      titleStringTitle NameOptional
      executiveYnStringExecutive StatusOptional
      timeZoneStringTime ZoneOptional
      accountLockedBooleanAccount Forced LockOptional
      accountAutoLockedBooleanAccount Auto LockOptional
      accountDisabledBooleanAccount DisabledOptional
      accountSuspendedBooleanDormant AccountOptional
      accountSuspendedTimeDateDormant Processing TimeOptional
      lastLoginTimeDateLast Login TimeOptional
      accountStateStringAccount StatusOptional
      Table. Condition Attributes

      The operators that can be set in the operator are as follows.

      OperatorDescription
      EqualsSearches for users whose condition item value matches the condition value.
      Not EqualsSearches for users whose condition item value does not match the condition value.
      Starts withSearches for users whose condition item value starts with the condition value string.
      Ends withSearches for users whose condition item value ends with the condition value string.
      ContainsSearches for users whose condition item value contains the condition value string.
      Table. Operator List

      Group Member Management

      Tenant administrators can manually specify members of a group or delete users from group members.

      To manage group members, click the Members tab on the detail screen.

      NameDescription
      Members TabDisplays the group member management screen.
      Member ListDisplays group members in a list format.
      Filter Button GroupFilters group members by status and displays the list.
      Keyword SearchSearches for group members by entering keywords.
      Advanced SearchSearches for group members by entering detailed search conditions.
      Add ButtonAdds members to the group.
      Table. Member Tab

      There are three ways to search for members within the group tab.

      • Member status filter
      • Keyword search
      • Advanced search
      Notice

      Member Status Classification

      • Active: A user who has logged in to SingleID after initial registration, initialized their password, and is currently using it normally
      • Inactive: A user whose use has been suspended by an administrator
      • Pending: A user who has not logged in to SingleID even once after initial registration
      • Locked: A user who has been locked out due to repeated login failures, etc. (in a state where the user can unlock themselves through password reset)

      Member Status Filter

      To filter members by status, follow these steps:

      1. Click the button for the status of the member you want to filter (Active, Inactive, Pending, Locked button)
      2. You can check the list of members in the filtered state by moving to another page
      3. You can search for the desired member using keyword search in the filtered state (However, if you perform a detailed search in the filtered state, the filter will be removed)
      4. To remove the filter, click the All button

      Keyword Search

      To perform a keyword search, follow these steps:

      1. Click on the keyword search input box with your mouse
      2. Enter the word you want to search for. At this time, a dropdown menu will be displayed below the search input box. If you select one of the “ID”, “English Name”, or “Email” displayed in the dropdown menu, the search will be executed for the corresponding field, and if you select “All”, the search will be executed for all ID, English Name, and Email fields
      3. After entering the search term, press the Enter key or click on the magnifying glass icon with your mouse to execute the search. At this time, the search will be executed for all ID, English Name, and Email fields
      4. The search results will be displayed in the member list
      5. If you want to cancel the search results and display the entire list, click the X icon on the right side of the keyword search input box

      Advanced Search

      To perform an advanced search, follow these steps:

      1. Click the Advanced button
      2. Enter the search term in the field you want to search for on the advanced search screen
      3. On the advanced search screen, you can limit the search range by selecting the member’s registration date
      4. If you enter search terms in multiple fields, the search will be executed with an “AND” condition
      5. Enter the search term and press the Enter key or click the Search button to execute the search.
      6. The search results are displayed in the member list.
      7. If you want to cancel the search results and display the entire list, click the Reset button on the detailed search screen.

      Member Deletion

      To delete a member from a group, follow these steps.

      1. Select one or more members to delete from the member list. (Check the checkbox to the left of the member ID)
      2. Click the Delete button displayed at the top of the list.
      3. Click the Confirm button in the warning popup.
      Guide
      Deleting a member from a group does not delete the member’s user information. The deleted member will lose the application usage rights assigned through the group.

      Member Addition

      To add a member to a group, follow these steps.

      1. Click the Add button at the top right of the member list.
      2. In the member addition popup, select one or more users to add as members. (Check the checkbox to the left of the user ID)
      3. Click the Add button.
      4. If you have added all the desired users as members, click the Cancel button in the popup to close the member addition popup.
      Guide
      Added members will immediately receive application usage permissions assigned through the group.

      Application Management

      The tenant administrator can view the applications assigned to a group and add or delete applications.

      To manage a group’s applications, click the Group tab on the detail screen.

      NameDescription
      Application TabDisplays the application management screen for the group.
      Assigned Application ListThe applications assigned to the group are displayed in a list.
      Assign ButtonAllows you to add and assign applications to the group.
      Table. Application Management

      Application Deletion

      To delete an application assigned to a group, follow these steps.

      1. Select the application to be deleted from the list of assigned applications. (Check the checkbox to the left of the application name)
      2. Click the Unassign button displayed above the application list.
      3. Click the Confirm button in the confirmation popup.
      Notice
      If an assigned application is deleted, it will no longer be displayed in the User Portal > My Apps menu for group members.

      Application Assignment

      To assign a new application to a group, follow the procedure below.

      1. Click the Assign button displayed at the top right of the application list.
      2. In the Application Assignment popup, select the application. (Check the checkbox to the left of the application name)
      3. Click the Assign button.
      4. If you have assigned all applications, click the Cancel button to close the Application Assignment popup.
      Notice
      Assigned applications can be found in the User Portal > My Apps menu for group members. (If the Screen Display option for the assigned application is turned off, it will not be displayed in the user portal)

      Group Deletion

      Tenant administrators can delete groups from SingleID.

      The group deletion button is exposed as follows in the list and detail screens.

      • When one or more groups are selected in the list screen
        1. After selecting the group, click the Delete button to display the following Confirmation Popup on the screen.
        2. To delete the group, confirm the group information and enter the group name, then click the Delete button.
        3. If you select multiple groups and click the Delete button, the following Confirmation Popup will be displayed on the screen.
        4. To delete the selected groups, use the <, > buttons to confirm the information of all groups and enter the phrase Delete All, then click the Delete button.
      Notice

      You must confirm the information of all groups and enter the phrase Delete All to activate the Delete button.

      • Moved to the group detail screen

        1. If the tenant administrator wants to delete a group, a confirmation popup will be displayed as follows.
        2. To delete a group, check the group information, enter the group name, and click the Delete button.
      Note
      • The information of the deleted group cannot be recovered again.

      • When the group information is deleted, the group members and application information assigned to the group are also deleted, and even if the group is registered again with the same name, the member or application information is not recovered.

        • Groups registered through the application’s inbound provisioning can be reprovisioned from the application even if they are deleted from SingleID.
        • To completely delete a group, it must be deleted from the ledger system that manages the group information.
        • Even if the group is registered again with the same name after deletion, the deleted members or application information are not automatically recovered.

      5.2.1.2.4 - Policy

      When logging in to SingleID or logging in to an application registered with SingleID, various settings such as login method, authentication session, and password must be set according to the organization’s security policy.

      SingleID provides a policy management feature that allows for detailed settings for login and authentication information.
      If you have purchased the anomaly detection feature (ADM), you can set it to analyze the user’s login behavior when logging in and alert the user to potential security threats when an unusual authentication is detected.

      The policy features provided by SingleID are as follows:

      • Login policy
      • Authentication policy
      • Anomaly detection policy

      Using SingleID’s policy feature, you can specify a detailed login method according to who, when, and under what environment logs in to which application, creating a secure authentication environment that meets the organization’s security requirements.

      Login Policy

      The administrator can set a detailed policy on which authentication means can be used to authenticate when a user logs in to SingleID, and can create a conditional authentication policy for users authenticating in a specific environment if necessary.

      Login policy can be configured using the following conditions:

      • Which application is logging in?
      • Who logs in?
      • In what environment do they log in?

      To access the login policy menu, navigate as follows:

      • Admin Portal > Policies > Login Policy

      Basic Login Policy

      The Admin Portal has two default policies created as follows.

      • Admin Portal Policy: Policy to control Admin Portal access rights
      • Default Policy: Basic access control policy for users

      The Admin Portal Policy is a login policy applied when logging in to the Admin Portal, and the Default Policy is a login policy applied when logging in to the user portal.

      After integrating an application with SingleID, if no separate login policy is assigned, the Default Policy is automatically assigned as the basic login policy.

      Notice
      The above two basic policies cannot be deactivated or deleted.

      Registering a Login Policy

      The login policy sets the login policy for administrators and users. You can set login policies based on access environment, application, and situation.

      The login policy can be registered through a 4-step screen as follows:

      1. General
      2. Assignment
      3. Initial Redirection
      4. Rules

      General

      In the general screen, enter the name and description of the login policy.

      The fields to be entered are as follows.

      NameDescriptionRequired
      NameEnter the name of the login policy.Required
      DescriptionEnter the description of the login policy.Required
      Table. General

      Click the Next button to move to the assignment screen.

      Assignment

      In the assignment screen, specify the application to which the login policy will be applied.

      NameDescription
      FilterFilters applications by status.
      Keyword SearchSearches by application name and description.
      Detailed SearchDisplays detailed search options for applications on the screen.
      Assign ButtonDisplays the application assignment popup on the screen.
      Assigned Application ListThe assigned applications are displayed in a list format. The list starts empty.
      Table. Assignment
      1. Click the Assign button to display the application assignment popup on the screen.
      2. Application Assignment popup, select one or more applications to assign to the login policy and click the Assign button.
      3. If all applications have been assigned, click the Cancel button to close the Application Assignment popup.

      Initial Redirection

      The Initial Redirection screen specifies the user’s login screen entry method and login method

      • Redirected to SingleID’s Sign-in page (login page)

      • Redirected to the external IdP


      The explanations for the two methods are as follows:

      • If Redirected to SingleID’s Sign-in page is selected, the SingleID login page will be displayed to the user attempting to log in.
      • If Redirected to the external IdP is selected, the login page of the selected Identity Provider will be displayed to the user attempting to log in.
      • After selecting Redirected to the external IdP, you must select and specify the Identity Provider from the selection list.
      • If Redirected to SingleID’s Sign-in page is selected, you can optionally display a button at the bottom of the SingleID login screen that allows the user to log in through an Identity Provider.
      • AND see the following external IdP buttons on the Sign-In page, you can set up the login screen to display by selecting one or more Identity Providers registered with SingleID in the text input box below and clicking the mouse.
      Notice
      For settings on registering an Identity Provider or displaying a registered Identity Provider on the login screen, refer to Identity Provider Registration.

      Rules

      On the Rules screen, you can modify or add login rules and set the priority between login rules.

      NameDescription
      Rule ListThe login rules are displayed on the screen in a list format. The Default Rule is displayed by default, and the Default Rule cannot be deleted.
      Keyword SearchSearches by the name or description of the login rule.
      Register ButtonRegisters a new login rule.
      Complete ButtonRegisters the login policy.
      Table. Rule

      Default Rule Setting

      The login rule list on the rule screen displays the Default Rule by default.

      The Default Rule cannot be deleted and can only be modified. Additionally, when one or more login rules are added, the priority cannot be set. (It is always the lowest priority.)

      To modify the Default Rule, follow these steps:

      1. Click on the Default Rule in the rule list.
      2. The WHEN condition of the Default Rule cannot be modified.
      3. The THEN result of the Default Rule can be modified.

      NameDescription
      Access Permission SettingSets the access permission.
      Mandatory Authentication MethodSets the primary login method. Additional login methods can be displayed on the login screen besides the default login method.
      MFA AuthenticationSets additional login to be required after the primary login is successful.
      Terms and Conditions for Collecting Consent and TermsSets the terms and conditions to be displayed and consent to be obtained when the user logs in to SingleID for the first time.
      Save ButtonSaves the modified login rule.
      Table. Default Rule
      You can select one of the following two options in the access permission setting:

      • Deny Access
      • Allow Access

      If you select Deny Access, all user logins will be denied.

      If you select Allow Access in the access permission setting, you can set the user’s login method.

      Notice
      • If you selected Redirected to the external IdP as the login method on the Initial Redirection screen, the primary login setting will not be displayed on the screen.

      • Essential authentication methods are performed by the external Identity Provider based on the Initial Redirection settings.

        • To allow users to log in through multi-factor authentication, check the MFA authentication checkbox and select one or more authenticators in the text input box.

        • If you want to set up the terms and conditions agreement for users logging in to SingleID for the first time, check the terms and conditions agreement setting (d) checkbox and select one or more terms or conditions to be displayed on the screen in the text input box.

      Add Rule

      To add a login rule, follow these steps:

      1. Click the Register button at the top right of the rule list.
      2. Enter the name and description of the rule on the rule registration screen.
      3. Refer to the following to enter the rule items:
      NameDescription
      NameThe name of the rule.
      DescriptionRule description.
      User Group AssignmentSelect the user group to which the rule will be applied.
      Profile Attribute AssignmentClick the ‘Add’ button in the profile attribute assignment list to add attributes. For attribute descriptions and operator explanations, refer to the help below.
      Group SettingsSpecifies the group to which the logging-in user belongs.
      User Attribute ListSpecifies the attributes of the logging-in user and the conditions for each attribute.
      Add User Attribute ButtonDisplays the “Add Attribute” popup on the screen.
      Table. Rule Addition
      Access Environment
      NameDescription
      NetworkSpecifies the IP or network range of the logging-in user. The default value is “IP address anywhere”.
      - Desktop
      - Mobile
      PlatformSpecifies the device information of the logging-in user. The default value is “Any platforms”.
      - Desktop
      - Mobile
      BrowserSpecifies the browser information of the logging-in user. The default value is “Any browsers”.
      - Edge
      - Chrome
      - Safari
      OSSpecifies the OS information of the logging-in user. The default value is “Any OS”.
      - Windows 10
      - Windows 11
      - Android
      - iOS
      AND Anomalies (Abnormal Behavior)Sets the condition for whether an anomaly was detected during login.
      Anomaly detection condition setting is only possible for tenants who have purchased the Anomaly Detection Management (ADM) option.
      To use the anomaly detection function (ADM), you must select the additional option when signing the SingleID usage contract.
      If you want to use the anomaly detection function, you can make an additional purchase on the SCP product purchase page.
      After setting all the “WHEN” condition areas, set the login method to be used when a user who meets the conditions logs in.
      Table. Access Environment
      Guide

      The following are the attributes of the user that can be selected.

      User Attribute Information

      Attribute NameData TypeRequiredDescription
      keyStringRequiredKey
      usernameStringRequiredID
      passwordGuardedStringRequiredPassword
      statusStringRequiredStatus
      mustChangePasswordBooleanRequiredPassword Forced Setting
      suspendedBooleanRequiredWaiting Status
      creatorString-Creator
      creationDateDate-Creation Date
      lastModifierString-Last Modifier
      lastChangeDateDate-Last Change Date
      administratorBoolean-Administrator
      displayNameString-Display Name
      cnString-Common Name
      localString-Locale (Email Sending Standard)
      userSourceString-User Source
      syncDateString-Last Sync Date
      contractNumberString-Contract Number
      contractStartDateString-Contract Start Date
      contractEndDateString-Contract End Date
      agreementDateString-Mandatory Agreement Date
      accountStartDateString-Account Usage Start Date
      accountEndDateString-Account Usage End Date
      partnerOrganizationCodeString-Partner Company Code
      approvalUserString-Approval User ID
      formattedNameString-Korean Display Name
      familyNameString-Korean Last Name
      givenNameString-Korean First Name
      enFormattedNameString-English Display Name
      enFamilyNameString-English Last Name
      enGivenNameString-English Name
      adDomainString-AD Domain
      nickNameString-Nickname
      employeeNumberString-Employee Number
      epIdString-EP ID
      emailString-Email Address
      phoneNumberWorkString-Phone Number
      mobileString-Mobile Phone Number
      titleString-Title
      enTitleString-English Title
      titleCodeString-Title Code
      entitlementString-Position
      departmentString-Department Name
      enDepartmentString-English Department Name
      departmentCodeString-Department Code
      organizationString-Company Name
      enOrganizationString-English Company Name
      organizationCodeString-Company Code
      regionString-Location
      userStatusString-Employee Status
      userTypeString-Employee Type
      securityLevelString-Security Level
      preferredLanguageString-Preferred Language
      executiveYnString-Executive Status
      timeZoneString-Time Zone
      accountLockedBoolean-Account Lock
      accountAutoLockedBoolean-Account Auto Lock
      accountDisabledBoolean-Account Disabled
      accountSuspendedBoolean-Dormant Account
      accountSuspendedTimeDate-Dormant Account Time
      lastLoginTimeDate-Last Login Time
      accountStateString-Account State
      Table. User Attributes

      Operators are as follows.

      OperatorDescription
      EqualsSearches for users whose attribute value matches the condition value.
      Not EqualsSearches for users whose attribute value does not match the condition value.
      Starts withSearches for users whose attribute value starts with the condition string.
      Ends withSearches for users whose attribute value ends with the condition string.
      ContainsSearches for users whose attribute value contains the condition string.
      Table. Operators

      THEN Settings

      THEN result area sets the login method and procedure.

      In the access permission setting (a), you can select one of the following two options:

      • Deny Access
      • Allow Access Deny Access is selected, all user logins will be denied. (The default value of access permission setting (a) is Deny Access)

      To allow users to log in and set detailed login methods, select Allow Access.

      NameDescription
      Access Permission SettingSets the access permission.
      Primary Login SettingSets the primary login method. In addition to the default login method, additional login methods can be displayed on the login screen.
      Additional Login SettingSets to require additional login after the primary login is successful.
      Terms and Conditions Agreement SettingSets to display the terms and conditions and request agreement when the user logs in to SingleID for the first time.
      PC SSO Agent SettingSets to check if a security program (Endpoint Security) is installed on the user’s PC using the PC SSO Agent.
      Save ButtonSaves the modified login rules.
      Table. THEN
      1. In the selection list of the primary login setting, select the Authenticator to be used for login.
      2. If you want to allow the user to log in with another Authenticator in addition to the selected primary login method, select the checkbox (V) of And allow another factors below: and select one or more Authenticators in the text input box.
      Guide

      If Redirected to the external IdP is selected as the login entry method on the Initial Redirection screen, the primary login setting will not be displayed.

      The primary login is performed at the external Identity Provider according to the Initial Redirection setting.

      1. To allow users to log in through multi-factor authentication, select the checkbox (V) of the additional login setting and select one or more Authenticators in the text input field.
      2. To set the terms and conditions agreement when the user logs in to SingleID for the first time, select the checkbox of the terms and conditions agreement setting and select one or more terms or conditions to be displayed on the screen in the text input box.
      3. To check if a security program (Endpoint Security) is installed on the user’s PC using the PC SSO Agent, select the checkbox (V) of the PC SSO Agent setting. If this setting is enabled, login will be blocked for users who do not have a security program installed on their PC.

      If the PC SSO Agent is not registered, the PC SSO Agent setting item will not be displayed on the screen. While the PC SSO Agent setting is enabled, instead of blocking the login of users who do not have a security program installed on their PC, you can require additional authentication by selecting the checkbox below and selecting one or more Authenticators in the text input box.

      Click the Save button to register the login rule and return to the rule list.

      Rule Priority Management

      If one or more login rules have been added, the administrator can set the priority of the login rules. If a user meets the conditions set for multiple rules, the login method will be applied according to the rule with the higher priority.

      To set the priority of the login rules, follow the procedure below.

      1. Drag the area to the left of the rule name in the rule list with the mouse.
      2. The priority of the login rules will be determined based on the position where they are dragged and dropped.
      3. The higher the position in the rule list, the higher the priority.
      Note
      The Default Policy has the lowest priority and cannot be changed.

      Policy Status Change

      The status of the login policy managed by SingleID is as follows.

      StatusDescription
      ActiveLogin policy that is working normally
      InactiveLogin policy that has been suspended by the administrator
      Table. Policy Status
      Administrators can change the status of the login policy according to the current status of the login policy as follows:

      Current StatusChangeable StatusDescription
      ActiveInactiveYou can change the active login policy to inactive by clicking the Deactivate button.
      InactiveActiveYou can change the inactive login policy to active by clicking the Activate button. You can also delete the inactive login policy.
      Table. Policy Status
      Notice

      Two login policies provided by default in SingleID, Admin Portal Policy and Default Policy, cannot be deactivated.

      When a login policy is deactivated, the applications assigned to the deactivated login policy will be automatically changed to be assigned to the default policy (Default Policy).

      Policy Deactivation

      To deactivate an active login policy, follow these steps:

      1. Click the policy you want to deactivate in the policy list to move to the policy details screen.
      2. Click the Deactivate button.
      3. Confirm the login policy information (the number of assigned applications, the number of rules included in the login policy) displayed in the Confirm popup, and then click the Deactivate button.
      Notice

      When a login policy is deactivated, the applications assigned to the deactivated login policy will be automatically changed to be assigned to the default policy (Default Policy).

      Even if the deactivated login policy is changed back to active, the previously assigned applications will not be automatically reassigned.

      Policy Activation

      To change the login policy from inactive to active, follow these steps:

      1. Click on the policy you want to activate in the policy list to move to the policy details screen.
      2. Click the Activate button to change the status of the login policy to active.
      Notice
      When activating an inactive login policy, the status will be changed immediately without a separate confirmation popup.

      Policy Deletion

      The administrator can delete the login policy from SingleID.

      To delete a login policy, follow these steps:

      1. Click on the policy you want to delete in the policy list to move to the policy details screen.
      2. If the login policy is activated, click the Deactivate button to deactivate the policy.
      3. Click the Delete button displayed at the top right of the deactivated login policy.
      4. A popup screen will appear to confirm the deletion of the login policy.
      5. To delete the login policy, confirm the policy information, enter the name of the policy you want to delete, and click the Delete button.
      Note

      Deleted login policies cannot be recovered.

      When a login policy is deleted, the rules included in the policy are also deleted. Even if you register a login policy with the same name, the deleted rules or settings will not be recovered.

      Access Simulation

      As the number of login policies and rules increases, it can be difficult to understand which user is subject to which policy for login methods. SingleID provides an access simulation feature that allows administrators to quickly check the login policies and rules applied to users.

      Using the access simulation feature, you can select a user and an application to access, and define the user’s login environment (network, device, browser, OS) to predict in advance what kind of login method the user will experience in different cases.

      Additionally, if there are users who are having trouble logging in and need to review their requests, you can use the access simulation feature to quickly check and modify the policies or rules that are causing the problem.

      To use the access simulation feature, click the Access Simulation button at the top right of the login policy list screen.

      NameDescription
      User ID InputEnter the user ID to be simulated.
      Network SettingsSpecify the IP of the user to be simulated. The default value is “IP address anywhere”.
      Platform SettingsSpecify the device information of the user to be simulated. The default value is “Any platforms”.
      Browser SettingsSpecify the browser information of the user to be simulated. The default value is “Any browsers”.
      OS SettingsSpecify the OS information of the user to be simulated. The default value is “Any OS”.
      Application SelectionSelect the application to be simulated. Click the application selection button to display a popup.
      Run Simulation ButtonRun the access simulation.
      Simulation ResultsDisplay the access simulation results on the screen. The login policies and rules applied to the specified user are displayed.
      List ButtonReturn to the login policy list.
      Table. Access Simulation

      To run the access simulation, follow these steps:

      1. Enter the ID of the user to be simulated.
      2. Specify the IP of the user to be simulated. You can select Specific IP Address and enter the IP directly. Enter the IP in the format 123.123.123.123.
      3. Specify the device information of the user to be simulated. You can select Platform and choose a device from the selection list.
      4. Specifies the browser information of the user to be simulated. After selecting Browser, you can select a browser from the selection list.
      5. Specifies the OS information of the user to be simulated. After selecting OS, you can select an OS from the selection list.
      6. Click the Application Selection button to select the target application to be simulated.
      7. In the Application Selection popup, click the radio button to the left of the application name to select the application, and then click the Add button.
      Note

      If you want to reselect the application, click the X button to the right of the selected application name, and then click the Application Selection button again.

      1. Click the Simulation Run button.
      2. The access simulation is executed, and when the execution is finished, the login policy and rules screen are displayed according to the simulation result.

      Authentication Policy

      The administrator may need to change the detailed settings related to authentication according to the organization’s security policy.

      SingleID manages the detailed settings related to authentication in the following four policies:

      • Session policy
      • Authenticator policy
      • MFA Service Provider policy
      • Password policy

      To access the authentication policy menu, move as follows:

      • Admin Portal > Policy > Authentication Policy

      To modify the authentication policy, click the Modify button at the bottom right of the authentication policy screen, change the settings, and then click the Save button.

      Session Policy

      To change the session policy, follow the procedure below:

      1. Click the Modify button at the bottom right of the authentication policy screen.
      2. Set the maximum number of sessions that a user can create at the same time in the maximum session limit setting.
      3. The minimum value that can be set is 1, and the maximum value is 100. If set to 1, the user can only log in from one browser at a time and cannot log in from multiple PCs or browsers simultaneously.
      4. In the session priority setting, you can set the priority of the session created by the user. The priority can be one of the following two options:
        • Old session
        • New session

      If the maximum session limit is set to 1 and Old session is selected in the maximum session limit setting, when a logged-in user attempts to log in from another PC or browser that is not logged in, the login will be blocked.

      Additionally, if the maximum session limit is set to 1 and New session is selected in the maximum session limit setting, when a logged-in user attempts to log in from another PC or browser that is not logged in, the session of the previously logged-in browser will be forcibly expired, and the session of the new PC or browser will be maintained.

      In the maximum session time setting, you can set the maximum time to maintain a session.

      The maximum session time can be one of the following two options:

      • No time limit
      • Set time limit

      If set to No time limit, once a session is created, it will not expire automatically until the user logs out. If set to Set time limit and a time is set, the session will expire when the set time passes, and the user will be automatically logged out. In the maximum idle session time setting, you can set the maximum idle session time.

      If the maximum idle session time is set, the session will expire if the user does not make an authentication request within the set time, and the user will be automatically logged out.

      To save the changed settings, click the Save button at the bottom right of the authentication policy screen.

      To discard the changed settings without saving, click the Cancel button at the bottom right of the authentication policy screen.

      NameDescription
      Maximum session limit settingSets the maximum number of concurrent sessions for the user.
      Session priority settingSets the priority between the old session and the new session when the number of concurrent sessions exceeds the maximum allowed.
      Maximum Session Time SettingSets the maximum time to maintain a session after it is created. The session expires when the maximum session time elapses.
      Maximum Idle Session Time SettingSets the time when a session expires if a user does not make an authentication request to the server for a certain period after the session is created.
      Table. Access Simulation

      Authenticator Policy

      To change the Authenticator policy, follow the procedure below.

      1. Click the Edit button at the bottom right of the authentication policy screen.
      2. Set each item as follows.
      3. When the settings are complete, click the Save button.
      NameDescription
      Available Authenticator Settings
      (for login policy)
      Sets the Authenticators available for authentication.
      Registration Authentication MethodSets the primary identity verification method for users when registering an Authenticator.
      Additional AuthenticationSets the additional identity verification methods allowed for users when registering an Authenticator, in addition to the primary method.
      Account SearchSets the authentication method for ID search.
      Password ResetSets the authentication method for password search.
      Unlock SettingIf a user fails to authenticate repeatedly using Authenticators, their ID will be locked. This setting allows you to specify a time after which the lock will be automatically released.
      Table. Authenticator Policy
      Notice
      1. To remove an Authenticator specified in the available Authenticator settings, it must first be removed from all login policy rules.

      Note: I’ve translated only the Korean text into English, leaving the rest of the content (including HTML, code, and Hugo shortcodes) unchanged. 2. Configurable Authenticators can be registered in the Authenticator addition menu. Disabled Authenticators cannot be set in the available Authenticator settings.

      Notice

      If you haven’t purchased the MFA product

      • Available Authenticator settings (for login policy) will not be displayed on this screen.
      • To purchase additional MFA products, please contact us through Support Center > Inquiry.
      Notice
      1. If a user fails to log in due to repeated incorrect password entries and is locked out, the lock will not be released even after a certain period of time. The password lock and release method should be set in the Password Policy.

      2. If you reset a user’s password in the user menu, you can release the lock before the lock release waiting time. Please refer to the password reset.

      MFA Service Provider Policy

      To change the MFA Service Provider policy, follow the procedure below.

      1. Click the Edit button at the bottom right of the authentication policy screen.
      2. Refer to the table below and set each item accordingly.
      3. When the settings are complete, click the Save button.
      NameDescription
      Available Authenticator settings
      (for MFA Service Provider)
      Sets the Authenticator that users can use when an authentication request occurs from the MFA Service Provider.
      Terms and Conditions optionWhen a user is registered from the MFA Service Provider, it can display the terms and conditions and obtain the user’s consent.
      Lock release settingsWhen an authentication request occurs from the MFA Service Provider and a user fails to authenticate repeatedly, the ID will be locked. It can set the time for the locked user to be automatically released after a certain period of time.
      Table. MFA Service Provider Policy
      Notice
      1. To remove the specified Authenticator from the available Authenticator settings, the Authenticator must be removed from all MFA Service Providers first.

      2. The Authenticators that can be set are registered in the Authenticator addition menu. Disabled Authenticators cannot be set in the available Authenticator settings.

      3. To set up the terms and conditions to be displayed to the user and to request the user’s consent when the user authenticates from the MFA Service Provider for the first time, check the checkbox in the terms and conditions option and select one or more terms or conditions to be displayed on the screen in the text input box.

      4. If a user who authenticates from the MFA Service Provider repeatedly fails to authenticate, the user’s ID will be locked. To automatically unlock the lock after a certain period of time, set the lock release waiting time in the lock release settings.

      Password Policy

      To change the password policy, follow the procedure below.

      1. Click the Edit button at the bottom right of the authentication policy screen.
      2. Refer to the table below and set each item accordingly.
      3. When the settings are complete, click the Save button.
      NameDescription
      Password HistoryYou can set it to prevent the reuse of previously used passwords. Specify the number of recently used passwords to prevent reuse.
      The user will not be able to use the password used in the past as many times as set above.
      Password ExpirationSpecify the password validity period. After the validity period has passed, you must change your password to log in.
      It can be set from 1 day to 365 days.
      Password LockThe user’s ID will be locked when the password is repeatedly entered incorrectly. Specify the number of repeated input failures.
      • Automatic lock release after the set time (minutes) (1-1,440): The account that exceeds the set failure count will be locked for the set time (minutes). Enter the automatic lock release time (minutes).
      • Automatic lock release after password reset
      Pattern and ComplexitySet the minimum length, minimum characters, numbers, etc. of the password.
      Minimum Character SettingSpecify the minimum length of the password.
      Minimum Alphabet SettingSpecify the minimum number of alphabets to be included in the password.
      Minimum Number SettingSpecify the minimum number of numbers to be included in the password.
      Minimum special character settingSpecifies the minimum number of special characters to be included in the password.
      Maximum character settingSpecifies the maximum length of the password.
      Allow using user ID as passwordSets whether to allow the user’s ID to be included in the password.
      Table. Password policy
      Notice
      A user locked out due to repeated password input failure must reset their password themselves to be unlocked. To change the status of a user locked out due to repeated password input failure, refer to Changing User Status.

      Membership registration policy

      To allow user membership registration, you must activate the membership registration policy, which allows registration of users other than those provisioned from the personnel system or IdP. It provides features to register, create, modify, and delete accounts through account synchronization, as well as invite users through the login screen or email.

      To activate and use the membership registration policy, follow these steps:

      1. Admin Portal > Policy > Membership registration policy.
      2. Activate Allow user membership registration.
      3. After activation, the Policy tab and User invitation tab will appear.
      4. Refer to the explanations of the Policy tab and User invitation tab below and set the policy.
      5. Once the settings are complete, click the Save button.

      Policy

      You can set general membership registration policies.

      NameDescription
      Display membership registration link on login screenDisplays the membership registration link on the SingleID login screen.
      • Display SingleID membership registration screen as a link: Select when using the SingleID membership registration screen as default
      • Display external membership registration screen as a link: Select when having a separate membership registration page
      Terms and conditions optionSelects the terms and conditions agreement option during membership registration. During membership registration, you can apply terms and conditions separately.
      Allow membership registration invitationWhen activated, you can invite users by email. You can set it so that only invited users can join, without a separate membership registration page. In this case, joining through the SingleID membership registration link is not possible.
      Registration Input FormSets the user attributes to be input when signing up. Can be added as required.
      ID Duplication Prevention SettingIf activated, a suffix is added to the ID to prevent duplication.
      This setting is to prevent cases where the ID of an existing auto-provisioned account is the same.
      Since there are many cases where the ID value is the same, setting is recommended. When signing up, the PostFix value is added to the end of the ID.
      Maximum Usage PeriodThe maximum usage period is set after signing up. Can be set from 1 to 2000 days.
      Approval when Signing upWhen the sign-up approval setting is activated, the registered approval policy can be loaded and set.
      Table. Policy Tab

      Approval Policy

      The administrator can select the approval system and set the policy according to the type, such as sign-up policy and app access policy, with various approval lines. Various approval policies can be applied flexibly whenever the security policy changes.

      Approval is possible by dividing it into self-approval system function and Knox Portal approval system. If you need to link with another approval system, please request it through 1:1 inquiry.

      To check the approval policy, follow the path below.

      • Admin Portal > Policy > Approval Policy

      Approval Policy List

      The administrator can select the approval system and set the policy according to the type, such as sign-up policy and app access policy, with various approval lines. Various approval policies can be applied flexibly whenever the security policy changes.

      NameDescription
      IDAutomatically generated ID when creating an approval policy.
      Approval SystemDivided into SingleID and Knox Portal. If you need to register another approval system, please request it through 1:1 inquiry.
      TypeDivided into app access and sign-up.
      StatusApproval policy status. Unavailable means you need to change the approver and notifier.
      Approval UseDivided into in use and not in use. Details button click to view the applications using the approval policy.
      Table. Approval Policy List

      Approval Policy Registration

      Register button, you can set the approval system, type, approver, notification method, and approval period.

      NameDescription
      Approval System2 options are available.
      • SingleID : Self-approval, available through the user portal
      • Knox Portal : Samsung Knox Portal approval system, available for approval
      Type2 options are available.
      • App Access : Application access permission application selection
      • Membership : Membership registration application selection
      ApproverSelect and register the approver and notifier.
      Notification MethodSelect the notification method when an approval request is received by the approver and notifier.
      Table. Approval Policy Registration

      Anomaly Detection Policy

      SingleID collects and analyzes user behavior information in real-time before and after authentication, determining whether the authentication is abnormal. If it is identified as an abnormal authentication category, it immediately notifies the user of the risk.

      To access the anomaly detection policy menu, follow these steps:

      • Admin Portal > Policy > Anomaly Detection Policy
      Notice
      A detailed description of the anomaly detection policy menu is provided separately to ADM purchasing customers. If you have not purchased the anomaly detection feature as an option, you will not be able to view the policy management menu in the Admin Portal. If you want to use the anomaly detection feature, please contact us through 1:1 inquiry or sales representative.

      5.2.1.2.5 - Terms and Conditions

      The company using SingleID can manage the Personal Information Processing Policy and Terms of Use, etc. according to the situation and characteristics of each company.

      The organization can write a personal information processing policy according to the requirements and notify the user or show the terms of use or terms and conditions to the user using SingleID before use and obtain consent.

      Through the Terms and Conditions menu, you can notify users of the Personal Information Processing Policy, Terms of Use, and Terms and Conditions, and obtain consent.

      SingleID provides a basic template to make it easy to write terms and conditions.

      To access the Terms and Conditions menu, move as follows.

      • Tenant Admin Portal > Rebranding > Terms and Conditions

      The functions provided by the Terms and Conditions menu are as follows.

      • Terms and Conditions Attribute Setting
      • Terms and Conditions Version Management
      • Terms and Conditions Publication

      Terms and Conditions List

      The tenant administrator can view the terms and conditions in a list format.

      The basic template provided by SingleID is as follows.

      Terms Type Template

      • Privacy
      • Terms of Use
      • Collection and Use of Personal Information
      • Marketing

      Conditions Type Template

      • Are you over age 14?

      Cookie Type Template

      • Cookie

      By clicking on the terms and conditions to be modified in the list, you can move to the detailed screen of the terms and conditions.

      NameDescription
      TypeThe type is displayed in the form of an icon.
      NameThe name is displayed.
      DescriptionThe description is displayed.
      Type SettingThe type can be changed.
      NameThe name can be modified.
      Mandatory SettingThe mandatory setting can be set.
      Email Notification SettingWhether to set an email notification when the terms and conditions are changed.
      DescriptionThe description can be modified.
      Registration Date and RegistrarThe registration date and registrar are displayed.
      Last Modified DateThe last modified date and last modifier are displayed.
      List ButtonA button to return to the list.
      Modify ButtonModifies the terms and conditions.
      Table. Terms and Conditions List
      1. In the detailed screen of the terms and conditions, select the General Settings tab.
      2. Click the Modify button.
      3. You can modify the Title.
      4. You can modify the Mandatory setting. The available options are as follows.
        • Mandatory: When this term or condition is posted to the user, if the user does not agree, the use will be restricted so that the user cannot log in further.
        • Optional: The agreement is up to the user’s choice, and even if the user does not agree to the terms and conditions, there is no restriction on logging in.
        • Reference: The agreement is not checked.
      5. You can modify the description of the terms and conditions. The description is for reference by the administrator and is not displayed to the user.
      6. After modifying all settings, click the Save button.

      If you want to return to the inquiry state without saving the modified information, click the Cancel button.

      Terms and Conditions Version Management

      The tenant administrator can view and manage the version list of terms and conditions. The default version of terms and conditions is v1.0.0, and it is registered by default for each template when the tenant is created. To check the version list, click the Version History tab in the detailed screen of the terms and conditions.

      Version History

      The version history can be checked by clicking the Version item at the top of the personal information processing policy and terms of use.

      By clicking List, you can check the history of previously published versions. Once a version is published, it cannot be modified.

      Version Addition

      By clicking the Add button on the Version History tab, you can create a new version of the terms and conditions.

      To select version addition, follow the procedure below.

      1. Click the Add button on the Version History tab.
      2. Click the desired Locale to select the writing language.
      3. The selected language represents the region where the terms and conditions will be displayed. The terms and conditions must be written for each language.
      4. Enter the Title and Content for each language.
      5. Click the Save button and click the List button to return to the list.

      After completing the writing, review the written content.

      Republishing

      The newly written version is published by setting the republishing scheduled date.

      To publish a new version, follow the procedure below.

      1. Click the Republishing Scheduled Date button on the Version History tab.
      2. Set the Version.
      3. Set the Republishing Date.
      4. Set the Republishing Modification. If activated, the modified terms and conditions will be republished, and the user may need to agree based on the General Settings > Mandatory setting.
      5. Enter a simple reason for the modification.
      6. Click the Publishing Settings button to complete the settings.
      Note
      Before the republishing scheduled date, the title and content of the terms and conditions can be modified. After republishing, modification is not possible for version management. On the Version History tab, clicking the Delete button on the version history list cancels the republishing.

      5.2.1.2.6 - Open Source licence

      The open source licenses used in the SingleID solution are as follows: Please refer to the details below.

      SingleID_MobileApp_Client-APK

      The following sets forth attribution notices for third party software that may be contained in portions of this product. If you have any questions, please contact <global.cs@samsung.com.>

      LicenseOpen Source ComponentLicense Text
      Jdom LicenseJDOM(http://www.jdom.org/)JDOM License
      Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin. All rights reserved.
      Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

      1. Redistributions of source code must retain the above copyright notice, this list of conditions, and the following disclaimer.
      2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions, and the disclaimer that follows these conditions in the documentation and/or other materials provided with the distribution.
      3. The name “JDOM” must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact {request_AT_jdom_DOT_org}.
      4. Products derived from this software may not be called “JDOM”, nor may “JDOM” appear in their name, without prior written permission from the JDOM Project Management {request_AT_jdom_DOT_org}.

      In addition, we request (but do not require) that you include in the end-user documentation provided with the redistribution and/or in the software itself an acknowledgment equivalent to the following: “This product includes software developed by the JDOM Project (http://www.jdom.org/)." Alternatively, the acknowledgment may be graphical using the logos available at http://www.jdom.org/images/logos.

      THIS SOFTWARE IS PROVIDED “AS IS” AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE JDOM AUTHORS OR THE PROJECT CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
      MIT LicenseXamarin.Android.Support.VersionedParcelable (http://www.nuget.org/packages/Xamarin.Android .Support.VersionedParcelable) , Animal Sniffer Annotations (http://mojo.codehaus.org/animal-sniffer/ animal-sniffer-annotations) , Checker Qual (http://checkerframework.org) , Xamarin.Android.Support.SwipeRefreshLayout (http://www.nuget.org/packages/Xamarin.Android .Support.SwipeRefreshLayout) , chai (https://www.npmjs.org/package/chai) , The Legion of the Bouncy Castle (http://www.bouncycastle.org/index.html) , SLF4J API Module(http://www.slf4j.org) , jsrsasign(https://www.npmjs.org/package/jsrsasign) ,Checker Qual(http://checkerframework.org) , , jsrsasign (https://www.npmjs.org/package/jsrsasign) , Mocha(https://www.npmjs.org/package/mocha) , Xamarin.Android.Support.ViewPager (http://www.nuget.org/packages/Xamarin. Android.Support.ViewPager) , SLF4J LOG4J-12 Binding (http://www.slf4j.org) , android-gif-drawable (http://github.com/koral--/android-gif-drawable/)
      Android - platform - hardware - intel - common – libva (http://developer.android.com/index.html)
      The MIT License

      Xamarin.Android.Support.VersionedParcelable : Copyright (c) .NET Foundation Contributors

      Animal Sniffer Annotations : Copyright (c) 2009 codehaus.org.

      Checker Qual : Copyright 2004-present by the Checker Framework developers

      Xamarin.Android.Support.SwipeRefreshLayout : Copyright (c) .NET Foundation Contributors

      chai : Copyright (c) 2017 Chai.js Assertion Library

      The Legion of the Bouncy Castle : Copyright © 2013 Legion of the Bouncy Castle Inc. (ABN 84 166 338 567) All rights reserved.

      SLF4J API Module , SLF4J LOG4J-12 Binding : Copyright © 2004-2023 QOS.ch

      jsrsasign : Copyright (c) 2010-2021 Kenji Urushima

      Checker Qual : Copyright 2004-present by the Checker Framework developers

      Mocha: Copyright (c) 2011-2022 OpenJS Foundation and contributors, https://openjsf.org

      Xamarin.Android.Support.ViewPager , Android - platform - hardware - intel - common - libva: Copyright (c) .NET Foundation Contributors

      android-gif-drawable : Copyright (c) 2013 - present Karol Wrótniak, Droids on Roids LLC

      Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

      The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

      THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF License Open Source Component License Text MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
      SingleID_MobileApp_Client-APK

      SingleID_MobileApp_Client-IOS

      The following sets forth attribution notices for third party software that may be contained in portions of This product. If you have any questions, please contact global.cs@samsung.com

      LicenseOpen Source ComponentLicense Text
      Apache License 2.0Open Computer Vision Library (OpenCV): KA ProgressLabel:Apache License Version 2.0, January 2004

      http://www.apache.org/licenses/

      TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

      1. Definitions.

      “License” shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.

      “Licensor” shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.

      “Legal Entity” shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, “control” means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.

      “You” (or “Your”) shall mean an individual or Legal Entity exercising permissions granted by this License.

      “Source” form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.

      “Object” form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.

      “Work” shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).

      “Derivative Works” shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.

      “Contribution” shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, “submitted” means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as “Not a Contribution.”

      “Contributor” shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.

      1. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.

      2. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.

      4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
      a. You must give any other recipients of the Work or Derivative Works a copy of this License; and
      b. You must cause any modified files to carry prominent notices stating that You changed the files; and
      c. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, rademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
      d. If the Work includes a “NOTICE” text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.

      You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.

      5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.

      6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.

      7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.

      8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.

      9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
      END OF TERMS AND CONDITIONS

      APPENDIX: How to apply the Apache License to your work
      To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets “[]” replaced with your own identifying information. (Don’t include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same “printed page” as the copyright notice for easier identification within third-party archives.

      Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      Apple MIT LicenseApple Reachability: https://developer.apple.com/library/ios/samplecode/Reachability/Introduction/Intro.htmlDisclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc.

      (“Apple”) in consideration of your agreement to the following terms, and your use, installation, modification or redistribution of this Apple software constitutes acceptance of these terms. If you do not agree with these terms, please do not use, install, modify or redistribute this Apple software.

      In consideration of your agreement to abide by the following terms, and subject to these terms, Apple grants you a personal, non-exclusive license, under Apple’s copyrights in this original Apple software (the “Apple Software”), to use, reproduce, modify and redistribute the Apple Software, with or without modifications, in source and/or binary forms; provided that if you redistribute the Apple Software in its entirety and without modifications, you must retain this notice and the following text and disclaimers in all such redistributions of the Apple Software. Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to endorse or promote products derived from the Apple Software without specific prior written permission from Apple. Except as expressly stated in this notice, no other rights or licenses, express or implied, are granted by Apple herein, including but not limited to any patent rights that may be infringed by your derivative works or by other works in which the Apple Software may be incorporated.

      The Apple Software is provided by Apple on an “AS IS” basis. APPLE MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.

      IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
      Brian Gladman AES LicenseGladman AES: http://www.gladman.me.uk/AESBrian Gladman AES License

      Copyright (c) 1998-2013, Brian Gladman, Worcester, UK. All rights reserved. The redistribution and use of this software (with or without changes) is allowed without the payment of fees or royalties provided that:
      source code distributions include the above copyright notice, this list of conditions and the following disclaimer; binary distributions include the above copyright notice, this list of conditions and the following disclaimer in their documentation.
      This software is provided ‘as is’ with no explicit or implied warranties in respect of its operation, including, but not limited to, correctness and fitness for purpose.
      BSD 3-clause “New” or “Revised” LicenseTPPropertyAnimation: http://atastypixel.com/blog/key-path-based-property-animation

      Sqlcipher: https://cocoapods.org/pods/SQLCipher

      ASM All: http://asm.objectweb.org/asm/

      Protocol Buffers [BOM]: https://developers.google.com/protocol-buffers/
      TPPropertyAnimation: Copyright 2010 A TASTY PIXEL. All rights Reserved

      sqlcipher: Copyright (c) 2008-2023, ZETETIC LLC All rights reserved.

      ASM All: Copyright (c) 2000-2011 INRIA, France Telecom All rights reserved.

      Protocol Buffers [BOM]: Copyright 2008 Google Inc. All rights reserved.
      Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
      * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
      * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
      * Neither the name of the nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

      THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
      MIT LicenseSlatherOrg/slather: https://github.com/SlatherOrg/slather

      FDKeychain: https://cocoapods.org/pods/FDKeychain

      JSONModel: https://cocoapods.org/pods/JSONModel

      FLAnimatedImage: https://cocoapods.org/pods/FLAnimatedImage

      Ssziparchive: https://cocoapods.org/pods/SSZipArchive
      The MIT License

      SlatherOrg/slather: Copyright (c) 2014 Mark Larsen All rights reserved

      FDKeychain: Copyright (c) 2016 Reid Main All rights reserved

      JSONModel: Copyright (c) 2012-2016 Marin Todorov and JSONModel contributors All rights reserved

      FLAnimatedImage: Copyright (c) 2014-2016 Flipboard All rights reserved

      ssziparchive: Copyright (c) 2013-2021, ZipArchive, https://github.com/ZipArchive All rights reserved

      Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

      The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

      THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
      OpenSSL Combined LicenseOpenSSL - in C: http://www.openssl.orgLICENSE ISSUES

      The OpenSSL toolkit stays under a dual license, i.e. both the conditions of the OpenSSL License and the original SSLeay license apply to the toolkit. See below for the actual license texts. Actually both licenses are BSD-style Open Source licenses. In case of any license issues related to OpenSSL please contact openssl-core@openssl.org.

      OpenSSL License —————

      Copyright (c) 1998-2008 The OpenSSL Project. All rights reserved.

      Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

      1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
      2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
      3. All advertising materials mentioning features or use of this software must display the following acknowledgment: “This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
      4. The names “OpenSSL Toolkit” and “OpenSSL Project” must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact openssl-core@openssl.org.
      5. Products derived from this software may not be called “OpenSSL” nor may “OpenSSL” appear in their names without prior written permission of the OpenSSL Project.
      6. Redistributions of any form whatsoever must retain the following acknowledgment:

      “This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/)"

      THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT “AS IS” AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

      This product includes cryptographic software written by Eric Young (eay@cryptsoft.com). This product includes software written by Tim Hudson (tjh@cryptsoft.com).

      Original SSLeay License

      Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) All rights reserved.

      This package is an SSL implementation written by Eric Young (eay@cryptsoft.com).
      The implementation was written so as to conform with Netscapes SSL.

      This library is free for commercial and non-commercial use as long as the following conditions are aheared to. The following conditions apply to all code found in this distribution, be it the RC4, RSA, lhash, DES, etc., code; not just the SSL code. The SSL documentation included with this distribution is covered by the same copyright terms except that the holder is Tim Hudson (tjh@cryptsoft.com). Copyright remains Eric Young’s, and as such any Copyright notices in the code are not to be removed. If this package is used in a product, Eric Young should be given attribution as the author of the parts of the library used. This can be in the form of a textual message at program startup or in documentation (online or textual) provided with the package.

      Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

      1. Redistributions of source code must retain the copyright notice, this list of conditions and the following disclaimer.
      2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
      3. All advertising materials mentioning features or use of this software must display the following acknowledgement:

      “This product includes cryptographic software written by Eric Young (eay@cryptsoft.com)” The word ‘cryptographic’ can be left out if the rouines from the library being used are not cryptographic related :-).
      4. If you include any Windows specific code (or a derivative thereof) from the apps directory (application code) you must include an acknowledgement: “This product includes software written by Tim Hudson (tjh@cryptsoft.com)”

      THIS SOFTWARE IS PROVIDED BY ERIC YOUNG “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

      The licence and distribution terms for any publically available version or derivative of this code cannot be changed. i.e. this code cannot simply be copied and put under another distribution licence [including the GNU Public Licence.]
      zlib LicenseBase64: https://cocoapods.org/pods/Base64nl

      minizip: http://tracker.debian.org/pkg/minizip
      The zlib/libpng License

      Copyright (c)

      This software is provided ‘as-is’, without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.

      Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:

      1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
      2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
      3. This notice may not be removed or altered from any source distribution.
      SingleID_MobileApp_Client-APK

      SingleID_MobileApp_Flutter-UMA

      The following sets forth attribution notices for third party software that may be contained in portions of this product. If you have any questions, please contact global.cs@samsung.com

      LicenseOpen Source ComponentLicense Text
      Apache License 2.0Android Support Library media compat, Converter: Gson, Adapter: RxJava 2, Android Support Library core utils, Android Arch-Runtime, Guava (Google Common Libraries), Android Support AnimatedVectorDrawable, Android Support Library core UI, Android Support Library Custom View - androidx.customview:customview, Android Lifecycle LiveData, OkHttp, Gson, android.support.annotation, Android Support Library Custom View - androidx.swiperefreshlayout:swiperefreshlayout, Android Support Library v4, OkHttp, Android Lifecycle ViewModel, Commons Lang, rxjava, Android Support Library compat, Roboto Fonts, Apache Commons Collections, Android Support Library v4, Android Lifecycle LiveData Core, RxAndroid, joda-time, okio, Apache Commons IO, JetBrains/java-annotations, Android AppCompat Library v7, Android Support Library Collections, Android Support VectorDrawable, Kotlin Stdlib, Android Lifecycle-Common, Android Support Library loader, RetrofitApache License Version 2.0, January 2004

      http://www.apache.org/licenses/

      TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

      1. Definitions.

      “License” shall me an the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.

      “Licensor” shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.

      “Legal Entity” shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, “control” means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.

      “You” (or “Your”) shall mean an individual or Legal Entity exercising permissions granted by this License.

      “Source” form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.

      “Object” form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.

      “Work” shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).

      “Derivative Works” shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.

      “Contribution” shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, “submitted” means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as “Not a Contribution.”

      “Contributor” shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.

      2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.

      3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.

      4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:

      a. You must give any other recipients of the Work or Derivative Works a copy of this License; and
      b. You must cause any modified files to carry prominent notices stating that You changed the files; and
      c. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
      d. If the Work includes a “NOTICE” text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.

      You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.

      5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.

      6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.

      7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.

      8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.

      9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.

      END OF TERMS AND CONDITIONS

      APPENDIX: How to apply the Apache License to your work

      To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets “[]” replaced with your own identifying information. (Don’t include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same “printed page” as the copyright notice for easier identification within third-party archives.

      Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      Creative Commons Zero v1.0 Universalreactive-streams: http://www.reactive-streams.org/Creative Commons CC0 1.0 Universal

      Creative Commons Legal Code CC0 1.0 Universal

      CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN “AS-IS” BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER.

      Statement of Purpose

      The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an “owner”) of an original work of authorship and/or a database (each, a “Work”).

      Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works (“Commons”) that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others.

      For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the “Affirmer”), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights.

      1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights (“Copyright and Related Rights”). Copyright and Related Rights include, but are not limited to, the following:

      i. the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work;

      ii. moral rights retained by the original author(s) and/or performer(s);

      iii. publicity and privacy rights pertaining to a person’s image or likeness depicted in a Work;

      iv. rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below;

      v. rights protecting the extraction, dissemination, use and reuse of data in a Work;

      vi. database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and

      vii. other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof.

      2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer’s Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work

      i. in all territories worldwide,

      ii. for the maximum duration provided by applicable law or treaty (including future time extensions),

      iii. in any current or future medium and for any number of copies, and

      iv. for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the “Waiver”).

      Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer’s heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer’s express Statement of Purpose.

      3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer’s express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer’s Copyright and Related Rights in the Work

      i. in all territories worldwide,

      ii. for the maximum duration provided by applicable law or treaty (including future time extensions),

      iii. in any current or future medium and for any number of copies, and

      iv. for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the “License”).

      The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not i. exercise any of his or her remaining Copyright and Related Rights in the Work or ii. assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer’s express Statement of Purpose.

      4. Limitations and Disclaimers.

      a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document.

      b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law.

      c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person’s Copyright and Related Rights in the Work. Further,

      Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work.
      ISC Licensegotham-fonts: https://www.npmjs.org/package/gotham-fontsISC License (ISCL)

      gotham-fonts : Copyright @ Bogdan Pop

      Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.

      THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
      MIT LicenseXamarin.Android.Support.VersionedParcelable: http://www.nuget.org/packages/Xamarin.Android.Support.VersionedParcelable

      Xamarin.Android.Support.CoordinaterLayout: http://www.nuget.org/packages/Xamarin.Android.Support.CoordinaterLayout

      The Legion of the Bouncy Castle: http://www.bouncycastle.org/index.html

      Xamarin.Android.Support.SlidingPaneLayout: http://www.nuget.org/packages/Xamarin.Android.Support.SlidingPaneLayout

      XamarinLibrary.Xamarin.Android.Support.Multidex: https://www.nuget.org/packages/XamarinLibrary.Xamarin.Android.Support.Multidex

      Xamarin.Android.Support.Interpolator: http://www.nuget.org/packages/Xamarin.Android.Support.Interpolator

      Xamarin.Android.Support.LocalBroadcastManager: http://www.nuget.org/packages/Xamarin.Android.Support.LocalBroadcastManager

      Xamarin.Android.Support.DrawerLayout: http://www.nuget.org/packages/Xamarin.Android.Support.DrawerLayout

      @fontsource/Montserrat: https://www.npmjs.org/package/@fontsource/montserrat

      Xamarin.Android.Support.DocumentFile: http://www.nuget.org/packages/Xamarin.Android.Support.DocumentFile

      Xamarin.Android.Support.Print: http://www.nuget.org/packages/Xamarin.Android.Support.Print

      Xamarin.Android.Support.AsyncLayoutInflater: http://www.nuget.org/packages/Xamarin.Android.Support.AsyncLayoutInflater

      SLF4J API Module: http://www.slf4j.org

      Xamarin.Android.Support.ViewPager: http://www.nuget.org/packages/Xamarin.Android.Support.ViewPager

      secure-random: http://github.com/avodonosov/secure-random/

      Xamarin.Android.Support.CursorAdapter: http://www.nuget.org/packages/Xamarin.Android.Support.CursorAdapter
      The MIT License

      Xamarin.Android.Support.VersionedParcelable: Copyright (c) .NET Foundation Contributors All rights reserved.

      Xamarin.Android.Support.CoordinaterLayout: Copyright (c) .NET Foundation Contributors All rights reserved.

      The Legion of the Bouncy Castle: Copyright (c) 2000-2023 The Legion of the Bouncy Castle Inc. (https://www.bouncycastle.org)

      All rights reserved.

      Xamarin.Android.Support.SlidingPaneLayout: Copyright (c) .NET Foundation Contributors All rights reserved.

      XamarinLibrary.Xamarin.Android.Support.Multidex: Copyright (c) .NET Foundation Contributors All rights reserved.

      Xamarin.Android.Support.Interpolator: Copyright (c) .NET Foundation Contributors All rights reserved.

      Xamarin.Android.Support.LocalBroadcastManager: Copyright (c) .NET Foundation Contributors All rights reserved.

      Xamarin.Android.Support.DrawerLayout: Copyright (c) .NET Foundation Contributors All rights reserved.

      @fontsource/Montserrat: Copyright (c) 2023 fontsource All rights reserved.

      Xamarin.Android.Support.DocumentFile: Copyright (c) .NET Foundation Contributors All rights reserved.

      Xamarin.Android.Support.Print: Copyright (c) .NET Foundation Contributors All rights reserved.

      Xamarin.Android.Support.AsyncLayoutInflater: Copyright (c) .NET Foundation Contributors All rights reserved.

      SLF4J API Module: Copyright © 2004-2023 QOS.ch All rights reserved.

      Xamarin.Android.Support.ViewPager: Copyright (c) .NET Foundation Contributors All rights reserved.

      secure-random: Copyright (C) 2011 by Anton Vodonosov (avodonosov@yandex.ru). All rights reserved.

      Xamarin.Android.Support.CursorAdapter: Copyright (c) .NET Foundation Contributors All rights reserved.

      Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

      THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
      SIL Open Font License 1.1@fontsource/rubik, https://www.npmjs.org/package/@fontsource/rubik

      @fontsource/montserrat https://www.npmjs.org/package/@fontsource/montserrat
      SIL OPEN FONT LICENSE

      Version 1.1 - 26 February 2007

      PREAMBLE

      The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.

      The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.

      DEFINITIONS

      “Font Software” refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.

      “Reserved Font Name” refers to any names specified as such after the copyright statement(s).

      “Original Version” refers to the collection of Font Software components as distributed by the Copyright Holder(s).

      “Modified Version” refers to any derivative made by adding to, deleting, or substituting — in part or in whole — any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.

      “Author” refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.

      PERMISSION & CONDITIONS

      Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:

      1. Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.

      2. Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.

      3. No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.

      4. The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.

      5. The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.

      TERMINATION

      This license becomes null and void if any of the above conditions are not met.

      DISCLAIMER

      THE FONT SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
      SingleID_MobileApp_Flutter-UMA

      SingleID_SSO-Agent-Windows

      The following sets forth attribution notices for third party software that may be contained in portions of this product. If you have any questions, please contact global.cs@samsung.com

      LicenseOpen Source ComponentLicense Text
      BSD 3-clause “New” or “Revised” LicenseNLog - Advanced .NET Logging http://www.nuget.org/packages/NLogNLog - Advanced .NET Logging:

      Copyright (c)2004-2023 Nlog

      Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

      * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

      * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

      * Neither the name of the nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

      THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
      MIT LicenseJose JWT: http://www.nuget.org/packages/jose-jwt

      cassia: http://www.nuget.org/packages/Cassia

      Bouncy-Castle: https://www.nuget.org/packages/Bouncy-Castle

      Fody: http://www.nuget.org/packages/Fody

      Json.NET: http://www.nuget.org/packages/Newtonsoft.Json

      Costura.Fody: http://www.nuget.org/packages/Costura.Fody

      Opencover: http://www.nuget.org/packages/OpenCover

      Fleck2: http://www.nuget.org/packages/Fleck2

      chartist-js: http://github.com/gionkunz/chartist-js/
      The MIT License

      Jose JWT: Copyright (c) 2014-2021 dvsekhvalnov

      cassia: Copyright (c) 2008 - 2017 Dan Ports

      Bouncy-Castle: Copyright (c) 2000-2023 The Legion of the Bouncy Castle Inc.

      Bouncy-Castle: https://www.nuget.org/packages/Bouncy-Castle

      Fody: http://www.nuget.org/packages/Fody

      Json.NET: http://www.nuget.org/packages/Newtonsoft.Json

      Costura.Fody: http://www.nuget.org/packages/Costura.Fody

      Opencover: http://www.nuget.org/packages/OpenCover

      Fleck2: http://www.nuget.org/packages/Fleck2

      chartist-js: http://github.com/gionkunz/chartist-js/

      Fody: Copyright (c) Simon Cropp Json.NET: Copyright (c) 2007 James Newton-King

      Costura.Fody: Copyright (c) 2012 Simon Cropp and contributors

      Opencover: Copyright (c) 2011-2019 Shaun Wilde

      Fleck2: Copyright (c) 2013 Peter Sunde

      Copyright (c) 2010-2012 Jason Staten

      chartist-js: Copyright (c)2013 Gion Kunz gion.kunz@gmail.com

      Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

      The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

      THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
      Mozilla Public License 2.0OpenRPA: https://github.com/open-rpa/openrpa.gitMozilla Public License Version 2.0

      1. Definitions

      1.1. “Contributor”

      means each individual or legal entity that creates, contributes to the creation of, or owns Covered Software.

      1.2. “Contributor Version”

      means the combination of the Contributions of others (if any) used by a Contributor and that particular Contributor’s Contribution.

      1.3. “Contribution”

      means Covered Software of a particular Contributor.

      1.4. “Covered Software”

      means Source Code Form to which the initial Contributor has attached the notice in Exhibit A, the Executable Form of such Source Code Form, and Modifications of such Source Code Form, in each case including portions thereof.

      1.5. “Incompatible With Secondary Licenses”

      means

      a. that the initial Contributor has attached the notice described in Exhibit B to the Covered Software; or

      b. that the Covered Software was made available under the terms of version 1.1 or earlier of the License, but not also under the terms of a Secondary License.

      1.6. “Executable Form”

      means any form of the work other than Source Code Form.

      1.7. “Larger Work”

      means a work that combines Covered Software with other material, in a separate file or files, that is not Covered Software.

      1.8. “License”

      means this document.

      1.9. “Licensable”

      means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently, any and all of the rights conveyed by this License.

      1.10. “Modifications”

      means any of the following:

      c. any file in Source Code Form that results from an addition to, deletion from, or modification of the contents of Covered Software; or

      d. any new file in Source Code Form that contains any Covered Software.

      1.11. “Patent Claims” of a Contributor

      means any patent claim(s), including without limitation, method, process, and apparatus claims, in any patent Licensable by such Contributor that would be infringed, but for the grant of the License, by the making, using, selling, offering for sale, having made, import, or transfer of either its Contributions or its Contributor Version.

      1.12. “Secondary License”

      means either the GNU General Public License, Version 2.0, the GNU Lesser General Public License, Version 2.1, the GNU Affero General Public License, Version 3.0, or any later versions of those licenses.

      1.13. “Source Code Form”

      means the form of the work preferred for making modifications.

      1.14. “You” (or “Your”)

      means an individual or a legal entity exercising rights under this License. For legal entities, “You” includes any entity that controls, is controlled by, or is under common control with You. For purposes of this definition, “control” means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity.

      2. License Grants and Conditions

      2.1. Grants

      Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license:

      a. under intellectual property rights (other than patent or trademark) Licensable by such Contributor to use, reproduce, make available, modify, display, perform, distribute, and otherwise exploit its Contributions, either on an unmodified basis, with Modifications, or as part of a Larger Work; and

      b. under Patent Claims of such Contributor to make, use, sell, offer for sale, have made, import, and otherwise transfer either its Contributions or its Contributor Version.

      2.2. Effective Date

      The licenses granted in Section 2.1 with respect to any Contribution become effective for each Contribution on the date the Contributor first distributes such Contribution.

      2.3. Limitations on Grant Scope

      The licenses granted in this Section 2 are the only rights granted under this License. No additional rights or licenses will be implied from the distribution or licensing of Covered Software under this License. Notwithstanding Section 2.1(b) above, no patent license is granted by a Contributor:

      c. for any code that a Contributor has removed from Covered Software; or

      d. for infringements caused by: (i) Your and any other third party’s modifications of Covered Software, or (ii) the combination of its Contributions with other software (except as part of its Contributor Version); or

      e. under Patent Claims infringed by Covered Software in the absence of its Contributions.

      This License does not grant any rights in the trademarks, service marks, or logos of any Contributor (except as may be necessary to comply with the notice requirements in Section 3.4).

      2.4. Subsequent Licenses

      No Contributor makes additional grants as a result of Your choice to distribute the Covered Software under a subsequent version of this License (see Section 10.2) or under the terms of a Secondary License (if permitted under the terms of Section 3.3).

      2.5. Representation

      Each Contributor represents that the Contributor believes its Contributions are its original creation(s) or it has sufficient rights to grant the rights to its Contributions conveyed by this License.

      2.6. Fair Use

      This License is not intended to limit any rights You have under applicable copyright doctrines of fair use, fair dealing, or other equivalents.

      2.7. Conditions

      Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in Section 2.1.

      3. Responsibilities

      3.1. Distribution of Source Form

      All distribution of Covered Software in Source Code Form, including any Modifications that You create or to which You contribute, must be under the terms of this License. You must inform recipients that the Source Code Form of the Covered Software is governed by the terms of this License, and how they can obtain a copy of this License. You may not attempt to alter or restrict the recipients’ rights in the Source Code Form.

      3.2. Distribution of Executable Form

      If You distribute Covered Software in Executable Form then:

      a. such Covered Software must also be made available in Source Code Form, as described in Section 3.1, and You must inform recipients of the Executable Form how they can obtain a copy of such Source Code Form by reasonable means in a timely manner, at a charge no more than the cost of distribution to the recipient; and

      b. You may distribute such Executable Form under the terms of this License, or sublicense it under different terms, provided that the license for the Executable Form does not attempt to limit or alter the recipients’ rights in the Source Code Form under this License.

      3.3. Distribution of a Larger Work

      You may create and distribute a Larger Work under terms of Your choice, provided that You also comply with the requirements of this License for the Covered Software. If the Larger Work is a combination of Covered Software with a work governed by one or more Secondary Licenses, and the Covered Software is not Incompatible With Secondary Licenses, this License permits You to additionally distribute such Covered Software under the terms of such Secondary License(s), so that the recipient of the Larger Work may, at their option, further distribute the Covered Software under the terms of either this License or such Secondary License(s).

      3.4. Notices

      You may not remove or alter the substance of any license notices (including copyright notices, patent notices, disclaimers of warranty, or limitations of liability) contained within the Source Code Form of the Covered Software, except that You may alter any license notices to the extent required to remedy known factual inaccuracies.

      3.5. Application of Additional Terms

      You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Software. However, You may do so only on Your own behalf, and not on behalf of any Contributor. You must make it absolutely clear that any such warranty, support, indemnity, or liability obligation is offered by You alone, and You hereby agree to indemnify every Contributor for any liability incurred by such Contributor as a result of warranty, support, indemnity or liability terms You offer. You may include additional disclaimers of warranty and limitations of liability specific to any jurisdiction.

      4. Inability to Comply Due to Statute or Regulation

      If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Software due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be placed in a text file included with all distributions of the Covered Software under this License. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it.

      5. Termination

      5.1. The rights granted under this License will terminate automatically if You fail to comply with any of its terms. However, if You become compliant, then the rights granted under this License from a particular Contributor are reinstated (a) provisionally, unless and until such Contributor explicitly and finally terminates Your grants, and (b) on an ongoing basis, if such Contributor fails to notify You of the non-compliance by some reasonable means prior to 60 days after You have come back into compliance. Moreover, Your grants from a particular Contributor are reinstated on an ongoing basis if such Contributor notifies You of the non-compliance by some reasonable means, this is the first time You have received notice of non-compliance with this License from such Contributor, and You become compliant prior to 30 days after Your receipt of the notice.

      5.2. If You initiate litigation against any entity by asserting a patent infringement claim (excluding declaratory judgment actions, counter-claims, and cross-claims) alleging that a Contributor Version directly or indirectly infringes any patent, then the rights granted to You by any and all Contributors for the Covered Software under Section 2.1 of this License shall terminate.

      5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or Your distributors under this License prior to termination shall survive termination.

      6. Disclaimer of Warranty

      Covered Software is provided under this License on an “as is” basis, without warranty of any kind, either expressed, implied, or statutory, including, without limitation, warranties that the Covered Software is free of defects, merchantable, fit for a particular purpose or non-infringing. The entire risk as to the quality and performance of the Covered Software is with You. Should any Covered Software prove defective in any respect, You (not any Contributor) assume the cost of any necessary servicing, repair, or correction. This disclaimer of warranty constitutes an essential part of this License. No use of any Covered Software is authorized under this License except under this disclaimer.

      7. Limitation of Liability

      Under no circumstances and under no legal theory, whether tort (including negligence), contract, or otherwise, shall any Contributor, or anyone who distributes Covered Software as permitted above, be liable to You for any direct, indirect, special, incidental, or consequential damages of any character including, without limitation, damages for lost profits, loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses, even if such party shall have been informed of the possibility of such damages. This limitation of liability shall not apply to liability for death or personal injury resulting from such party’s negligence to the extent applicable law prohibits such limitation. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so this exclusion and limitation may not apply to You.

      8. Litigation

      Any litigation relating to this License may be brought only in the courts of a jurisdiction where the defendant maintains its principal place of business and such litigation shall be governed by laws of that jurisdiction, without reference to its conflict-of-law provisions. Nothing in this Section shall prevent a party’s ability to bring cross-claims or counter-claims.

      9. Miscellaneous This License represents the complete agreement concerning the subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not be used to construe this License against a Contributor.

      10. Versions of the License

      10.1. New Versions Mozilla Foundation is the license steward. Except as provided in Section 10.3, no one other than the license steward has the right to modify or publish new versions of this License. Each version will be given a distinguishing version number.

      10.2. Effect of New Versions You may distribute the Covered Software under the terms of the version of the License under which You originally received the Covered Software, or under the terms of any subsequent version published by the license steward.

      10.3. Modified Versions

      If you create software not governed by this License, and you want to create a new license for such software, you may create and use a modified version of this License if you rename the license and remove any references to the name of the license steward (except to note that such modified license differs from this License).

      10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses

      If You choose to distribute Source Code Form that is Incompatible With Secondary Licenses under the terms of this version of the License, the notice described in Exhibit B of this License must be attached.

      Exhibit A - Source Code Form License Notice

      This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.

      If it is not possible or desirable to put the notice in a particular file, then You may include the notice in a location (such as a LICENSE file in a relevant directory) where a recipient would be likely to look for such a notice.

      You may add additional accurate notices of copyright ownership.

      Exhibit B - “Incompatible With Secondary Licenses” Notice

      This Source Code Form is “Incompatible With Secondary Licenses”, as defined by the Mozilla Public License, v. 2.0.
      SingleID_SSO-Agent-Windows

      SingleID_ADFS-Adapter

      The following sets forth attribution notices for third party software that may be contained in portions of this product. If you have any questions, please contact global.cs@samsung.com

      LicenseOpen Source ComponentLicense Text
      Apache License 2.0Microsoft.NetFramework.Analyzers, Microsoft.CodeAnalysis.VersionCheckAnalyzer, Microsoft.NetCore.Analyzers, Microsoft.CodeAnalysis.FxCopAnalyzers, Microsoft.CodeQuality.AnalyzersApache License Version 2.0, January 2004

      http://www.apache.org/licenses/

      TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

      1. Definitions.

      “License” shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.

      “Licensor” shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.

      “Legal Entity” shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, “control” means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.

      “You” (or “Your”) shall mean an individual or Legal Entity exercising permissions granted by this License. “Source” form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.

      “Object” form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.

      “Work” shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice License Open Source Software License Text that is included in or attached to the work (an example is provided in the Appendix below).

      “Derivative Works” shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.

      “Contribution” shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, “submitted” means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as “Not a Contribution.”

      “Contributor” shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.

      2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.

      3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.

      4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:

      a. You must give any other recipients of the Work or Derivative Works a copy of this License; and

      b. You must cause any modified files to carry prominent notices stating that You changed the files; and

      c. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and

      d. If the Work includes a “NOTICE” text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License.

      You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.

      You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.

      5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.

      6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.

      7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or License Open Source Software License Text redistributing the Work and assume any risks associated with Your exercise of permissions under this License.

      8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.

      9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.

      END OF TERMS AND CONDITIONS

      APPENDIX: How to apply the Apache License to your work

      To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets “[]” replaced with your own identifying information. (Don’t include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same “printed page” as the copyright notice for easier identification within third-party archives.

      Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      Microsoft .NET Library LicenseSystem.Security.Claims http://www.nuget.org/packages/System.Security.ClaimsMICROSOFT SOFTWARE LICENSE TERMS MICROSOFT .NET LIBRARY

      These license terms are an agreement between Microsoft Corporation (or based on where you live, one of its affiliates) and you. Please read them. They apply to the software named above, which includes the media on which you received it, if any. The terms also apply to any Microsoft

      * updates,

      * supplements,

      * Internet-based services, and

      * support services

      for this software, unless other terms accompany those items. If so, those terms apply.

      BY USING THE SOFTWARE, YOU ACCEPT THESE TERMS. IF YOU DO NOT ACCEPT THEM, DO NOT USE THE SOFTWARE.

      IF YOU COMPLY WITH THESE LICENSE TERMS, YOU HAVE THE PERPETUAL RIGHTS BELOW.

      1. INSTALLATION AND USE RIGHTS.

      a. Installation and Use. You may install and use any number of copies of the software to design, develop and test your programs. You may modify, copy, distribute or deploy any .js files contained in the software as part of your programs.

      b. Third Party Programs. The software may include third party programs that Microsoft, not the third party, licenses to you under this agreement. Notices, if any, for the third party program are included for your information only.

      2. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS.

      a. DISTRIBUTABLE CODE. In addition to the .js files described above, the software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in programs you develop if you comply with the terms below.

      i. Right to Use and Distribute.

      * You may copy and distribute the object code form of the software.

      * Third Party Distribution. You may permit distributors of your programs to copy and distribute the Distributable Code as part of those programs.

      ii. Distribution Requirements. For any Distributable Code you distribute, you must

      * use the Distributable Code in your programs and not as a standalone distribution;

      * require distributors and external end users to agree to terms that protect it at least as much as this agreement;

      * display your valid copyright notice on your programs; and

      * indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your programs.

      iii. Distribution Restrictions. You may not

      * alter any copyright, trademark or patent notice in the Distributable Code;

      * use Microsoft’s trademarks in your programs’ names or in a way that suggests your programs come from or are endorsed by Microsoft;

      * include Distributable Code in malicious, deceptive or unlawful programs; or

      * modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An Excluded License is one that requires, as a condition of use, modification or distribution, that

      * the code be disclosed or distributed in source code form; or

      * others have the right to modify it. 3. SCOPE OF LICENSE. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not

      * work around any technical limitations in the software;

      * reverse engineer, decompile or disassemble the software, except and only to the extent that applicable law expressly permits, despite this limitation;

      * publish the software for others to copy;

      * rent, lease or lend the software; or

      * transfer the software or this agreement to any third party.

      BACKUP COPY.

      You may make one backup copy of the software. You may use it only to reinstall the software.

      DOCUMENTATION.

      Any person that has valid access to your computer or internal network may copy and use the documentation for your internal, reference purposes.

      EXPORT RESTRICTIONS.

      The software is subject to United States export laws and regulations. You must comply with all domestic and international export laws and regulations that apply to the software. These laws include restrictions on destinations, end users and end use. For additional information, see www.microsoft.com/exporting SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. ENTIRE AGREEMENT. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. APPLICABLE LAW.

      a. United States. If you acquired the software in the United States, Washington state law governs the interpretation of this agreement and applies to claims for breach of it, regardless of conflict of laws principles. The laws of the state where you live govern all other claims, including claims under state consumer protection laws, unfair competition laws, and in tort.

      b. Outside the United States. If you acquired the software in any other country, the laws of that country apply.

      LEGAL EFFECT.

      This agreement describes certain legal rights. You may have other rights under the laws of your country. You may also have rights with respect to the party from whom you acquired the software. This agreement does not change your rights under the laws of your country if the laws of your country do not permit it to do so.

      DISCLAIMER OF WARRANTY. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. YOU MAY HAVE ADDITIONAL CONSUMER RIGHTS OR STATUTORY GUARANTEES UNDER YOUR LOCAL LAWS WHICH THIS AGREEMENT CANNOT CHANGE. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.

      FOR AUSTRALIA – YOU HAVE STATUTORY GUARANTEES UNDER THE AUSTRALIAN CONSUMER LAW AND NOTHING IN THESE TERMS IS INTENDED TO AFFECT THOSE RIGHTS.

      LIMITATION ON AND EXCLUSION OF REMEDIES AND DAMAGES. YOU CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. $5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES.

      This limitation applies to

      * anything related to the software, services, content (including code) on third party Internet sites, or third party programs; and claims for breach of contract, breach of warranty, guarantee or condition, strict liability, negligence, or other tort to the extent permitted by applicable law.

      It also applies even if Microsoft knew or should have known about the possibility of the damages. The above limitation or exclusion may not apply to you because your country may not allow the exclusion or limitation of incidental, consequential or other damages.

      Please note: As this software is distributed in Quebec, Canada, some of the clauses in this agreement are provided below in French.

      Remarque : Ce logiciel étant distribué au Québec, Canada, certaines des clauses dans ce contrat sont fournies ci-dessous en français.

      EXONÉRATION DE GARANTIE. Le logiciel visé par une licence est offert « tel quel ». Toute utilisation de ce logiciel est à votre seule risque et péril. Microsoft n’accorde aucune autre garantie expresse. Vous pouvez bénéficier de droits additionnels en vertu du droit local sur la protection des consommateurs, que ce contrat ne peut modifier. La ou elles sont permises par le droit locale, les garanties implicites de qualité marchande, d’adéquation à un usage particulier et d’absence de contrefaçon sont exclues.

      LIMITATION DES DOMMAGES-INTÉRÊTS ET EXCLUSION DE RESPONSABILITÉ POUR LES DOMMAGES. Vous pouvez obtenir de Microsoft et de ses fournisseurs une indemnisation en cas de dommages directs uniquement à hauteur de 5,00 $ US. Vous ne pouvez prétendre àaucune indemnisation pour les autres dommages, y compris les dommages spéciaux, indirects ou accessoires et pertes de bénéfices.

      Cette limitation concerne :

      * tout ce qui est relié au logiciel, aux services ou au contenu (y compris le code) figurant sur des sites Internet tiers ou dans des programmes tiers ; et

      * les réclamations au titre de violation de contrat ou de garantie, ou au titre de responsabilité stricte, de négligence ou d’une autre faute dans la limite autorisée par la loi en vigueur.

      Elle s’applique également, même si Microsoft connaissait ou devrait connaître l’éventualité d’un tel dommage. Si votre pays n’autorise pas l’exclusion ou la limitation de responsabilité pour les dommages indirects, accessoires ou de quelque nature que ce soit, il se peut que la limitation ou l’exclusion ci-dessus ne s’appliquera pas à votre égard.

      EFFET JURIDIQUE. Le présent contrat décrit certains droits juridiques. Vous pourriez avoir d’autres droits prévus par les lois de votre pays. Le présent contrat ne modifie pas les droits que vous confèrent les lois de votre pays si celles-ci ne le permettent pas.
      MIT LicenseSystem.IdentityModel.Tokens.Jwt, http://www.nuget.org/packages/System.IdentityModel.Tokens.Jwt

      Microsoft.IdentityModel.Abstractions, https://www.nuget.org/packages/Microsoft.IdentityModel.Abstractions

      System.ValueTuple, http://www.nuget.org/packages/System.ValueTuple

      System.Threading.Tasks.Extensions, http://www.nuget.org/packages/System.Threading.Tasks.Extensions

      System.Security.AccessControl, http://www.nuget.org/packages/System.Security.AccessControl

      System.IO.FileSystem.AccessControl, http://www.nuget.org/packages/System.IO.FileSystem.AccessControl

      System.Runtime.CompilerServices.Unsafe, http://www.nuget.org/packages/System.Runtime.CompilerServices.Unsafe

      Microsoft.Bcl.AsyncInterfaces, https://www.nuget.org/packages/Microsoft.Bcl.AsyncInterfaces

      System.DirectoryServices, http://www.nuget.org/packages/System.DirectoryServices

      System.Buffers, http://www.nuget.org/packages/System.Buffers

      System.Text.Json, http://www.nuget.org/packages/System.Text.Json

      Microsoft.IdentityModel.Tokens, http://www.nuget.org/packages/Microsoft.IdentityModel.Tokens

      System.Numerics.Vectors, http://www.nuget.org/packages/System.Numerics.Vectors

      Microsoft.IdentityModel.Logging, http://www.nuget.org/packages/Microsoft.IdentityModel.Logging

      System.Security.Principal.Windows, http://www.nuget.org/packages/System.Security.Principal.Windows

      System.Memory, http://www.nuget.org/packages/System.Memory

      System.Text.Encodings.Web, http://www.nuget.org/packages/System.Text.Encodings.Web

      azure-activedirectory-identitymodel-extensions-for-dotnet http://www.nuget.org/packages/Microsoft.IdentityModel.JsonWebTokens
      The MIT License

      azure-activedirectory-identitymodel-extensions-for-dotnet

      Copyright (c) Microsoft Corporation. All rights reserved.

      Microsoft.Bcl.AsyncInterfaces

      Copyright (c) Microsoft Corporation. All rights reserved.

      Microsoft.IdentityModel.Abstractions

      Copyright (c) Microsoft Corporation. All rights reserved

      Microsoft.IdentityModel.Logging

      Copyright (c) Microsoft Corporation. All rights reserved

      Microsoft.IdentityModel.Tokens

      Copyright (c) Microsoft Corporation. All rights reserved

      System.Buffers

      Copyright (c) Microsoft Corporation. All rights reserved

      System.DirectoryServices

      Copyright (c) Microsoft Corporation. All rights reserved

      System.IdentityModel.Tokens.Jwt

      Copyright (c) Microsoft Corporation. All rights reserved

      System.IO.FileSystem.AccessControl

      Copyright (c) Microsoft Corporation. All rights reserved

      System.Memory

      Copyright (c) Microsoft Corporation. All rights reserved

      System.Numerics.Vectors

      Copyright (c) Microsoft Corporation. All rights reserved

      System.Runtime.CompilerServices.Unsafe

      Copyright (c) Microsoft Corporation. All rights reserved

      System.Security.AccessControl

      Copyright (c) Microsoft Corporation. All rights reserved

      System.Security.Principal.Windows

      Copyright (c) Microsoft Corporation. All rights reserved

      System.Text.Encodings.Web

      Copyright (c) Microsoft Corporation. All rights reserved

      System.Text.Json

      Copyright (c) Microsoft Corporation. All rights reserved

      System.Threading.Tasks.Extensions

      Copyright (c) Microsoft Corporation. All rights reserved

      System.ValueTuple Copyright (c) Microsoft Corporation. All rights reserved

      Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

      The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

      THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
      SingleID_ADFS-Adapter

      5.2.1.3 - MFA Portal

      Overview

      SingleID’s MFA service provides additional 2-factor authentication services to users through system integration while maintaining the authentication system used by applications. Also, SingleID provides an MFA Portal that allows users to pre-register and manage their preferred authentication method, making it easy to set up.

      The MFA Portal manual provides a function for users to self-register for 2-factor composite authentication.

      For more information, please refer to the following items:

      SingleID Language Setting

      • Select the language at the top of the user portal screen > Select the desired language from ‘Korean’ or ‘English’.
      • The language will be changed to the selected language.
      Note
      It is provided in the language set by the user’s browser at the initial login. If the language is not Korean or English, it is set to English.

      SingleID Access Environment and Support

      SupportRecommended
      Windows : Windows Desktop 10 and 11 (x86 and x64 CPU Only)
      • Web Browser: Microsoft Edge, Latest public version
      Windows : Windows Desktop 10 and 11 (x86 and x64 CPU Only)
      • Web Browser: Microsoft Edge 88.x ↑, Chrome 87.x ↑Android : 8 and later versions
      • Galaxy S9 ↑
      • Models released in 2018 and beyond among Samsung Galaxy Mobile Products
      • Web Browser: Samsung Internet 9.0 ↑
      Android : 8 and later versions
      • Web Browser: Samsung Internet Latest public version
      Android : 8 and later versions
      • Models released in 2018 and beyond among Samsung Galaxy Mobile Products
      • Galaxy S9 ↑
      • Web Browser: Samsung Internet 9.0 ↑
      iOS : 16 ,17
      • Web Browser: Safari , Latest public version
      iOS : 16 ,17
      • iPhone Xs ↑, Models released in 2018 and beyond among Apple iPhone Products
      • Web Browser: Safari 14.1 ↑
      Table. SingleID Access Environment and Support

      5.2.1.3.1 - Login using authentication method

      Log in using authentication method

      What is an authentication method?

      Authentication method is commonly called Authenticator and refers to an authentication tool.

      SingleID provides the following 9 authentication methods for user authentication.

      • Password: Enter password on SingleID login screen
      • Email OTP: Send OTP via email and enter OTP on the SingleID login screen
      • SMS OTP: Send OTP via SMS and enter OTP on the SingleID login screen
      • Knox Messenger OTP: Send OTP via Knox Messenger and enter OTP on the SingleID login screen.
      • Knox Identity: Knox Portal authentication integration using user ID and password
      • lo: When activated on PC, link the activated Windows Hello authentication with authentication results
      • SingleID Authenticator Bio: Install the SingleID dedicated mobile app and link authentication using biometric authentication (fingerprint, facial)
      • SingleID Authenticator PIN: Install the SingleID dedicated mobile app and link authentication with a PIN
      • SingleID Authenticator mOTP: Install the SingleID dedicated mobile app and integrate authentication with mOTP (Mobile OTP)
      • SingleID Authenticator TOTP: Install the SingleID dedicated mobile app and integrate authentication with TOTP (Time-based OTP)
      • Passkey: Login and authentication using biometrics (fingerprint, facial), Mobile, PIN code without a password, based on Windows Hello
      Note
      SingleID Authenticator if you are using the mobile app for the first time, please refer to SingleID Authenticator.

      Set Preferred Authentication Method

      The user logs into the User Portal provided by SingleID and provides settings for the primary and secondary authentication methods they prefer.

      When the user sets their preferred method, the screen for selecting a verification method is skipped during login and authentication, allowing immediate authentication with first and second factor methods.

      If you want to set your preferred authentication method, follow the steps below.

      1. User Portal > Personal Profile > Authentication settings click.
      2. Preferred 1st authentication (1st) method, 2nd authentication (2nd) method click the star (☆) for each.

      When the setup is complete, it will be set in that method at the next login, providing convenient login.

      Notice
      Even if a user sets a preferred authentication method for first and second factor authentication, the administrator can restrict it to a specific authentication method through login policy settings.

      Register authentication tool

      All authentication methods can be set by the user. Registering an authentication method by the user is called enrollment (Enrollment). When a user account is first created, only email OTP is automatically enrolled (Enrollment) using the email information from the user data. Other authentication methods can be directly enrolled (Enrollment) by the user as needed.

      I will explain the two methods of authentication registration (Enrollment).

      • Register from Authentication Settings: User Portal > Profile > Authentication settings, click the bottom + Add New button to register.
      • Register on the identity verification method selection screen: During login, first authentication; during second authentication, on the Identity Verification Method Selection screen, select the authentication method that has the gray check mark (V) and register.
      Reference
      For registration, refer to Register authentication tool.

      First login

      SingleID requires consent for the collection/use of personal information when logging in for the first time or during a certain period. According to the consent procedure, select required, optional items to agree. Required items must be selected in order to log in.

      Password Authentication

      Password is the most basic authentication method as a SingleID basic authentication tool.

      Enter password

      To log in using the user ID, follow the steps below.

      1. Login screen > Account ID Enter the ID in the input field, and click the Next button.
      2. Enter the password in the Password field, and click the Next button to log in.
      Reference
      If you click the eye-shaped icon in the password input field, you can check the password you entered.
      Notice

      When the entered password is entered incorrectly

      If the entered password is not correct, you can re-enter it with a message indicating it is wrong. The number of retry attempts allowed is as many as set by the administrator in the password policy.

      When the password is entered incorrectly consecutively and gets locked

      If you entered the password incorrectly and the device is locked, you can unlock it in two ways.

      • Automatically unlock after 1~5 minutes: When the automatic unlock setting is enabled, the account will be locked for 1~5 minutes. After that period, login is possible.
      • Unlock with password reset: When the administrator sets the password policy to password reset, a password reset is required. Login is possible after resetting the password. Find ID you can view the detailed contents.

      Email OTP Authentication

      Authenticate

      If you want to authenticate with email OTP, an OTP will be sent to the email registered by the user.

      If you want to authenticate with email OTP, follow the steps below.

      1. Click Email in Identity verification selection method.
      2. An OTP code will be sent to the registered email. Enter the OTP within the time set by the administrator (usually 3-5 minutes).
      3. After entering, click the Confirm button, and the authentication will be completed.
      Reference
      1. Code Resend: If you exceed the input validity time, click the code resend button. The OTP code will be resent via email.
      2. Do you want to authenticate in a different way?: If the current authentication cannot be used, change to a different authentication method.
      3. If you have changed your email, please register.: Depending on the administrator settings, you can register (Enrollment) a different email for verification. You can check the details of enrollment at Email authentication tool enrollment.
      Notice

      If the code is entered incorrectly

      If the user enters the OTP code incorrectly, they can re-enter it as many times as the administrator has specified.

      If locked due to exceeding the user input limit

      If you enter the OTP code incorrectly more times than the number set by the administrator, the screen will be locked for the time set by the administrator. After waiting for that time, you can enter again. Refresh and try again after the input restriction period.

      SMS OTP authentication

      Authenticate

      If you want to authenticate with SMS OTP, an SMS OTP will be sent to the mobile registered by the user.

      If you want to authenticate with email OTP, follow the steps below.

      1. Click Email in Identity Verification Selection Method.
      2. The OTP code will be sent to the registered mobile phone. Enter the OTP within the time set by the administrator (usually 3~5 minutes).
      3. After entering, click the Confirm button, and the authentication will be completed.
      Reference
      1. Code Resend: If you exceed the input validity time, click the code resend button. The OTP code will be resent to your mobile phone.
      2. Would you like to authenticate in a different way?: If the current authentication cannot be used, switch to a different authentication method.
      3. If you have changed your mobile phone, please register.: Clicking the link will take you to a screen to enroll the new mobile. You can check the detailed information about enrollment at SMS authentication tool enrollment.
      Guide

      If you entered the code incorrectly

      If the user enters the OTP code incorrectly, they can re-enter it as many times as the administrator specifies.

      If locked due to exceeding the user input limit

      If you enter the OTP code incorrectly more times than the number set by the administrator, the screen will be restricted from input for the time set by the administrator. After waiting for that time, you can input again. Refresh and try again after the input restriction period.

      Knox Messenger OTP authentication

      Authenticate

      Knox Messaenger If you want to authenticate with OTP, the OTP will be sent to the Knox Messanger you are using.

      If you want to authenticate Knox Messenger OTP, follow the steps below.

      1. From Identity verification selection method, click Knox Messenger.
      2. The OTP code will be sent via the Knox Messenger you are using. Enter the OTP within the time set by the administrator (usually 3~5 minutes).
      3. After entering, click the Confirm button, and the authentication will be completed.
      Reference
      1. Resend Code: If you exceed the input validity time, click the resend code button. The OTP code will be resent to your mobile phone.
      2. Would you like to authenticate in a different way?: If the current authentication cannot be used, switch to a different authentication method.
      3. Would you like to use a different Knox ID?: Clicking the link will take you to a screen that enrolls a new Knox ID. You can view the detailed information for enrollment at Knox Messenger Authentication Tool Enrollment.
      Information

      If you entered the code incorrectly

      If the user enters the OTP code incorrectly, they can re-enter it up to the number of times specified by the administrator.

      If locked due to exceeding user input limit

      If you enter the OTP code incorrectly more times than the number set by the administrator, the screen will be locked for the amount of time set by the administrator. After waiting for that time, you can enter again. Refresh and try again after the input restriction period.

      Knox Identity Password Authentication

      Authenticate

      If you want to authenticate with Knox Identity, you need to enter the Knox Identity password you are using.

      If you want to authenticate with Knox Identity, follow the steps below.

      1. Click Knox Identity in Identity verification selection method.
      2. Please enter the password of your own Knox account.
      3. After entering, click the Confirm button, and the authentication will be completed.
      Reference
      Would you like to authenticate in a different way?: If the current authentication cannot be used, it changes to a different authentication method.
      Notice

      If the password is entered incorrectly

      If the user enters the password incorrectly, they can re-enter it up to the number of times specified by the administrator.

      If locked due to exceeding user input limit

      If you enter the password incorrectly more times than the number set by the administrator, the screen will be locked for the duration set by the administrator. You can enter after waiting for that time. Refresh and try again after the lockout period.

      SingleID Authenticator authentication

      SingleID service provides a mobile authentication app called SingleID Authenticator, and offers authentication in various ways.

      Authentication Method

      Authentication methodDescription
      SingleID Authenticator BioSend a push via the installed SingleID Authenticator mobile app on the mobile device to request biometric authentication.
      SingleID Authenticator PINSend a push via the installed SingleID Authenticator mobile app on the mobile device to request authentication with a PIN code.
      SingleID Authenticator TOTPSend a push using the installed ID Authenticator mobile app on the mobile to request authentication with TOTP.
      SingleID Authenticator mOTPSend a push using the installed SingleID Authenticator mobile app on the mobile device to request authentication with mOTP.
      Table. SingleID Authenticator authentication method
      Reference

      Passkey authentication

      SingleID service provides simple authentication and multi-factor authentication through a window-based Passkey.

      Authentication Method

      1. Convenient authentication: Provides easy login without ID/Password through Sign in with Passkey at the bottom of the login page.
      2. Multi-factor authentication: Provides easy login without needing ID/Password during secondary multi-factor authentication.

      Authentication Types

      • Mobile Passkey: Scan the QR code and log in using Android and iOS mobile
      • Security key: Log in using the Windows security key
      • PIN: Window login using PIN code
      Reference

      Passkey supported environment 1.Operating System(Laptop or Desktop)

      • Windows 11, macOS Ventura, ChromeOS 109 or higher
      • Mobile phone: iOS 16 or Android 9 or higher
      • Hardware security key: hardware security key that supports the FIDO2 protocol
      1. Browse version
      • Chrome 109 or higher
      • Safari 16 or higher
      • Edge 109

      3.Device Settings

      • Bluetooth activation
      • Set password for screen lock
      • PIN code registration
      • Allow fingerprint or facial recognition
      Reference
      Passkey must have Window Hello set up in advance. For detailed information, please check the Reference link.

      Admin Authentication

      Authenticate

      In the SingleID service, the administrator delegates identity verification on behalf of the user and provides authentication.

      If you want to perform administrator authentication, follow the steps below.

      1. Identity verification selection method, if you cannot perform identity verification at the bottom of the screen, you can request verification from the administrator. Click here. Click it.
      2. On the administrator selection screen, select the administrator to delegate and click the Request button.
      3. After clicking the Request button and requesting approval from the selected administrator, the authentication will be completed.
      Guide
      If there is no If you cannot perform identity verification, you can request verification from the administrator. Click here text at the bottom The administrator has disabled the admin authentication delegation feature by policy. Please contact the administrator.

      5.2.1.3.2 - Register authentication tool

      Register authentication tool (Enrollment)

      All authentication tools are to be registered and used by the user themselves as a principle. The act of a user registering an authentication tool is called enrollment (Enrollment). When a user is first created, only Email OTP is automatically registered using the email information among the user information. The remaining information can be directly registered by the user as needed.

      There are three ways to register.

      1. Login screen > ID/Passwrod entry > Select authentication method Register on the screen
        • If you click the authentication tool marked as ‘Registration required’ (gray check mark) on the authentication method selection screen, you can register.
      2. User Portal(after login) > Profile > in authentication settings +Add New Click the button to register
      3. Register via the registration message link at the bottom of all authentication screens
        • The screen below is an example of an SMS verification screen. At the bottom, you can click the ‘If you have changed your mobile phone, please register.’ message to register.
        • You can change it through a message below all authentication code inputs (Message format: ~ please register.)
      Diagram
      Figure. Authentication screen example

      Register email verification tool

      Email registration consists of the following three steps.

      1. Verification Stage: This is the identity verification stage before registering the email authentication tool.
      2. Registration Stage: This is the step where you register a new email and check if the number is valid.
      3. Completion Stage: This is the final step to confirm that the registration has been completed successfully.

      Verification Stage

      This is the step of verifying your identity before using the authentication tool. To view the identity verification process, refer to Login.

      Caution
      In the verification stage, the authentication method to be used can only be authenticated with the authentication tool configured by the administrator.

      Registration Stage

      It is the step of registering the email address the user wants to register and checking the email address’s validity.

      The user can proceed with the following procedure.

      1. If you complete identity verification in the confirmation step, you will automatically move to the registration step.
      2. Please enter the email address you want to register.
      3. Send verification code button을 클릭하세요.
      4. Check the OTP code sent to the entered email address and enter the OTP code on the screen.
      5. If the authentication code is entered correctly, it moves to the completion stage.

      Completion Stage

      The registration complete screen will appear, and on the next login you can perform first and second authentication using the email verification tool.

      Register SMS authentication tool

      SMS registration consists of the following three steps.

      1. Verification step: This is the identity verification step before registering the SMS authentication tool.
      2. Registration Stage: This is the stage where you register a new mobile phone number and check if the number is valid.
      3. Completion Stage: This is the final step to confirm that the registration has been completed successfully.

      Verification Stage

      It is the step of identity verification before using the authentication tool. To view the identity verification process, refer to Login.

      In the verification stage, the authentication method to be used can only be authenticated using the authentication tool set by the administrator.

      Registration Stage

      This is the step of registering the mobile phone number the user wants to register and checking the validity of the mobile phone number.

      The user proceeds as follows.

      1. If you complete identity verification in the confirmation step, you will automatically move to the registration step.
      2. Select the country code and enter the mobile phone number you want to register.
      3. Click the Send verification code button.
      4. Check the OTP code sent to the entered mobile phone number, and enter the OTP code on the screen.
      5. If the authentication code is entered correctly, it moves to the completion stage.

      Completion Stage

      Registration Complete The screen will appear, and on the next login you can perform first and second authentication using the SMS verification tool.

      Register Knox Messenger authentication tool

      Knox Messenger registration consists of the following three steps.

      1. Verification Stage: This is the identity verification stage before registering the Knox Messenger authentication tool.
      2. Registration step: Enter the Knox ID to register. This is the step that checks whether the Knox ID to be registered is valid.
      3. Completion Stage: This is the final step to confirm that the registration has been completed successfully.

      Verification Stage

      It is the step of verifying your identity before using the authentication tool. To view the identity verification process, refer to Login.

      In the verification stage, the authentication method to be used can only be authenticated using the authentication tool configured by the administrator.

      Registration Stage

      This is the step of registering the mobile phone number the user wants to register and checking the validity of the mobile phone number.

      The user proceeds as follows.

      1. If you complete identity verification in the confirmation step, you will automatically move to the registration step.
      2. Enter the Knox ID to register.
      3. Click the Send verification code button.
      4. Check the OTP code sent to the Knox Messenger of the entered Knox ID, and enter the OTP code on the screen.
      5. If the authentication code is entered correctly, it moves to the completion stage.

      Completion Stage

      Registration Complete screen will appear, and on the next login you can perform first and second authentication using the Knox Messenger authentication tool.

      Register Passkey authentication tool

      SingleID Authenticator is an authentication tool provided to the SingleID service.

      Passkey enrollment consists of the following three steps.

      1. Verification stage: It is the identity verification stage before registering the Passkey authentication tool.
      2. Registration Stage: This is the Passkey registration stage.
      3. Completion Stage: This is the final step to confirm that the registration has been completed successfully.

      Verification Stage

      This is the step to verify your identity before registering the authentication tool. To view the identity verification process, refer to Login and Authenticate.

      Notice
      In the verification stage, the authentication method to be used can only be authenticated using the authentication tool configured by the administrator.

      Registration Stage

      This is the step to verify the mobile phone you want to register the Passkey on or the PC environment you are accessing.

      Please complete the registration process in the four steps below.

      1. Activation: This is a guide to the Passkey supported environment.
      2. Confirm: Complete identity verification using an authentication method.
      3. Registration: Passkey registration stage. Create on this device button click registers the passkey on the PC. Create on another device button click registers with a mobile phone or hardware security key.
      4. Complete: Registration Complete is the step to confirm that it has been completed. Click the Continue button.
      Reference

      Passkey support environment 1.Operating System(Laptop or Desktop)

      • Windows 11, macOS Ventura, ChromeOS 109 or higher
      • Mobile phone: iOS 16 or Android 9 or higher
      • Hardware security key: Hardware security key that supports the FIDO2 protocol
      1. Browse version
      • Chrome 109 or higher
      • Safari 16 or higher
      • Edge 109

      3.Device Settings

      • Bluetooth activation
      • Set password for screen lock
      • PIN code registration
      • Allow fingerprint or facial recognition

      Completion Stage

      After the Passkey registration is completed, the registration complete screen appears. At the next login, you can perform first and second factor authentication using the Windows Hello authentication tool.

      Reference

      PC Passkey must have Windows Hello set up in advance. For detailed information, see the Reference Link.

      When registering a passkey on mobile, it can be set in an environment where QR code scanning is possible.

      SingleID Authenticator Register authentication tool

      SingleID Authenticator is an authentication tool provided to the SingleID service.

      SingleID Authenticator enrollment consists of the following four steps.

      1. Verification Stage: This is the identity verification stage before registering the SingleID Authenticator authentication tool.
      2. Installation step: This is the user’s SingleID installation guide step.
      3. Registration Stage: This is the stage to register a new mobile app and for service registration.
      4. Completion Stage: This is the final step to confirm that the registration has been completed successfully.

      Confirmation Stage

      Before using the authentication tool, this is the step to verify your identity. To view the identity verification process, refer to Login.

      Notice
      In the verification stage, the authentication method to be used can only be authenticated using the authentication tool configured by the administrator.

      Installation Steps

      There are three main ways to install the SingleID mobile app.

      • How to install ‘SingleID Authenticator’ by recognizing a QR code on the user’s mobile, or searching for ‘SinlgeID’ on Google Play (for Android) or the App Store (for iOS).
      • How to install by entering your mobile phone number and using the download link via SMS
      • How to install via manual download link SingleID Authenticator install the app and click the Next button to move to the registration step.

      Registration Stage

      After installing the SingleID Authenticator mobile app on the mobile phone you want to register, run the SingleID Authenticator.

      Please complete the registration process in the three steps below.

      1. Service Registration: In the SingleID Authenticator app, click the ‘+’ at the top.
      2. QR or authentication number input: Scan QR code or enter authentication code to register.
      3. Service Registration Complete: Click the Confirm button to complete registration.

      Completion Stage

      SingleID Authenticator after registration is completed Registration Complete screen appears. On the next login, you can perform first and second factor authentication using the Windows Hello authentication tool.

      Registration Stage

      After installing the SingleID Authenticator mobile app on the mobile phone you want to register, run the SingleID Authenticator.

      Perform the registration process in the three steps below.

      1. Service Registration: Click the ‘+’ at the top in the SingleID Authenticator app.
      2. QR or authentication number input: Scan QR code or enter authentication code to register.
      3. Service registration complete: Confirm Click the button to complete the registration.

      Completion Stage

      SingleID Authenticator after registration is completed, the Registration Complete screen appears. At the next login, you can perform first and second factor authentication using the Windows Hello authentication tool.

      5.2.1.3.3 - Set Up Personal Information

      Set Up Personal Information

      This menu is for the user’s environment settings.

      To set up your personal information, follow these steps:

      1. Click on Personal Profile > Personal Information settings in the top right corner of the screen.
      2. You can view your photo, name, email, phone number, language, and time zone.
      3. Photo: Click on Photo > Change Photo to upload the icon image you want to display.
      4. Language: Select your desired language, either Korean or English.
      5. Time Zone: Select the time zone where you are currently located. Click the City Search button to open the city search popup window, search for your city in English, and select it.
      6. Click the Save button at the bottom of the screen to save your changes.
      Note
      You can click the Withdrawal button at the bottom left of the personal information screen to withdraw from your current user account. Please note that withdrawing will delete your account, so only do so if you intend to delete it.

      Set Up Authentication

      You can register your authentication tools and set your preferred authentication tool.

      To set up authentication, follow these steps:

      1. Click on Personal Profile > Authentication settings in the top right corner of the screen.
      2. Click the + Add New button to add your desired authentication tool.
      3. Click the Delete button to delete the authentication tool you no longer want to use.
      4. Click the Star (☆) icon to set your preferred authentication method.
      Note
      Please refer to Enrolling Authentication Tools for the method of registering/deleting authentication tools.

      Change Password

      In the authentication settings, you can change your password by going through the self-verification authentication process.

      Check Login History

      You can check your login history/environment.

      To view your login history/environment, follow these steps:

      1. Click on Personal Profile > Login History/Environment in the top right corner of the screen.
      2. In the Login History tab, you can view information such as login time, location, country, city, IP address, OS type, browser type, detection, and results.
      3. In the Login Environment tab, you can view detailed information if you have registered login environments, and delete them if you no longer use them.
      Guide
      Please check the country ISO code at the following link: ISO 3166 - Wikipedia, the free encyclopedia.
      Guide
      If you are using the SingleID ADM (Anomaly Detection Management) feature, the detection items will be displayed as Normal or Detected. These items are login histories where authentication anomalies were detected.

      Log Out

      Click on the photo icon in the top right corner of the screen and click Log Out.

      The Log Out button will log you out of all applications you visited through SingleID, and if PC SSO Agent is set up for integrated logout, it will also log you out of associated browsers.

      5.2.1.4 - CAM Portal

      Overview

      CAM (Cloud Access Management) is a service for managing cloud console and resource access, providing users with easy and convenient access to cloud consoles and resources.

      Users can access the portal from a PC located on the company network through multi-factor authentication. Instead of using a password, a one-time token is issued to access the cloud consoles and resources, and all console access history, activity history, and approval history can be monitored.

      CAM Concept
      Fig. CAM Concept

      Service Scenario

      In the past, users accessed the console and resources directly with their IAM personal accounts, but now CAM provides a unified access channel.

      • Step 1: During the transition period, the TO-BE access channel is newly configured and operated in parallel with the AS-IS access channel.
      • Step 2: After the Cut-Over, the AS-IS access channel is blocked, and the TO-BE channel is switched.
      Service Scenario
      Fig. Service Scenario

      Key Features

      User Scenario

      The user scenario proceeds in the following order:

      • Sign-In → Basic Information Setting → Console Access Control → Resource Access Control → Monitoring
      User Scenario
      Fig. User Scenario

      Login & Home

      Users log in with their SingleID or SSO account (e.g., Knox Portal) and proceed with multi-factor authentication. After entering the authentication code received via SMS or email, the login process is completed and access to CAM is granted.

      Login &amp; Home
      Fig. SingleID Login

      The home screen provides a personalized screen that allows users to access cloud consoles and resources with one click, making it easy for users to access consoles and resources.

      Home
      Fig. Home

      Configuration

      After creating a project, users can easily register their CSP (Cloud Service Provider) account. Additionally, users can be added to the project to provide project-specific permissions.

      Console Access

      Roles and policies can be created to set and control access permissions to the cloud console. Roles can be mapped to specific accounts and users, defining which users can access the CSP console and their permission levels.

      Resource Access

      Cloud resource access permissions are managed. To manage cloud resource access, users first request permissions, download and install the PC client agent, and register their access IP address. Once set up, users can access their desired resources from their personalized resource list.

      5.2.1.4.1 - Getting Started

      This manual aims to help users quickly understand the essential features and processes required to effectively use CAM.

      Network Environment

      Access is only possible in a network environment allowed by each tenant.

      • CAM Portal, Console Access: Access is possible from a network environment allowed by each tenant.
      • DEV, STG, ETC Resource Access: Access is possible from a network environment allowed by each tenant.
      • PRD Resource Access: Access is only possible from a network environment with internet blocked, so access is only possible from a specific IP range for each tenant.
      • Additional individual PC environment settings are required.

      Pre-work

      To use the CAM portal, some pre-work is necessary. If you are a PM (Project Manager) or PL (Project Leader) group user, please check the cloud account and resource preparation below and prepare the environment in advance.

      Cloud Account Preparation

      To register and manage accounts in CAM, you need to create a role in the CSPs (AWS, Azure, SCP) and configure it with the policies required by CAM, and then assume the role in CAM.

      Guide
      If it’s not in the document Configuration > Add Account for reference.

      Resource Preparation

      Resource Configuration

      To register and access resources in CAM, some setup work is required during resource configuration.

      First, you must allow password-based connections. This configuration is necessary to access resources through CAM because a one-time password is issued for SSH connections when accessing resources in CAM.

      Additionally, if the resource type is Compute, the following configuration must be added.

      1. Add the following content to a file named /etc/sudoers.
        • Ubuntu: %sudo ALL=(ALL) NOPASSWD:ALL
        • Amazon Linux: %wheel ALL=(ALL) NOPASSWD: ALL
      2. Restart the server with systemctl restart sshd.service.

      Network Settings

      To access resources through CAM, you need to configure the firewall and security group registration in the tenant’s network environment so that CAM can access the resources. Please check the necessary information with the tenant administrator and proceed with the network settings.

      Service Scope

      CAM currently supports AWS, Azure, SCP CSPs and plans to expand to more CSPs sequentially.

      ItemDescription
      AWSAmazon Web Services
      IAM (Console)AWS Identity and Access Management
      SCPSamsung Cloud Platform (KR EAST1 region, KR WEST1 region)
      EC2Elastic Compute Cloud
      RDSRelational Database Service
      Table. CSP Abbreviations
      OSVersion
      UbuntuUbuntu Server 24.04 LTS
      UbuntuUbuntu Server 22.04 LTS
      Amazon LinuxAmazon Linux 2023 AMI
      RedhatRed Hat Enterprise Linux 9.4
      Table. OS
      DB EngineVersion
      PostgreSQL16.x
      MySQL8.0.x
      Aurora PostgreSQL15.x
      Aurora MySQL3.05.x
      Aurora MySQL3.04.x
      Aurora MySQL3.03.x
      MariaDB10.11.10x
      Table. DB

      5.2.1.4.2 - Home

      After logging in, you can access your CSP console and personally assigned resources with one click from your personalized homepage. Operators and developers can access approved consoles and resources quickly and easily from one place, streamlining their work.

      The CAM (Cloud Access Management) home screen is divided into two sections:

      • Top Resources
      • My CSP Consoles

      Both sections provide access to assigned resources and CSP consoles.

      Top Resources

      This section displays a list of the top 30 accessible resources.

      Card View and List View

      Resources are provided in card view by default, and you can switch to list view according to your preference.

      Search and Filter

      You can use the search function to quickly find a specific resource, and filter resources based on the following items:

      • Project
      • CSP (Cloud Service Provider)
      • Environment (e.g., DEV, STG, PRD, ETC)
      • Resource Type (e.g., Compute, DB)

      Favorites

      You can set favorites using the Favorites (★) icon, and set a favorites filter to filter only resources that have been set as favorites.

      Sorting

      The resource list can be sorted by two criteria:

      • Recent (default sorting)
      • Creation Date

      Resource Information

      You can check the detailed information of resources in both card and list views.

      • Resource Name
      • Project
      • CSP (e.g., AWS, Azure, SCP)
      • Environment (e.g., DEV, STG, PRD, ETC)
      • Resource Type (e.g., Compute, DB)

      Resource Connection/Disconnection

      Each resource has the Connect button to connect or disconnect. If you are already connected to a resource, the following details are displayed:

      • Last Connection Date/Time
      • Connection Status

      Resource Connection

      When you click the Connect button on a card or list, a connection popup opens.

      To connect to a resource, enter the following details:

      1. Local Port: Enter a port number between 1024 and 65535 that is not currently in use on your PC.
      2. Remote Port: Enter the port number of the resource.
      3. Launch Putty: Select ‘ON’ to automatically run putty during the connection process.
      Note
      Before attempting to connect, ensure that the client agent is installed and the IP address is registered. Refer to Resource Access > PC Settings for settings.

      Connection Details

      When connected to a resource, you can click the dropdown to view detailed connection information, such as user ID, password, and local IP. This information is provided through a popup as details for the user to connect to the resource via SSH.

      1. User ID: Click the Copy icon on the right to copy the user ID.
      2. Password: Click the Copy icon on the right to copy the password.
      3. Local IP: Click the Copy icon on the right to copy the local IP address.
      4. Client Server IP: Refer to the connected client server IP displayed on the screen.

      Resource Disconnection

      When connected to a resource, the Disconnect button appears. Click this button to start the disconnection process. A popup will be displayed for final confirmation before the connection is terminated.

      My CSP Consoles

      The page provides a CSP access link in a sticky footer at the bottom. It offers CSP console access via SAML SSO, allowing you to access it directly without a separate authentication process.

      5.2.1.4.3 - Console Access

      The console access feature allows PM and PL group users to manage access to the CSP console by assigning roles and policies to cloud accounts and users. Here, users can access the console with the appropriate permissions based on the settings.

      The console access section consists of four main management areas.

      1. Role Management: Defines and manages the level at which users can access the CSP console.
      2. Policy Management: Defines new policies and manages the roles mapped to each policy.
      3. Account Management: Manages cloud accounts and ensures each account is mapped to the correct role permissions.
      4. User Management: Controls user console access by mapping users to the correct roles, giving them the necessary permissions to access the cloud console.

      Role Management

      In the role management menu, you can view and manage all roles registered to a project, and filter roles by CSP or project.

      Create Role

      To create a role, click the Create Role button. To create a new role, you must fill in the required information in the popup window:

      1. Project: Select a project from the user’s project list.
      2. CSP: Select a CSP.
      3. Role Name: Enter a unique role name and click the Validate button to check for consistency.
      4. Description: Add a brief description of the role.

      View Role

      To access detailed information about a role, go to the role management menu and click on the desired role. All project users can view role details, including policies, cloud accounts, and users mapped to the role.

      The role view screen displays the following key details:

      1. Role Information: Basic details related to the role.
      2. Delete Role: Click the Delete button to remove this role.
      3. Policies: Displays a list of policies currently mapped to the role.
      4. Accounts: Displays a list of accounts related to the role.
      5. Users: Displays a list of users connected to the role.
      Note
      To set up policy, account, and user mappings, you must first create policies in the policy management menu and ensure that cloud accounts and users are pre-registered to the project.
      Note
      • The process in CSPs starts after the user addition approval is completed. Therefore, it may take some time for the status to change to Approved and be confirmed in the user’s CSP Role list. (Up to 10 minutes)
      • Maximum 10 policies can be mapped to an AWS role.
      • Each account has a role limit based on its CSP with up to 800 roles in AWS and up to 5000 in Azure.
      • Each user has a role limit based on the CSP with up to 10 roles of AWS and 4000 roles of Azure can be mapped.

      Delete Role

      To delete a role and remove its mapping, select the role from the list and click the Delete button. Or alternatively, click the Delete button on the View Role page. Confirm the action to delete the role permanently. Removing a policy mapping eliminates the relationship between the role and the related policy.

      Policy Management

      PM and PL group users can add or delete policies mapped to a role by selecting or deselecting policies from the policy list.

      Create Policy

      To create a new policy, click Create Policy and fill in the required information:

      1. Project: Select a project from your list of registered projects.
      2. CSP: Choose the cloud service provider.
      3. Policy Name: Enter a name for the policy and validate it.
      4. JSON Code: Provide the JSON code that defines the policy.
      5. Description: Include a brief description of the policy.

      To map a policy to a role, click the Add button above the policy list to open a popup. In the popup, you can view and select policies defined within the same project. Click the Save button to complete the mapping process. You can map multiple policies at once.

      Make sure to check if the desired policy is created in the policy management menu before mapping.

      View Policy

      To access detailed information about a policy, navigate to the Policy Management section and click on the desired policy. All project users can view policy details, including the roles mapped to the policy.

      Delete Policy

      To remove a policy mapping from a role, select the policy from the list and click the Delete button. The deleted policy will reappear in the Add Policy popup list, allowing you to add it back if needed. Removing a policy mapping eliminates the relationship between the role and the related policy.

      Account Management

      PM and PL group users can map cloud accounts to a role or remove them.

      View Account

      To view account details:

      • Navigate to Account Management and click on the desired account.
      • All project users can access the account’s details, including a list of roles mapped to that account.
      • Project managers or PL group users can also edit or delete roles associated with the account.

      Add Role to Account

      • To map roles to an account, click the “Add” button above the roles list to open the “Add Roles” pop-up.
      • In the pop-up, select roles from the list that belong to the same project as the account, and click the Save button to complete the mapping process.
      Note
      • Maximum 800 roles can be mapped to an AWS account and 5000 roles to an Azure account.

      Delete Role from Account

      To remove a role from an account, select the role from the list and click the Delete button. The deleted role will reappear in the Add Role popup, allowing you to add it back if needed. You can delete multiple roles at once.

      User Management

      Through the user management menu, users can view and manage all users registered to a project. Users can be searched by name.

      View User

      To view user details:

      • Go to the user management menu and click on the user.
      • All project users can view user details, including roles mapped to the user.
      • PM or PL group users can add or delete roles from the user.

      Add Role to User

      To map a role to a user, click the Add button above the role list to open the Add Role popup. In the popup, you can view all roles in the user’s project, select the role to add, and click the Create Approval button to proceed with the approval process.

      Note
      • Each user has a role limit based on the CSP with up to 10 roles of AWS and 4000 roles of Azure can be mapped.

      Create Approval

      Assigning a role to a user requires an approval process, which is done through the Create Approval popup and sent via Knox approval system or CAM’s own approval system.

      1. Title: Automatically input by the system and cannot be modified.
      2. Approver: Automatically added by the system, with the option to add approvers and consensus following the approval guide.
      3. Content: Project and role information is automatically input by the system and cannot be modified.

      Delete Role from User

      To remove a role from a user, click the Delete button. After a final deletion confirmation, the user’s role mapping will be removed. The removed role will reappear in the Add Role popup, allowing you to add it back if needed. Role removal does not require approval, but re-adding a role does.

      5.2.1.4.4 - Resource Access

      You can check all resources with individual permissions and access them. To access resources, a PM or PL group user must register the resources of the cloud account registered in the project and go through the user’s permission request and approval process.

      Resources

      It shows all resources that have been approved for the user. The user can check the resource list and access the resources directly.

      Access

      You can access resources by clicking the Connect button, and after connection, it provides connection details.

      1. Local Port: Enter a port number that is not used for other purposes on your PC.
      2. Remote Port: Enter the port number of the resource.
      3. Putty Execution: To automatically run Putty, you need to set it to ON.
      Note
      Before accessing resources, please make sure to install the client agent and register the IP address. For more information, refer to Resource Access > PC Settings.

      Connection Information

      It provides detailed connection information to access resources through SSH.

      1. User ID: You can copy and use the user ID by clicking the copy icon.
      2. Password: You can copy and use the password by clicking the copy icon.
      3. Local IP: You can copy and use the local IP by clicking the copy icon.
      4. Cloud Server IP: You can copy and use the cloud server IP by clicking the copy icon.

      Disconnection

      When connected to a resource, the Connect button changes to Disconnect. To disconnect from the resource, click the Disconnect button.

      Resource Registration

      This menu allows you to register resource information necessary for resource access and shows a list of registered resources.

      Registration

      To register a resource, cloud account registration must be done in advance in the project menu. PM and PL group users can register resources created in the cloud account. Click the Enrollbutton to move to the resource registration screen and set the resource connection information.

      1. Project: Select a project registered as a PM or PL group user.
      2. Account: Select a cloud account registered in the selected project.
      3. Region: Select the region information of the selected account.
      4. Resource Type: Select one of Compute or DB.
      5. Resource: Select a resource that matches the selected criteria.
      6. Connection Type: Select one of Direct (connect directly to the server) or Bastion (connect through a proxy server).
      7. Address: Enter the address information of the resource.
      8. Root User: Provide the IP and password of the root user of the resource.
      Note
      Before registering a resource, please make sure that cloud account registration and resource creation are completed. Cloud account registration can be done in Configuration > Project.
      Guide

      Supported OS/DB

      Currently, the OS and DB that can be registered for ‘Resource Registration’ are limited as follows, and supported OS and DB will be continuously added.

      OSVersion
      UbuntuUbuntu Server 24.04 LTS
      UbuntuUbuntu Server 22.04 LTS
      Amazon LinuxAmazon Linux 2023 AMI
      RedhatRed Hat Enterprise Linux 9.4
      Table. Supported OS
      DB EngineVersion
      PostgreSQL16.x
      MySQL8.0.x
      Aurora PostgreSQL15.x
      Aurora MySQL3.05.x
      Aurora MySQL3.04.x
      Aurora MySQL3.03.x
      MariaDB10.11.10x
      Table. Supported DB

      Network Settings

      To register resources in CAM and access resources through CAM, network settings must be done in advance.

      Please follow the guide from the tenant administrator and proceed with network settings suitable for each tenant environment, such as firewall registration and security group registration, before registering resources.

      Withdrawal

      Resources that are no longer used must be deleted from the registered resource list. Select the resource from the resource view or resource registration list and click the “Withdraw” button to prevent further access.

      Request Permission

      The permission request menu allows you to inquire about the resource permissions of project members and request user-specific CSP resource type permissions.

      Request

      Users can request resource permissions by type of CSP resource by selecting the period and permission type. All permissions require approval, but when ‘Emergency’ is selected, the permission is granted simultaneously with the approval request, and a related email is sent to the approver.

      Resource Information

      • Project: Select a project that the user belongs to.
      • Account: Select an account registered in the selected project.
      • Resource Type: Select one of Compute or DB.

      Permission

      • Period: Select a period (e.g., 4h, 8h, 24h, 10d, 30d, 12m).
      • Emergency: If checked, the permission is granted simultaneously with the approval request, and a related email is sent to the approver.
      • Permission Level: Select one of USER, ADMIN, or DBA.
      • Comment: Add a comment for approval.

      Create Approval

      To obtain resource access permissions, an approval process is required. To proceed with the approval process, go through the “Create Approval” popup and send it to Knox Approval, which will proceed through Knox Approval.

      1. Title: Automatically entered by the system and cannot be modified.
      2. Approver: Add approvers and consensus according to the guide.
      3. Content: Project and permission information are automatically entered by the system and cannot be modified.

      Withdrawal

      To remove permissions that are no longer needed, select the corresponding permission from the permission request list and click the Withdraw button.

      PC Settings

      To access cloud resources, you must install the client agent and register the IP address of the access environment.

      Client Agent Download

      Click Download Client Agent to start the download and install the client agent.

      User Guide

      To access resources, client download and installation are required. Also, if the installation is not completed or the version is not supported, you cannot connect to resources even if other preparations, such as permission and IP registration, are completed.

      Installation Guide

      To start the installation process, click the Download Client Agent button to download the installation file. After the download is complete, refer to the following information to proceed with the installation.

      1. Download Location: Specify a folder in the local drive.
      2. Execution: Select the downloaded file and click Run as Administrator by right-clicking to run it.

      IP Registration

      Cloud resource access is only possible for registered IPs, and up to 5 IPs can be registered. Refer to the following information to register an IP.

      • To add a new IP, click the Add button.
      • To remove an existing IP, select the corresponding IP from the list and click the Delete button.

      5.2.1.4.5 - Monitoring

      CAM’s monitoring menu provides essential features for tracking console access history, user activities, and approval history. This feature ensures transparency, security, and compliance by providing insights through detailed information.

      Access Log

      The Access Log section provides a record of user activities within the CAM console, allowing administrators to track and review access-related actions across projects and cloud environments. It helps ensure security compliance and offers visibility into how and when users interact with cloud resources through the CAM interface.

      Console Access Log

      The Console Access Log records all events related to console access performed through CAM. This log enables tenant administrators to monitor console connection attempts, view event results, and identify access patterns for AWS, Azure, and SCP accounts. The Console Access Log page is available under Monitoring > Access Log > Console Access Log.

      Console Access Log Features

      Log Scope

      • Tenant (Company) Administrator: Can view logs for console access within the tenant.
      • User: Can only view logs for their own projects.

      Log Details

      • The Console Access Log captures event data for all console-related activities initiated through CAM.
      • Logs are available for all configured tenants and cover access events across AWS, Azure, and SCP.
      • Log details display information such as event type, date/time, project, account ID, etc.
      • Click the Expand icon to view detailed information about all actions. This detailed view provides a deeper understanding of each access attempt. The detailed event information includes:
        • Event ID
        • Event Source
        • Event Result
        • Request Type
        • User Agent
        • Region
        • Source IP Address
        • User Information
      • Use filters such as project, CSP, environment, etc. to narrow down the results.
      • Select a period to filter logs. The default period is 30 days.
      • Logs are sorted in reverse chronological order, with the most recent actions at the top.
      • Each log entry serves as an audit trail to trace console access patterns and user activity across CAM.
      • Download all log data for the selected period as an Excel file for offline analysis or record-keeping.

      Audit Log

      Guide
      1. Navigate to Monitoring > Audit Log from the menu.
      2. Select the desired log type: audit log or approval log.
      3. Use search and filter options to find logs based on criteria such as user, resource type, or period.
      4. Check the details, including the timestamp of access, user information, and resource details.

      The Audit Log section of the monitoring module provides a comprehensive history of user and system actions performed within the CAM portal, divided into two detailed items.

      1. Audit Log
      2. Approval Log

      Audit Log

      The Audit Log section displays the history of operations related to the creation, update, and deletion of data within the CAM portal.

      Audit Log Features

      Log Scope

      • Tenant (Company) Administrator: Can view logs for all projects within the tenant.
      • User: Can only view logs for their own projects.

      Log Details

      • Log details display information such as event type, date/time, user, IP, etc.
      • Click the Expand icon to view detailed information about all actions.
      • Use filters such as project, event type, user, etc. to narrow down the results.
      • Select a period to filter logs. The default period is 30 days.
      • Logs are sorted in reverse chronological order, with the most recent actions at the top.
      • Download all log data for the selected period as an Excel file for offline analysis or record-keeping.

      Approval Log

      The Approval Log section provides a history of all approval requests and approval statuses within the CAM.

      Approval Log Features

      Log Scope

      • Tenant (Company) Administrator: Can view approval logs for all projects within the tenant.
      • User: Can view approval logs for their own projects.
      Log Details
      • Log details display approval type, approval status, details, and approval history.
      • Check the approval status, such as pending, approved, or rejected.
      • Open a specific approval item to view its details.
      • Use filters such as project, approval type, approval status, user, etc. to narrow down the results.
      • Select a period to filter logs. The default period is 30 days.
      • Logs are sorted in reverse chronological order, with the most recent approvals at the top.
      • Download all log data for the selected period as an Excel file for offline analysis or record-keeping.

      5.2.1.4.6 - Configuration

      The configuration feature enables PM and PL group users to manage essential project settings, account configurations and tenant administrators to set up approval lines and organizational charts.

      Project

      The project menu allows users to view all projects they belong to. Project details are initially registered by the PM, and can be modified by the PM or PL group users as needed.

      Create Project

      To create a project, click the Create Project button and enter the project information.

      1. Project Name: Give a name to the project.
      2. PM: Designate a project manager who can manage project-related information and permissions. Note that if you designate someone other than yourself, you will no longer be able to manage the project after creation.
      3. Organization: Select the organization that will carry out the project.
      4. Description: Enter a description of the project.

      View Project

      In the View Project screen, PM or PL group users can manage project information and add CSP accounts and users to the project.

      1. General Information: Displays the project information registered in the Create Project screen.
      2. Edit: Click the Edit button to modify the project’s general information.
      3. Delete: Click the Delete button to delete the project.
      4. Users: Displays a list of users registered to the project.
      5. Accounts: Displays a list of cloud accounts registered to the project.

      Cloud Account Management

      PM and PL group users can add new accounts to the project or delete accounts that are no longer in use.

      Adding AWS Account

      CAM supports a keyless method to enhance security when connecting cloud accounts. To register an account, you need to create a new role in the AWS IAM service with the policy required by CAM. Follow these steps to create a role in AWS:

      1. Access the AWS IAM service
      2. Go to the Roles menu and click Create Role
        • Click the Create button in the Access management > Roles section to go to the Create Role screen.
      3. Create Role > Step 1: Select a trusted entity. This step is where you enter CAM account information.
        • Select AWS account and Another AWS account in order, and enter the CAM account ID 022499039571 in the account ID field.
      4. Create Role > Step 2: Add permissions
        • Assign the CAM policy to the newly created role.
          Guide

          Search for and select the relevant policy, and proceed to the next step.

          • IAMFullAccess
          • AmazonEC2FullAccess
          • AmazonRDSFullAccess
          • AWSCloudTrail_FullAccess
          • AmazonS3FullAccess
          • AmazonEventBridgeFullAccess
      5. Create Role > Step 3: Name, review, and create Enter a role name and click the Create Role button to complete the role creation. ※ The role name created here will be used as the Role Name when registering the account in CAM.
      Guide

      After creating a role in IAM, go back to the Project View screen in CAM and register the account. Click the Add button above the account list and enter the account information to register the account to the project. To complete the account registration, an approval process is required. Click the Create Approval button to proceed with the approval, which will be sent to an approval system such as Knox for processing. Once the approval is complete, you can view the newly registered account in the account list.

      1. CSP: Select the CSP.
      2. Environment: Select the service environment.
      3. Account Name: Give a name to the account.
      4. Account ID: Enter the account ID registered in AWS and click the ‘Verify’ button to confirm.
      5. AWS Type: Set to ON if the account is a Chinese account.
      6. Role Name: Enter the role name created in the AWS IAM.
      Note
      Account registration policies may vary depending on the tenant. According to the tenant’s policy, accounts may be restricted to registration in only one project.
      1. Title: Automatically entered by the system and cannot be modified.
      2. Approver: The approval line is automatically added by the system, and approvers and agreeers can be added according to the approval guide.
      3. Content: Account information is automatically entered by the system and cannot be modified.

      Adding SCP Account

      PM and PL group users can add new SCP account to a CAM project through the Add Account button in the View Project page. CAM supports a keyless connection method for enhanced security, so no credentials are exchanged directly during account registration. Before you begin, make sure that the required setup is completed in the SCP Console.

      Note
      SCP includes both SCP for Samsung and SCP for Enterprises environments. Depending on your CSP authority or selection, the pre-requisites and steps for adding an account are identical for both.
      Step 1. Pre-requisite Setup (One-time Trust Configuration for CAM Account)

      Before adding your SCP account in CAM, ensure the following configuration is completed on the SCP side. This setup allows CAM to securely access the target project and verify account information.

      First you will need to setup policy, if it is not already created based on the described steps in the manual below. Then authorize the CAM account via Permission Groups and then add members.

      1. Create a Policy for CAM Access
      • Go to SCP Console.

      • Login and navigate to the IAM > Policies section in SCP Console.

      • Create a Policy with the name ‘CAM_Linked_Policy’ Create a new policy that includes the necessary permissions required for CAM operation based on the following table:

        IDActionReason
        [Platform] Permission ManagementList, Read, Create, Delete, Update PermissionCreate/Delete Policy, Assign Policy to Role
        [Platform] Resource ManagementList, ReadView List and Details of SCP
        [Platform] Tag ManagementList, ReadView Tag List/Information, etc.
        [Platform] Project ManagementList, ReadAssigned Project List/Information
        Table. Policy for CAM Access list

      • Alternatively, you can also add policy requirements to JSON Mode.

      • You can connect Permission Group and role later, so Complete Policy creation without checking anything

      1. Authorize the CAM Account via Permission Groups
      • Once the policy is created, link it to the CAM system account using a permission group.
      • Step-by-step:
        • Navigate to IAM > Permission Groups
        • Create a new permission group (e.g., CAM-Access-Group)
        • Create a Permission Group with the name ‘CAM_Linked_Group’.
        • Attach the CAM policy created above to this group
        • When you add User to your project, you will connect User to Permission Group, so now you can Complete Permission Group generation without checking any User.
      1. Assign CAM Service Account to the Permission Group
      • Navigate to the Project Members section in your SCP Console.
      • Add the required account as a member of your target project.
      • This account represents CAM and will be used for integration.
      • To Add it, select the target project > Identity Access Management > Add User > Add Project Member > Add SCP User to Target Project
      • Proceed to Add Project Member
        • Search CAM users with ‘cam.app@samsung.com’ e-mail address.
        • Click the ADD button to select the cam.app user.
        • Add the User available from the list. Alternatively, you can search the user by using the search functionality.
      • Search user to add as a Project Member.
        • Select the Permission Group with the name ‘CAM_Linked_Group’ that you created above and complete the Add Project member operation.
      • Connect Permission Groups to complete Adding Project Member
      • After completing the above steps, return to the Project View screen in CAM to add your SCP account.
      Step 2. Add Account in CAM console
      • In CAM, go to View Project > Manage Accounts.
      • Click the Add Account button.
      • In the pop-up that opens, fill in the following details:
        • Select CSP and Environment
          • CSP: Choose SCP for Enterprises or SCP for Samsung.
          • Environment: Select the environment this account will belong to (e.g., DEV, STG, PRD, or ETC).
        • Enter Account Information
          • Account Name:
            • Enter a name to identify this account within CAM.
            • This can be up to 50 characters long.
            • Only English letters and numbers are allowed.
          • Project ID (from SCP Console):
            • Enter the Project ID of the SCP project you prepared earlier.
            • Allowed: English letters, numbers, and hyphens only
            • Max: 30 characters
        • Click Verify after entering the Project ID. CAM checks the following:
          • The project exists in SCP.
          • The required roles (cam-Administrator, cam-Operator, cam-Developer) are present.
          • The project isn’t already registered in another CAM project or awaiting approval elsewhere.
          • If any of these conditions are not met, you’ll see a validation message.
      Step 3. Create Approval

      Once the Project ID is verified and other details are complete, the Create Approval button will become active.

      Click it to send the account addition request for approval. Depending on your CAM setup, you can either select the approvers manually or let the system route it to the default approvers. After approval, the SCP account will appear in the Project Accounts table in CAM.

      Adding Azure Account

      Before adding an Azure account in CAM, complete the following setup steps in the Microsoft Entra ID and Azure Portal. These steps must be performed by a Tenant Admin.

      Step 1: Pre-requisite Setup (One-time Trust and Domain Configuration for CAM Account)

      This step ensures that CAM is trusted within the target Azure tenant and has the required access permissions. This step needs to be completed before adding an Azure account in CAM by the Tenant Admin.

      These pre-requisites are divided into two sections:

      • Trust Configuration
      • Domain Configuration

      Trust Configuration for CAM Account

      This step ensures that CAM is trusted within the target Azure tenant and has the required access permissions. It must be performed by a Tenant Administrator in the target Azure tenant. The purpose is to grant the CAM application the necessary permissions to access resources within Microsoft Entra ID.

      To allow CAM to integrate with Azure, the Tenant Administrator must open the CAM Admin Consent URL. This URL triggers a Microsoft Entra Admin Center consent dialog, where the admin can approve the requested permissions for the CAM application.

      • Obtain the Tenant ID

        The CAM Admin Consent URL includes an App Client ID linked to a specific tenant. Before using it, the Tenant ID of the target Azure tenant must be confirmed.

        To find your Tenant ID:

        • Sign in to the Azure Portal.
        • In the left navigation menu, go to Microsoft Entra ID.
        • In the Overview tab (first screen), locate the Tenant ID field.
        • Copy the Tenant ID for use in the Admin Consent URL.
      • Access the CAM Admin Consent URL

        • Open the CAM Admin Consent URL in a web browser. (https://login.microsoftonline.com/{Your_Tenant_ID}/adminconsent?client_id=39613ae7-2fd4-4f3c-9471-aba2391da0b5)

          Replace the placeholder {Your_Tenant_ID} in the URL with the actual Tenant ID you copied earlier.

        • When prompted, select the Global Administrator account of the target tenant.

        • This account must have the highest administrative privileges in the tenant.

        • Review the Consent Agreement displayed. This agreement outlines the exact permissions CAM will be granted.

        • If you agree, click Accept to approve the integration.

        • By completing this step, CAM gains access to the tenant-level resources in Microsoft Entra ID.

        • No Subscription Access Yet: This step does not grant CAM access to Azure subscriptions. Subscription-level access will be configured separately in later steps (Management Group Role creation and Subscription Role assignment).

      • Verify CAM application registration after granting consent

        • In Azure Portal, navigate to Microsoft Entra ID → Enterprise Applications.
        • Search for the CAM application.
        • Confirm the CAM app appears in the list and is properly registered.
      Note
      When you grant Admin Consent, you are giving CAM tenant-level recognition.

      Domain Configuration for CAM Account In Azure, domain linkage is required so that you as a user can authenticate through email and integrate with CAM’s Keycloak authentication. The process of Domain Configuration has two main phases:

      PhaseWho Performs ItFrequency
      Create a DomainTenant Admin or PM/PLOnce per tenant (maybe repeated for new domains if required)
      Register your domain in the Azure TenantTenant AdminOnce per tenant (unless additional domains are added later)
      Table. Domain Configuration for CAM Account list

      Create a Domain You can create a public domain using any DNS service that can generate TXT records (e.g., AWS Route 53, SCP DNS). For this guide, we use SCP DNS as an example.

      • Pre-Domain Creation Operations
        • Log into SCP DNS.
          • Access the SCP console and navigate to the DNS menu.
        • Initiate Public Domain Purchase.
          • Click Product Request.
          • This opens the Purchase Form.
        • Fill in the details of Domain Purchase Form.
          • Usage Type: Select Public
          • Domain Name: Enter desired public domain name.
          • Registrant Details: Enter name, email, address, phone number.
          • Description and Designation fields.
          • Billing Information will be displayed before purchase confirmation.
        • Confirm Purchase
          • Review the final billed amount.
          • Click Next to confirm.
        • Verify DNS Status
          • Once created, the domain will appear in the SCP DNS list.
          • Wait until the status shows Active; which suggests it is now publicly usable.
          • You now have an active public domain that can be linked to your Azure tenant for user authentication.

      Register your Domain in the Azure tenant

      Now that the public domain exists, it must be linked to Microsoft Entra ID for authentication.

      • Pre-Domain Setup Operations (Azure Tenant)

        • Sign in to the Azure Portal with a Tenant Administrator account.
        • Navigate to Microsoft Entra ID → Custom Domain Names.
        • Click +Add Custom Domain.
        • Enter your public domain name (the one you created in SCP).
        • Click Add Domain.
      • Generate a TXT Record of the Domain (Azure → SCP DNS)

        • Once you add the domain in Azure:
          • Azure will display a TXT record value that must be added to your domain’s DNS settings. This is required to verify domain ownership.
          • Copy the TX record value from Azure.
      • Add TXT Record (To SCP / Domain Host)

        • Go to SCP DNS then select the Active public domain you created.
        • Click Add Record.
        • Record Type: Select TXT.
        • Value: Paste the TXT record value copied from Azure.
        • TTL (Time to Live): Choose according to preference.
        • Click Confirm.
        • Ensure the record appears in the domain’s DNS list.
      • Validate Domain in Azure

        • Return to the Azure Portal; select Microsoft Entra ID; then select Custom Domain Names.
        • Initially, the domain status will be unverified.
        • Click the domain and click Verify button.
        • Once Azure detects the TXT record (propagation may take several minutes); Status changes to Verified.
        • Your public domain is now officially linked to the Azure tenant.
      Step 2. Add Account in CAM console
      • In CAM, go to View Project > Manage Accounts.
      • Click the Add Account button.
      • In the pop-up that opens, fill in the following details:
        • Select CSP and Environment
          • CSP: Choose Azure
          • Environment: Select the environment this account will
        • Enter Account Information
          • Account Name:
            • Enter a name to identify this account within CAM.
            • This can be up to 50 characters long.
            • Only English letters and numbers are allowed.
          • Tenant ID (from Azure Portal):
            • Enter the Tenant ID.
            • Only English letters, numbers, and hyphens are allowed.
            • Maximum 36 characters can be entered.
            • Click Verify and CAM will check the following:
              • Confirm if the Tenant ID format is correct.
              • Validate it against Azure to ensure it exists.
              • Only after Tenant ID is verified will the Subscription ID field be enabled.
          • Subscription ID (from Azure Portal):
            • Enter the Subscription ID.
            • Only English letters, numbers, and hyphens are allowed.
            • Maximum 36 characters can be entered.
            • Click Verify and CAM will check the following:
              • Confirm if the Subscription ID format is correct.
              • Check if the Subscription ID is already linked to another CAM project.
              • Check if it is already registered or has a pending approval request.
              • Only after Subscription ID is verified will the Federation Domain field be enabled.
          • Federation Domain (from Azure Portal):
            • Enter the Federation Domain.
            • Only English letters, numbers, hyphens, and dots are allowed.
            • Maximum 48 characters can be entered.
            • Click Verify and CAM will check the following:
              • Confirm that the Federation Domain format is correct.
              • Ensure it matches an existing verified domain from Azure Domain Configuration.
      Step 3. Create Approval

      Once all the fields are verified and details are complete, the Create Approval button will become active.

      Click it to send the account addition request for approval. Depending on your CAM setup, you can either select the approvers manually or let the system route it to the default approvers. After approval, the Azure account will appear in the Project Accounts table in CAM.

      Delete Account

      Click the Delete button in the View Account section to delete an account that is no longer in use.

      User Management

      PM and PL group users can add or remove users from the project. Only users registered to the project can be granted console and resource access within the project, so users who need console or resource access must be registered as project users.

      Add User

      Click the Add button above the user list to add a user to the project.

      1. Name: Search for the user name registered in CAM.
      2. Group: Select the user’s group.
      3. PL: Can manage project-related information and has the same permissions as the project manager.
      4. Operator, Developer: Can view project-related information and request permissions for resources. These users are categorized for project role management but have the same permissions in the CAM portal.

      Delete User

      Select the user to delete from the user list and click the Delete button. After deleting a user, the deleted user can no longer view project-related information.

      Notice

      The Notice section allows Tenant Admins to create and manage notices that are displayed in the GNB Notices panel for users within the tenant. Multiple notices can be active simultaneously. Each notice can include a title, detailed description, optional attachment(s), and a defined display period.

      Create Notice

      To Create a Notice, click on the Create button on List page. In the Create Notice page, enter the following details:

      1. Title: Enter a title for the notice.
      2. Description: Provide the content or message to be displayed.
      3. Attachment (Optional): Upload supporting files (up to 5 files, with a combined maximum size of 50 MB). Empty files cannot be uploaded and supported file formats include images, documents, .mp4, and .zip.
      4. Display: Toggle ON to enable the notice for display in the GNB. Once the toggle is turned ON, you can select the Display Period or the date range during which the notice should be visible to users.

      Select Save to create the notice. The newly created notice will appear in the Notice list.

      View Notice Details

      Select any notice title from the list to open the Notice Details page. All notice information (Title, Description, Attachments, Display Period, Created By, and Created Date) is displayed in read-only mode.

      From this view:

      1. Use Edit to modify the notice.
      2. Use Delete to permanently remove the notice. .

      Edit Notice

      • From the Notice List, select a notice to open its Detail View.
      • Select Edit.
      • Modify the required fields (Title, Description, Attachment, Display settings, or Date Range).
      • Select Save to update the notice.
      Note
      Changes made to an active notice take effect immediately.

      Delete Notice

      • From the Notice Detail view page, select Delete.
      • Confirm the deletion when prompted. The selected notice will be removed from the list and will no longer appear in GNB Notices.

      Approval Line

      Tenant administrators can predefine approval lines that users must specify when creating an approval.

      Create Approval Line

      To create an approval line, click the Create button and specify the approval case and organization to create.

      1. Name: Enter a name for the approval line that will not be exposed to users.
      2. Target: Select when and which organization to apply.
      3. Approver Guide: Enter the approver information that cannot be automatically designated by the system but must be included in the approval line. If entered, it will be exposed to users as follows.
      4. Approver: Search for and add the approver’s name to be automatically designated and exposed by the system.

      View Approval Line

      To view detailed information about an approval line, go to the Approval Line menu and click on the desired approval line. You can view information about all approval lines and modify or delete them.

      Modify Approval Line

      Click the Edit button in the View Approval Line screen to modify the information.

      Delete Approval Line

      Click the Delete button to delete an approval line that is no longer in use.

      Organization

      The organization menu allows tenant administrators to manually manage the tenant’s organization. Tenant administrators can create organizations, which can be used to manage projects and approval lines by organization unit.

      Add Organization

      To add an organization, click the Add button and enter the following details in the Add Organization popup.

      1. Parent (Upper Organization): Select the name of the upper organization. The default value is the tenant name.
      2. Name: Enter the name of the organization to create.
      3. Display: Set the toggle to ON to expose the organization in the Organization list to users.

      View Organization

      The View Organization page displays a list of all created organizations. Click on the organization name to view detailed organization information on the right. You can expand the entire organization list to view all organizations at once, or collapse it to view only the top-level organizations.

      Modify Organization

      The data entered when creating the organization is displayed, and all data can be modified. Click the Save button after modifying.

      Delete Organization

      Click the Delete button in the View Organization screen to delete an organization that is no longer in use.

      Note
      Parent organizations and organizations with registered projects cannot be deleted.

      Tenant Administrator

      The tenant administrator menu allows you to add, specify, or delete administrators who manage the tenant. Initially, the user who applied for the service is designated as the tenant administrator, and subsequent administrators can be directly added, deleted, and managed by tenant administrators with administrative privileges.

      Tenant administrators can manage tenant-based information through dedicated menus (e.g., Approval Line, Organization, etc.) and view all content within the tenant.

      Add Tenant Administrator

      To add a tenant administrator, click the Add button and search for and register a user among those registered to the tenant.

      Delete Tenant Administrator

      Select the user to delete from the tenant administrator list and click the Delete button.

      5.2.1.4.7 - FAQ

      Common

      I am unable to access the CAM site.

      • The CAM site can only be accessed from the allowed internal network of the tenant.
      • Please check if the network you are accessing is an accessible environment.
      • Refer to Getting Started > Network Environment.

      Do I need to process the firewall in advance?

      • To access resources through the CAM site, firewall registration must be done in advance from CAM to the accessing resources (Jumphost).
      • For the contents required for firewall registration, please inquire with the tenant administrator.

      I am unable to log in.

      • Membership registration and login follow the SingleID system, so you must go through SingleID’s sign-in process or your company’s SSO process (e.g., Knox SSO), followed by MFA (e.g., SMS, Email, etc.) to access the CAM portal.
      • When accessing for the first time, select the MFA method (SMS, Email, etc.), and the OTP will be sent to the phone number or email stored in Knox personal information, if SSO is configured for Knox, and you can log in by entering the OTP. If your phone number has changed, it may take some time for the Knox personal information to be updated and reflected in SingleID, so please try again.

      Project

      Is there anything I need to prepare in advance to register a cloud account?

      • To register an account in CAM, you need to create a new role in CSP IAM and have the CAM service account assume that role.
      • Add the policies required by CAM to create a new role and add the CAM service account as a trusted entity.
      • For a detailed guide on registering a new role in CSP IAM, please refer to add account section of Configuration manual.

      I am unable to register an account.

      • When registering an account, the consistency of the account ID and role name is checked.
      • Please enter the CSP account ID information in the account ID and the role name information created in CSP IAM according to the guide.
      • Also, check if the role was created correctly according to the guide.

      I registered an account, but the information is not visible.

      • The account information will be exposed on the project screen’s account list only after the approval for account registration is completed.
      • If Knox approval system is used as an approval system, please check the approval status in Knox approval.

      Console Access

      An error message appears on the CSP console login screen.

      • The CAM site provides CSP login based on console roles, and if there is no role that the user can log in to, CSP recognizes it as an invalid request and displays an error message.
      • If you see the message “Your request included an invalid SAML response,” please request an CSP role from the PM or PL.
      • After the PM or PL registers the user to the role and the approval is completed, you can log in by selecting the corresponding role on the CSP console screen.

      I am unable to access the CSP console login screen.

      • The CAM site has restrictions on accessing some services depending on the access environment.
      • While the CAM site can be accessed from the internal network environment, resource access may be allowed only for specific IP ranges for each tenant. Please check your access environment and inquire with the tenant administrator.

      I created a role and policy, but the role is not visible on the CSP console login screen.

      • It may take a few minutes for the role and policy to be actually created and applied in CSP.
      • Or, the user registration and approval for the role must be completed for the registered user to select the role on the CSP console login screen, so please check the user registration and approval status.

      I get an ‘Invalid CSP policy JSON.’ error message and policy creation fails.

      • This is a CSP error that occurs when the input JSON template is not supported by CSP.
      • Please check the input JSON and rewrite it in a valid format.

      I get an ‘Unable to complete due to a CSP error response.’ error message and role mapping fails.

      • This is a CSP error that occurs when the JSON of the policy being mapped or the policy to be mapped is invalid.
      • Please delete the corresponding policy and create a new policy in a JSON format supported by CSP.

      Resource Access

      Is there anything I need to prepare in advance to access resources?

      • To access resources through the CAM site, you need to apply for access permissions by account and resource type and get approval.
      • Please apply and get approval through the authority request menu.
      • After approval, you need to install the client agent on the PC you want to access and register the IP of the access environment.
      • You can install the client agent by clicking the Download Client Agent button in the PC settings menu, and you can register up to 5 IPs.
      • Refer to Resource Access > PC Settings.

      I get an ‘Access to PRD server resources is restricted to ‘VDI for server connect’ environments where the Internet is blocked.’ error message and resource access fails.

      • Access to PRD resources is restricted in general internal network environments.
      • PRD resources can only be accessed from specific IP ranges where the Internet is blocked. For tenant-specific restricted environments, please inquire with the tenant administrator.

      I get a ‘Resource connect is restricted due to unauthorized IP.’ error message and resource access fails.

      • This error occurs because the current access IP is not registered in the CAM site.
      • To access resources through the CAM site, you need to register the IP of the access environment in advance.
      • Please register the IP of the access environment in the PC settings menu and use it.
      • Refer to Resource Access > IP Registration.

      I get an ‘Unable to connect to the resource since the local port you entered is already in use.’ error message and resource access fails.

      • This message appears when the local port you entered is already in use by another application on your PC.
      • Please enter an unused port between 1024 and 65,535 and try again.

      What are the supported OS, DB vendors, and versions for enrolling resources?

      • Currently, OS supports Ubuntu and Amazon Linux, and DB supports some versions of PostgreSQL, MySQL, Aurora PostgreSQL, and Aurora MySQL.
      • For detailed version information of each OS/DB, please refer to Getting Started > Service Scope.

      I get a ‘The address information you provided is not valid.’ error message and resource registration fails.

      • This message appears when the address information of the resource to be registered is invalid.
      • Please check the IP and port information of the address and try again.

      I get an ‘Invalid authentication credentials. Please check your credentials, then try again.’ error message and resource registration fails.

      • This message appears when the root user information of the resource to be registered is invalid.
      • Please check the ID and password information of the root account and try again.

      I get an ‘Unable to connect to the resource because the PC agent is not connected.’ error message and resource access fails.

      • This occurs when the Client Agent is not automatically executed when the PC is running.
      • We recommend restarting the PC to automatically execute the Client Agent, or reinstalling and executing the Client Agent.

      I get an ‘Unable to connect to the resource. Please try again after checking the resource status.’ error message and resource access fails.

      • This occurs when the resource to be accessed is not in an accessible state.
      • Please check if the resource can be accessed through the network and try again after taking necessary actions.

      5.2.1.5 - SingleID Authenticatior

      Overview

      SingleID Authenticator is a dedicated authentication tool that allows users to authenticate themselves on a website using their mobile phone in a convenient and secure manner.

      SingleID Authenticator Authentication Methods

      • Biometric (fingerprint, facial recognition)
      • TOTP (Time-based One-Time Password)
      • mOTP (mobile One-Time Password)
      • PIN
      Notice
      The available authentication methods may vary depending on the services supported by the authentication method and the device support range.

      Mobile Environment Support

      SingleID Authenticator supports the following mobile environments.

      SupportRecommended
      Android : 8 and later versions
      • Web Browser: Samsung Internet  Latest public version
      Android : 8 and later versions
      • Models released in 2018 and beyond among Samsung Galaxy Mobile Products
      • Galaxy S9 ↑
      • Web Browser: Samsung Internet 9.0 ↑
      iOS : 16 ,17
      • Web Browser: Safari , Latest public version
      iOS : 16 ,17
      • iPhone Xs ↑, Models released in 2018 and beyond among Apple iPhone Products
      • Web Browser: Safari 14.1 ↑
      Table. Mobile Environment Support

      5.2.1.5.1 - Installing the App

      SingleID Authenticator mobile app can be downloaded in various ways.

      Scanning the QR Code to Download

      When proceeding with the SingleID Authenticator registration procedure on the SingleID User Portal, such as during authentication settings or authentication pages, you can scan the QR code to conveniently visit the app store and download it.

      Note
      If you are a user in China who cannot access the app store, click For Chinese users or those who cannot access the App Store, click here below the QR code on the screen to receive the SMS URL.

      Downloading from the Mobile App Store

      If you cannot scan the QR code with your camera due to company internal security, you can download it directly by searching for it on the app store for Android and iOS operating systems.

      1. Run Play Store (Android) or App Store on your smartphone.
      2. Search for SingleID.
      3. Confirm SingleID Authenticator and press the install button to install it.

      Downloading via Smartphone Browser

      If you have accessed the additional authentication page on your mobile device, follow the procedure below to download and install the app.

      1. Click the button below on the service registration guide page.
      2. Click the app download to download the installation file and install it.
      Caution
      For iOS, after installation, set SAMSUNG SDS to trusted in Device Settings > General > Device Management to use it.

      5.2.1.5.2 - Authenticating Users

      Authenticating with PUSH

      Registered users will automatically receive a PUSH notification on their mobile app from the service for additional authentication. To authenticate using PUSH, follow the procedure below.

      1. When additional authentication is requested, the SingleID Authenticator receives a PUSH notification. Tap the PUSH notification to launch the app.
      2. Authenticate using your preferred method.
      3. If authentication is successful, return to the browser to complete the authentication.
      Note
      For iOS, users must manually switch to the browser by clicking the top-left Safari button to complete the authentication. For Android OS devices, the browser will automatically switch.

      Requesting Manual Authentication

      If you don’t tap the PUSH notification or didn’t receive it, you can request additional authentication directly from the app. To authenticate by requesting authentication from the app, follow the procedure below.

      1. Launch the app and click the + button at the top right.
      2. Scan the QR code or enter the manual code displayed on the web browser into the mobile app.
      3. Once the input is complete, the authentication service will be registered.

      Authenticating with OTP

      For users registered with the OTP service, the additional authentication screen will automatically send OTP information to the user’s mobile app via PUSH. To confirm and authenticate OTP in the app, follow the procedure below.

      1. When OTP authentication is requested, the SingleID Authenticator receives a PUSH notification. Tap the PUSH notification to launch the app.
      2. Check if the OTP displayed in the app matches the OTP on the web screen. If they match, select Confirm in the app.
      3. If authentication is successful, return to the browser to complete the authentication.
      Note
      If you are using an older version of the app that does not support OTP, you can update the app and use OTP authentication. Follow the guide on the authentication screen to update the app, register OTP, and use it.

      5.2.1.5.3 - Manage Authentication Methods

      To use SingleID Authenticator, you must set a PIN, and you can add other authentication methods supported by the service.

      PIN Change

      When you first register a service with SingleID Authenticator, you will register a PIN as a required authentication method. To change the PIN, follow the steps below.

      1. Main screen > Authentication method go to.
      2. Click change on the PIN item. Go through the identity verification process and change to the desired number.
      Reference
      The authentication methods that can be registered may vary depending on the authentication methods and devices supported by the service.

      Cancel authentication method

      If you no longer use the registered authentication method or need to re‑register, you can cancel the authentication method. To cancel the authentication method, follow the steps below.

      1. Go to Settings > Authentication Method Management.
      2. Authentication with PIN is required when accessing the menu.
      3. Select the right icon of the authentication method you want to cancel.
      4. A delete confirmation popup appears as shown below.
      5. If the authentication method is deregistered, the right icon changes to Off state.
      Reference
      After registering the service, the initial PIN cannot be cancelled with the default setting. If you do not want to authenticate with SingleID Authenticator, delete the service.

      5.2.1.5.4 - Managing Service List

      You can change the order of the list of registered services or delete services that are not in use.

      Changing the List Order

      If you want to change the order of the service list, follow the procedure below.

      1. Select the icon from the home screen to move to the service list change.
      2. Press and hold the icon of the service you want to change the order of, and drag it to the desired location.
      3. After changing to the desired order, click Complete. The changed list will be saved.
      4. Deleting Registered Services
      5. There are two ways to delete registered services: deleting one service at a time and bulk deleting multiple services.

      If you want to delete a service, you can delete it directly from the list. Follow the procedure below.

      1. From the home screen, select the service you want to delete and slide it to the left.
      2. When the trash can icon appears on the right, click Trash.
      3. When the Do you want to delete the selected service? popup appears, click Confirm to delete.
      4. Confirm that the service has been deleted from the list.

      FAQ

      The app does not open when using the Samsung browser.

      For users using the latest version of the Samsung browser, the app logo may not be displayed in the browser due to smartphone settings, and the app may not open automatically.

      You can open the app by selecting the app icon next to the browser address bar. To set the app to open automatically, follow the procedure below.

      1. Go to Samsung Browser > Internet Settings > Useful Features.
      2. Change the setting to open links in other apps to On.
      3. Go back to the browser and run the app again, and it will work normally.

      5.2.1.5.5 - Open Source Licence(Android)

      The open source licenses used in the SingleID solution are as follows. For more details, see below.

      SingleID_MobileApp_Client-APK

      The following sets forth attribution notices for third party software that may be contained in portions of this product. If you have any questions, please contact <global.cs@samsung.com.>

      LicenseOpen Source ComponentLicense Text
      Jdom LicenseJDOM(http://www.jdom.org/)JDOM License
      Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin. All rights reserved.
      Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

      1. Redistributions of source code must retain the above copyright notice, this list of conditions, and the following disclaimer.
      2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions, and the disclaimer that follows these conditions in the documentation and/or other materials provided with the distribution.
      3. The name “JDOM” must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact {request_AT_jdom_DOT_org}.
      4. Products derived from this software may not be called “JDOM”, nor may “JDOM” appear in their name, without prior written permission from the JDOM Project Management {request_AT_jdom_DOT_org}.

      In addition, we request (but do not require) that you include in the end-user documentation provided with the redistribution and/or in the software itself an acknowledgment equivalent to the following: “This product includes software developed by the JDOM Project (http://www.jdom.org/)." Alternatively, the acknowledgment may be graphical using the logos available at http://www.jdom.org/images/logos.

      THIS SOFTWARE IS PROVIDED “AS IS” AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE JDOM AUTHORS OR THE PROJECT CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
      MIT LicenseXamarin.Android.Support.VersionedParcelable (http://www.nuget.org/packages/Xamarin.Android .Support.VersionedParcelable) , Animal Sniffer Annotations (http://mojo.codehaus.org/animal-sniffer/ animal-sniffer-annotations) , Checker Qual (http://checkerframework.org) , Xamarin.Android.Support.SwipeRefreshLayout (http://www.nuget.org/packages/Xamarin.Android .Support.SwipeRefreshLayout) , chai (https://www.npmjs.org/package/chai) , The Legion of the Bouncy Castle (http://www.bouncycastle.org/index.html) , SLF4J API Module(http://www.slf4j.org) , jsrsasign(https://www.npmjs.org/package/jsrsasign) ,Checker Qual(http://checkerframework.org) , , jsrsasign (https://www.npmjs.org/package/jsrsasign) , Mocha(https://www.npmjs.org/package/mocha) , Xamarin.Android.Support.ViewPager (http://www.nuget.org/packages/Xamarin. Android.Support.ViewPager) , SLF4J LOG4J-12 Binding (http://www.slfj.org) , android-gif-drawable (http://github.com/koral--/android-gif-drawable/)
      Android - platform - hardware - intel - common – libva (http://developer.android.com/index.html)
      The MIT License

      Xamarin.Android.Support.VersionedParcelable : Copyright (c) .NET Foundation Contributors

      Animal Sniffer Annotations : Copyright (c) 2009 codehaus.org.

      Checker Qual : Copyright 2004-present by the Checker Framework developers

      Xamarin.Android.Support.SwipeRefreshLayout : Copyright (c) .NET Foundation Contributors

      chai : Copyright (c) 2017 Chai.js Assertion Library

      The Legion of the Bouncy Castle : Copyright © 2013 Legion of the Bouncy Castle Inc. (ABN 84 166 338 567) All rights reserved.

      SLF4J API Module , SLF4J LOG4J-12 Binding : Copyright © 2004-2023 QOS.ch

      jsrsasign : Copyright (c) 2010-2021 Kenji Urushima

      Checker Qual : Copyright 2004-present by the Checker Framework developers

      Mocha: Copyright (c) 2011-2022 OpenJS Foundation and contributors, https://openjsf.org

      Xamarin.Android.Support.ViewPager , Android - platform - hardware - intel - common - libva: Copyright (c) .NET Foundation Contributors

      android-gif-drawable : Copyright (c) 2013 - present Karol Wrótniak, Droids on Roids LLC

      Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

      The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

      THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF License Open Source Component License Text MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
      SingleID_MobileApp_Client-APK

      SingleID_MobileApp_Flutter-UMA

      The following sets forth attribution notices for third party software that may be contained in portions of this product. If you have any questions, please contact global.cs@samsung.com

      LicenseOpen Source ComponentLicense Text
      Apache License 2.0Android Support Library media compat, Converter: Gson, Adapter: RxJava 2, Android Support Library core utils, Android Arch-Runtime, Guava (Google Common Libraries), Android Support AnimatedVectorDrawable, Android Support Library core UI, Android Support Library Custom View - androidx.customview:customview, Android Lifecycle LiveData, OkHttp, Gson, android.support.annotation, Android Support Library Custom View - androidx.swiperefreshlayout:swiperefreshlayout, Android Support Library v4, OkHttp, Android Lifecycle ViewModel, Commons Lang, rxjava, Android Support Library compat, Roboto Fonts, Apache Commons Collections, Android Support Library v4, Android Lifecycle LiveData Core, RxAndroid, joda-time, okio, Apache Commons IO, JetBrains/java-annotations, Android AppCompat Library v7, Android Support Library Collections, Android Support VectorDrawable, Kotlin Stdlib, Android Lifecycle-Common, Android Support Library loader, RetrofitApache License Version 2.0, January 2004

      http://www.apache.org/licenses/

      TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

      1. Definitions.

      “License” shall me an the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.

      “Licensor” shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.

      “Legal Entity” shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, “control” means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.

      “You” (or “Your”) shall mean an individual or Legal Entity exercising permissions granted by this License.

      “Source” form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.

      “Object” form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.

      “Work” shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).

      “Derivative Works” shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.

      “Contribution” shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, “submitted” means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as “Not a Contribution.”

      “Contributor” shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.

      2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.

      3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.

      4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:

      a. You must give any other recipients of the Work or Derivative Works a copy of this License; and
      b. You must cause any modified files to carry prominent notices stating that You changed the files; and
      c. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
      d. If the Work includes a “NOTICE” text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.

      You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.

      5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.

      6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.

      7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.

      8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.

      9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.

      END OF TERMS AND CONDITIONS

      APPENDIX: How to apply the Apache License to your work

      To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets “[]” replaced with your own identifying information. (Don’t include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same “printed page” as the copyright notice for easier identification within third-party archives.

      Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      Creative Commons Zero v1.0 Universalreactive-streams: http://www.reactive-streams.org/Creative Commons CC0 1.0 Universal

      Creative Commons Legal Code CC0 1.0 Universal

      CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN “AS-IS” BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER.

      Statement of Purpose

      The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an “owner”) of an original work of authorship and/or a database (each, a “Work”).

      Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works (“Commons”) that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others.

      For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the “Affirmer”), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights.

      1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights (“Copyright and Related Rights”). Copyright and Related Rights include, but are not limited to, the following:

      i. the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work;

      ii. moral rights retained by the original author(s) and/or performer(s);

      iii. publicity and privacy rights pertaining to a person’s image or likeness depicted in a Work;

      iv. rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below;

      v. rights protecting the extraction, dissemination, use and reuse of data in a Work;

      vi. database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and

      vii. other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof.

      2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer’s Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work

      i. in all territories worldwide,

      ii. for the maximum duration provided by applicable law or treaty (including future time extensions),

      iii. in any current or future medium and for any number of copies, and

      iv. for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the “Waiver”).

      Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer’s heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer’s express Statement of Purpose.

      3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer’s express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty‑free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer’s Copyright and Related Rights in the Work

      i. in all territories worldwide,

      ii. for the maximum duration provided by applicable law or treaty (including future time extensions),

      iii. in any current or future medium and for any number of copies, and

      iv. for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the “License”).

      The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not i. exercise any of his or her remaining Copyright and Related Rights in the Work or ii. assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer’s express Statement of Purpose.

      4. Limitations and Disclaimers.

      a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document.

      b. Affirmer offers the Work as‑is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law.

      c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person’s Copyright and Related Rights in the Work. Further,

      Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work.
      ISC Licensegotham-fonts: https://www.npmjs.org/package/gotham-fontsISC License (ISCL)

      gotham-fonts : Copyright @ Bogdan Pop

      Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.

      THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
      MIT LicenseXamarin.Android.Support.VersionedParcelable: http://www.nuget.org/packages/Xamarin.Android.Support.VersionedParcelable

      Xamarin.Android.Support.CoordinaterLayout: http://www.nuget.org/packages/Xamarin.Android.Support.CoordinaterLayout

      The Legion of the Bouncy Castle: http://www.bouncycastle.org/index.html

      Xamarin.Android.Support.SlidingPaneLayout: http://www.nuget.org/packages/Xamarin.Android.Support.SlidingPaneLayout

      XamarinLibrary.Xamarin.Android.Support.Multidex: https://www.nuget.org/packages/XamarinLibrary.Xamarin.Android.Support.Multidex

      Xamarin.Android.Support.Interpolator: http://www.nuget.org/packages/Xamarin.Android.Support.Interpolator

      Xamarin.Android.Support.LocalBroadcastManager: http://www.nuget.org/packages/Xamarin.Android.Support.LocalBroadcastManager

      Xamarin.Android.Support.DrawerLayout: http://www.nuget.org/packages/Xamarin.Android.Support.DrawerLayout

      @fontsource/Montserrat: https://www.npmjs.org/package/@fontsource/montserrat

      Xamarin.Android.Support.DocumentFile: http://www.nuget.org/packages/Xamarin.Android.Support.DocumentFile

      Xamarin.Android.Support.Print: http://www.nuget.org/packages/Xamarin.Android.Support.Print

      Xamarin.Android.Support.AsyncLayoutInflater: http://www.nuget.org/packages/Xamarin.Android.Support.AsyncLayoutInflater

      SLF4J API Module: http://www.slf4j.org

      Xamarin.Android.Support.ViewPager: http://www.nuget.org/packages/Xamarin.Android.Support.ViewPager

      secure-random: http://github.com/avodonosov/secure-random/

      Xamarin.Android.Support.CursorAdapter: http://www.nuget.org/packages/Xamarin.Android.Support.CursorAdapter
      The MIT License

      Xamarin.Android.Support.VersionedParcelable: Copyright (c) .NET Foundation Contributors All rights reserved.

      Xamarin.Android.Support.CoordinaterLayout: Copyright (c) .NET Foundation Contributors All rights reserved.

      The Legion of the Bouncy Castle: Copyright (c) 2000-2023 The Legion of the Bouncy Castle Inc. (https://www.bouncycastle.org)

      All rights reserved.

      Xamarin.Android.Support.SlidingPaneLayout: Copyright (c) .NET Foundation Contributors All rights reserved.

      XamarinLibrary.Xamarin.Android.Support.Multidex: Copyright (c) .NET Foundation Contributors All rights reserved.

      Xamarin.Android.Support.Interpolator: Copyright (c) .NET Foundation Contributors All rights reserved.

      Xamarin.Android.Support.LocalBroadcastManager: Copyright (c) .NET Foundation Contributors All rights reserved.

      Xamarin.Android.Support.DrawerLayout: Copyright (c) .NET Foundation Contributors All rights reserved.

      @fontsource/Montserrat: Copyright (c) 2023 fontsource All rights reserved.

      Xamarin.Android.Support.DocumentFile: Copyright (c) .NET Foundation Contributors All rights reserved.

      Xamarin.Android.Support.Print: Copyright (c) .NET Foundation Contributors All rights reserved.

      Xamarin.Android.Support.AsyncLayoutInflater: Copyright (c) .NET Foundation Contributors All rights reserved.

      SLF4J API Module: Copyright © 2004-2023 QOS.ch All rights reserved.

      Xamarin.Android.Support.ViewPager: Copyright (c) .NET Foundation Contributors All rights reserved.

      secure-random: Copyright (C) 2011 by Anton Vodonosov (avodonosov@yandex.ru). All rights reserved.

      Xamarin.Android.Support.CursorAdapter: Copyright (c) .NET Foundation Contributors All rights reserved.

      Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

      THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
      SIL Open Font License 1.1@fontsource/rubik, https://www.npmjs.org/package/@fontsource/rubik

      @fontsource/montserrat https://www.npmjs.org/package/@fontsource/montserrat
      SIL OPEN FONT LICENSE

      Version 1.1 - 26 February 2007

      PREAMBLE

      The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.

      The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.

      DEFINITIONS

      “Font Software” refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.

      “Reserved Font Name” refers to any names specified as such after the copyright statement(s).

      “Original Version” refers to the collection of Font Software components as distributed by the Copyright Holder(s).

      “Modified Version” refers to any derivative made by adding to, deleting, or substituting — in part or in whole — any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.

      “Author” refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.

      PERMISSION & CONDITIONS

      Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:

      1. Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.

      2. Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.

      3. No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.

      4. The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.

      5. The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.

      TERMINATION

      This license becomes null and void if any of the above conditions are not met.

      DISCLAIMER

      THE FONT SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
      SingleID_MobileApp_Flutter-UMA

      5.2.1.5.6 - Open Source Licence(ISO)

      The open source licenses used in the SingleID solution are as follows. For more details, see below.

      SingleID_MobileApp_Client-IOS

      The following sets forth attribution notices for third party software that may be contained in portions of This product. If you have any questions, please contact global.cs@samsung.com

      LicenseOpen Source ComponentLicense Text
      Apache License 2.0Open Computer Vision Library (OpenCV): KA ProgressLabel:Apache License Version 2.0, January 2004

      http://www.apache.org/licenses/

      TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

      1. Definitions.

      “License” shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.

      “Licensor” shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.

      “Legal Entity” shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, “control” means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.

      “You” (or “Your”) shall mean an individual or Legal Entity exercising permissions granted by this License.

      “Source” form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.

      “Object” form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.

      “Work” shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).

      “Derivative Works” shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.

      “Contribution” shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, “submitted” means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as “Not a Contribution.”

      “Contributor” shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.

      1. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.

      2. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.

      4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
      a. You must give any other recipients of the Work or Derivative Works a copy of this License; and
      b. You must cause any modified files to carry prominent notices stating that You changed the files; and
      c. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, rademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
      d. If the Work includes a “NOTICE” text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.

      You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.

      5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.

      6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.

      7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.

      8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.

      9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
      END OF TERMS AND CONDITIONS

      APPENDIX: How to apply the Apache License to your work
      To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets “[]” replaced with your own identifying information. (Don’t include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same “printed page” as the copyright notice for easier identification within third-party archives.

      Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      Apple MIT LicenseApple Reachability: https://developer.apple.com/library/ios/samplecode/Reachability/Introduction/Intro.htmlDisclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc.

      (“Apple”) in consideration of your agreement to the following terms, and your use, installation, modification or redistribution of this Apple software constitutes acceptance of these terms. If you do not agree with these terms, please do not use, install, modify or redistribute this Apple software.

      In consideration of your agreement to abide by the following terms, and subject to these terms, Apple grants you a personal, non-exclusive license, under Apple’s copyrights in this original Apple software (the “Apple Software”), to use, reproduce, modify and redistribute the Apple Software, with or without modifications, in source and/or binary forms; provided that if you redistribute the Apple Software in its entirety and without modifications, you must retain this notice and the following text and disclaimers in all such redistributions of the Apple Software. Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to endorse or promote products derived from the Apple Software without specific prior written permission from Apple. Except as expressly stated in this notice, no other rights or licenses, express or implied, are granted by Apple herein, including but not limited to any patent rights that may be infringed by your derivative works or by other works in which the Apple Software may be incorporated.

      The Apple Software is provided by Apple on an “AS IS” basis. APPLE MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.

      IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
      Brian Gladman AES LicenseGladman AES: http://www.gladman.me.uk/AESBrian Gladman AES License

      Copyright (c) 1998-2013, Brian Gladman, Worcester, UK. All rights reserved. The redistribution and use of this software (with or without changes) is allowed without the payment of fees or royalties provided that:
      source code distributions include the above copyright notice, this list of conditions and the following disclaimer; binary distributions include the above copyright notice, this list of conditions and the following disclaimer in their documentation.
      This software is provided ‘as is’ with no explicit or implied warranties in respect of its operation, including, but not limited to, correctness and fitness for purpose.
      BSD 3-clause “New” or “Revised” LicenseTPPropertyAnimation: http://atastypixel.com/blog/key-path-based-property-animation

      Sqlcipher: https://cocoapods.org/pods/SQLCipher

      ASM All: http://asm.objectweb.org/asm/

      Protocol Buffers [BOM]: https://developers.google.com/protocol-buffers/
      TPPropertyAnimation: Copyright 2010 A TASTY PIXEL. All rights Reserved

      sqlcipher: Copyright (c) 2008-2023, ZETETIC LLC All rights reserved.

      ASM All: Copyright (c) 2000-2011 INRIA, France Telecom All rights reserved.

      Protocol Buffers [BOM]: Copyright 2008 Google Inc. All rights reserved.
      Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
      * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
      * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
      * Neither the name of the nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

      THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
      MIT LicenseSlatherOrg/slather: https://github.com/SlatherOrg/slather

      FDKeychain: https://cocoapods.org/pods/FDKeychain

      JSONModel: https://cocoapods.org/pods/JSONModel

      FLAnimatedImage: https://cocoapods.org/pods/FLAnimatedImage

      Ssziparchive: https://cocoapods.org/pods/SSZipArchive
      The MIT License

      SlatherOrg/slather: Copyright (c) 2014 Mark Larsen All rights reserved

      FDKeychain: Copyright (c) 2016 Reid Main All rights reserved

      JSONModel: Copyright (c) 2012-2016 Marin Todorov and JSONModel contributors All rights reserved

      FLAnimatedImage: Copyright (c) 2014-2016 Flipboard All rights reserved

      ssziparchive: Copyright (c) 2013-2021, ZipArchive, https://github.com/ZipArchive All rights reserved

      Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

      The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

      THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
      OpenSSL Combined LicenseOpenSSL - in C: http://www.openssl.orgLICENSE ISSUES

      The OpenSSL toolkit stays under a dual license, i.e. both the conditions of the OpenSSL License and the original SSLeay license apply to the toolkit. See below for the actual license texts. Actually both licenses are BSD-style Open Source licenses. In case of any license issues related to OpenSSL please contact openssl-core@openssl.org.

      OpenSSL License —————

      Copyright (c) 1998-2008 The OpenSSL Project. All rights reserved.

      Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

      1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
      2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
      3. All advertising materials mentioning features or use of this software must display the following acknowledgment: “This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
      4. The names “OpenSSL Toolkit” and “OpenSSL Project” must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact openssl-core@openssl.org.
      5. Products derived from this software may not be called “OpenSSL” nor may “OpenSSL” appear in their names without prior written permission of the OpenSSL Project.
      6. Redistributions of any form whatsoever must retain the following acknowledgment:

      “This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/)"

      THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT “AS IS” AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

      This product includes cryptographic software written by Eric Young (eay@cryptsoft.com). This product includes software written by Tim Hudson (tjh@cryptsoft.com).

      Original SSLeay License

      Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) All rights reserved.

      This package is an SSL implementation written by Eric Young (eay@cryptsoft.com).
      The implementation was written so as to conform with Netscapes SSL.

      This library is free for commercial and non-commercial use as long as the following conditions are aheared to. The following conditions apply to all code found in this distribution, be it the RC4, RSA, lhash, DES, etc., code; not just the SSL code. The SSL documentation included with this distribution is covered by the same copyright terms except that the holder is Tim Hudson (tjh@cryptsoft.com). Copyright remains Eric Young’s, and as such any Copyright notices in the code are not to be removed. If this package is used in a product, Eric Young should be given attribution as the author of the parts of the library used. This can be in the form of a textual message at program startup or in documentation (online or textual) provided with the package.

      Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

      1. Redistributions of source code must retain the copyright notice, this list of conditions and the following disclaimer.
      2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
      3. All advertising materials mentioning features or use of this software must display the following acknowledgement:

      “This product includes cryptographic software written by Eric Young (eay@cryptsoft.com)” The word ‘cryptographic’ can be left out if the rouines from the library being used are not cryptographic related :-).
      4. If you include any Windows specific code (or a derivative thereof) from the apps directory (application code) you must include an acknowledgement: “This product includes software written by Tim Hudson (tjh@cryptsoft.com)”

      THIS SOFTWARE IS PROVIDED BY ERIC YOUNG “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

      The licence and distribution terms for any publically available version or derivative of this code cannot be changed. i.e. this code cannot simply be copied and put under another distribution licence [including the GNU Public Licence.]
      zlib LicenseBase64: https://cocoapods.org/pods/Base64nl

      minizip: http://tracker.debian.org/pkg/minizip
      The zlib/libpng License

      Copyright (c)

      This software is provided ‘as-is’, without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.

      Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:

      1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
      2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
      3. This notice may not be removed or altered from any source distribution.
      SingleID_MobileApp_Client-APK

      SingleID_MobileApp_Flutter-UMA

      The following sets forth attribution notices for third party software that may be contained in portions of this product. If you have any questions, please contact global.cs@samsung.com

      LicenseOpen Source ComponentLicense Text
      Apache License 2.0Android Support Library media compat, Converter: Gson, Adapter: RxJava 2, Android Support Library core utils, Android Arch-Runtime, Guava (Google Common Libraries), Android Support AnimatedVectorDrawable, Android Support Library core UI, Android Support Library Custom View - androidx.customview:customview, Android Lifecycle LiveData, OkHttp, Gson, android.support.annotation, Android Support Library Custom View - androidx.swiperefreshlayout:swiperefreshlayout, Android Support Library v4, OkHttp, Android Lifecycle ViewModel, Commons Lang, rxjava, Android Support Library compat, Roboto Fonts, Apache Commons Collections, Android Support Library v4, Android Lifecycle LiveData Core, RxAndroid, joda-time, okio, Apache Commons IO, JetBrains/java-annotations, Android AppCompat Library v7, Android Support Library Collections, Android Support VectorDrawable, Kotlin Stdlib, Android Lifecycle-Common, Android Support Library loader, RetrofitApache License Version 2.0, January 2004

      http://www.apache.org/licenses/

      TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

      1. Definitions.

      “License” shall me an the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.

      “Licensor” shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.

      “Legal Entity” shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, “control” means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.

      “You” (or “Your”) shall mean an individual or Legal Entity exercising permissions granted by this License.

      “Source” form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.

      “Object” form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.

      “Work” shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).

      “Derivative Works” shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.

      “Contribution” shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, “submitted” means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as “Not a Contribution.”

      “Contributor” shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.

      2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.

      3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.

      4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:

      a. You must give any other recipients of the Work or Derivative Works a copy of this License; and
      b. You must cause any modified files to carry prominent notices stating that You changed the files; and
      c. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
      d. If the Work includes a “NOTICE” text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.

      You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.

      5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.

      6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.

      7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.

      8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.

      9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.

      END OF TERMS AND CONDITIONS

      APPENDIX: How to apply the Apache License to your work

      To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets “[]” replaced with your own identifying information. (Don’t include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same “printed page” as the copyright notice for easier identification within third-party archives.

      Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
      Creative Commons Zero v1.0 Universalreactive-streams: http://www.reactive-streams.org/Creative Commons CC0 1.0 Universal

      Creative Commons Legal Code CC0 1.0 Universal

      CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN “AS-IS” BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER.

      Statement of Purpose

      The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an “owner”) of an original work of authorship and/or a database (each, a “Work”).

      Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works (“Commons”) that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others.

      For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the “Affirmer”), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights.

      1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights (“Copyright and Related Rights”). Copyright and Related Rights include, but are not limited to, the following:

      i. the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work;

      ii. moral rights retained by the original author(s) and/or performer(s);

      iii. publicity and privacy rights pertaining to a person’s image or likeness depicted in a Work;

      iv. rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below;

      v. rights protecting the extraction, dissemination, use and reuse of data in a Work;

      vi. database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and

      vii. other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof.

      2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer’s Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work

      i. in all territories worldwide,

      ii. for the maximum duration provided by applicable law or treaty (including future time extensions),

      iii. in any current or future medium and for any number of copies, and

      iv. for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the “Waiver”).

      Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer’s heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer’s express Statement of Purpose.

      3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer’s express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer’s Copyright and Related Rights in the Work

      i. in all territories worldwide,

      ii. for the maximum duration provided by applicable law or treaty (including future time extensions),

      iii. in any current or future medium and for any number of copies, and

      iv. for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the “License”).

      The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not i. exercise any of his or her remaining Copyright and Related Rights in the Work or ii. assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer’s express Statement of Purpose.

      4. Limitations and Disclaimers.

      a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document.

      b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law.

      c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person’s Copyright and Related Rights in the Work. Further,

      Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work.
      ISC Licensegotham-fonts: https://www.npmjs.org/package/gotham-fontsISC License (ISCL)

      gotham-fonts : Copyright @ Bogdan Pop

      Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.

      THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
      MIT LicenseXamarin.Android.Support.VersionedParcelable: http://www.nuget.org/packages/Xamarin.Android.Support.VersionedParcelable

      Xamarin.Android.Support.CoordinaterLayout: http://www.nuget.org/packages/Xamarin.Android.Support.CoordinaterLayout

      The Legion of the Bouncy Castle: http://www.bouncycastle.org/index.html

      Xamarin.Android.Support.SlidingPaneLayout: http://www.nuget.org/packages/Xamarin.Android.Support.SlidingPaneLayout

      XamarinLibrary.Xamarin.Android.Support.Multidex: https://www.nuget.org/packages/XamarinLibrary.Xamarin.Android.Support.Multidex

      Xamarin.Android.Support.Interpolator: http://www.nuget.org/packages/Xamarin.Android.Support.Interpolator

      Xamarin.Android.Support.LocalBroadcastManager: http://www.nuget.org/packages/Xamarin.Android.Support.LocalBroadcastManager

      Xamarin.Android.Support.DrawerLayout: http://www.nuget.org/packages/Xamarin.Android.Support.DrawerLayout

      @fontsource/Montserrat: https://www.npmjs.org/package/@fontsource/montserrat

      Xamarin.Android.Support.DocumentFile: http://www.nuget.org/packages/Xamarin.Android.Support.DocumentFile

      Xamarin.Android.Support.Print: http://www.nuget.org/packages/Xamarin.Android.Support.Print

      Xamarin.Android.Support.AsyncLayoutInflater: http://www.nuget.org/packages/Xamarin.Android.Support.AsyncLayoutInflater

      SLF4J API Module: http://www.slf4j.org

      Xamarin.Android.Support.ViewPager: http://www.nuget.org/packages/Xamarin.Android.Support.ViewPager

      secure-random: http://github.com/avodonosov/secure-random/

      Xamarin.Android.Support.CursorAdapter: http://www.nuget.org/packages/Xamarin.Android.Support.CursorAdapter
      The MIT License

      Xamarin.Android.Support.VersionedParcelable: Copyright (c) .NET Foundation Contributors All rights reserved.

      Xamarin.Android.Support.CoordinaterLayout: Copyright (c) .NET Foundation Contributors All rights reserved.

      The Legion of the Bouncy Castle: Copyright (c) 2000-2023 The Legion of the Bouncy Castle Inc. (https://www.bouncycastle.org)

      All rights reserved.

      Xamarin.Android.Support.SlidingPaneLayout: Copyright (c) .NET Foundation Contributors All rights reserved.

      XamarinLibrary.Xamarin.Android.Support.Multidex: Copyright (c) .NET Foundation Contributors All rights reserved.

      Xamarin.Android.Support.Interpolator: Copyright (c) .NET Foundation Contributors All rights reserved.

      Xamarin.Android.Support.LocalBroadcastManager: Copyright (c) .NET Foundation Contributors All rights reserved.

      Xamarin.Android.Support.DrawerLayout: Copyright (c) .NET Foundation Contributors All rights reserved.

      @fontsource/Montserrat: Copyright (c) 2023 fontsource All rights reserved.

      Xamarin.Android.Support.DocumentFile: Copyright (c) .NET Foundation Contributors All rights reserved.

      Xamarin.Android.Support.Print: Copyright (c) .NET Foundation Contributors All rights reserved.

      Xamarin.Android.Support.AsyncLayoutInflater: Copyright (c) .NET Foundation Contributors All rights reserved.

      SLF4J API Module: Copyright © 2004-2023 QOS.ch All rights reserved.

      Xamarin.Android.Support.ViewPager: Copyright (c) .NET Foundation Contributors All rights reserved.

      secure-random: Copyright (C) 2011 by Anton Vodonosov (avodonosov@yandex.ru). All rights reserved.

      Xamarin.Android.Support.CursorAdapter: Copyright (c) .NET Foundation Contributors All rights reserved.

      Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

      THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
      SIL Open Font License 1.1@fontsource/rubik, https://www.npmjs.org/package/@fontsource/rubik

      @fontsource/montserrat https://www.npmjs.org/package/@fontsource/montserrat
      SIL OPEN FONT LICENSE

      Version 1.1 - 26 February 2007

      PREAMBLE

      The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.

      The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.

      DEFINITIONS

      “Font Software” refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.

      “Reserved Font Name” refers to any names specified as such after the copyright statement(s).

      “Original Version” refers to the collection of Font Software components as distributed by the Copyright Holder(s).

      “Modified Version” refers to any derivative made by adding to, deleting, or substituting — in part or in whole — any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.

      “Author” refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.

      PERMISSION & CONDITIONS

      Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:

      1. Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.

      2. Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.

      3. No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.

      4. The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.

      5. The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.

      TERMINATION

      This license becomes null and void if any of the above conditions are not met.

      DISCLAIMER

      THE FONT SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
      SingleID_MobileApp_Flutter-UMA

      5.2.1.6 - Open API Guides

      SingleID Open API Guides

      To use the SCP SingleID Open API, the system must be registered as an Application first. The registered system information is used to issue a JWT Token, which must be included in the HTTP header when calling the SCP SingleID Open API.

      API Calling Method

      1. Call with the token (JWT Token) value included in the HTTP header
      2. Set the access token header name to Authorization and the access token type value to Bearer - set the JWT Token value after the Bearer string.
      3. Environment information for testing
        • domain :
          • Internal: stg-scloud.iam.samsung.net
          • External: stg2-cloud.singleid.samsung.net
        • tenant-name : test-tenant
      4. Test Swagger UI URL

      API List

      ModuleAPIURIMethodDescription
      Portal CommonGet MFA Tokenhttps://{domain}/{tenant-name}/common-api/open/v1.1/asis/{tenant-name}/user/mfa/token/authenticationGETIssue MFA Token
      Portal CommonOTP Sendhttps://{domain}/{tenant-name}/common-api/open/v1.1/asis/otp/sendPOSTCreate OTP based on authentication type (email, SMS, message)
      Portal CommonOTP Validationhttps://{domain}/{tenant-name}/common-api/open/v1.1/asis/otp/validatePOSTValidate OTP
      Portal CommonMFA Consumer Requesthttps://{domain}/{tenant-name}/common-api/open/v1.1/mfa/requestGETRequest MFA
      Portal CommonMFA Consumer Requesthttps://{domain}/{tenant-name}/common-api/open/v1.1/mfa/requestPOSTRequest MFA
      Tenant Admin PortalSend Email about Anomaly Detectionhttps://{domain}/{tenant-name}/admin-api/open/v1.1/emails/anomalyDetectionPOSTSend email to user when anomaly detection occurs
      Tenant Admin PortalSend Email about New Sign-in Environmenthttps://{domain}/{tenant-name}/admin-api/open/v1.1/emails/newSignInEnvironmentPOSTSend confirmation email to user when signing in to a new environment
      User PortalGet Userhttps://{domain}/{tenant-name}/user-api/open/v1.1/users/{username}GETRetrieve user’s username, email, preferred language, and timezone
      User PortalGet User Profile Imagehttps://{domain}/{tenant-name}/user-api/open/v1.1/users/image/{username}GETRetrieve user’s profile image
      User PortalCreate account assignment listhttps://{domain}/{tenant-name}/user-api/1.0/scp-auth/createPOSTCreate user’s SCP permission
      User PortalDelete account assignment listhttps://{domain}/{tenant-name}/user-api/1.0/scp-auth/deletePOSTDelete user’s SCP permission
      User PortalGet account assignment listhttps://{domain}/{tenant-name}/user-api/1.0/scp-auth/listGETRetrieve user’s SCP permission
      User PortalSearch Userhttps://{domain}/{tenant-name}/user-api/1.0/scp-user/listGETSearch for SCP target users
      Portal CommonMFA Consumer Requesthttps://{domain}/{tenant-name}/common-api/open/v1.1/mfa/request/mfaPOSTRequest MFA (including device)
      Portal CommonMFA Consumer Verificationhttps://{domain}/{tenant-name}/common-api/open/v1.1/mfa/verification/mfaPOSTVerify MFA (including device)
      Table. API list

      API Specification - Get MFA Token (Portal Common)

      ModuleAPIURIMethodDescription
      Portal CommonGet MFA Tokenhttps://{domain}/{tenant-name}/common-api/open/v1.1/asis/{tenant-name}/user/mfa/token/authenticationGETIssue MFA Token
      Table. Get MFA Token (Portal Common)

      Request Parameters

      PropertiesAttributeMandatoryParameter TypeData TypeSample DataNote
      Tenant Nametenant-nameYPathStringtest-tenant
      User NameuserNameYqueryStringmkdir.kim
      ProtocolprotocolYqueryStringuma-uaf
      sessionDataKeysessionDataKeyNqueryStringsessionDataKey1
      redirectUrlredirectUrlNqueryStringredirectUrl1
      errorRedirectUrlerrorRedirectUrlNqueryStringerrorRedirectUrl1
      paramsparamsNqueryStringparams1
      languagelanguageNqueryStringko
      Table. Request Parameters

      Response Parameters

      Properties (Result)AttributeData TypeSample DataNote
      ResultresultStringSUCCESS
      Result ValuevalueObject{
      "token": "eyJpc3MiOiJodHRwczov...",
      "serviceUri": "/ua/MPHTOCHW5I/de6f67d0-8bec-46ac-bf53-16ef00eb2066/dgauth/mfa"
      }
      Table. Response Parameters

      Sample

      RequestResponse
      curl -X POST "https://stg-scloud.singleid.samsung.net:443/stg4/user-api/1.0/scp-auth/delete" -H "accept: application/json"-H "apiKey: {apiKey}" INPUT JSON{     "instanceId": "instnace-01",     "permissionSetId":   "PERMISSION-SET-Ablxc5__qEaIYmWGyMeqlf",     "principalId": "singleid.test001",     "principalType": "USER",     "targetId": "PROJECT-ka2tfhLHsweVwm4BrR1rae",     "targetType": "PROJECT"   }{   "instanceId": "instnace-01",   "permissionSetId": "PERMISSION-SET-Ablxc5__qEaIYmWGyMeqlf",   "principalId": "singleid.test001",   "principalType": "USER",   "targetId": "PROJECT-ka2tfhLHsweVwm4BrR1rae",   "targetType": "PROJECT"   "status": "SUCCESS",   "createdDate": "2024-04-03T01:58:46.538Z",   "failureReason": "" }
      Table. Sample

      Error Code

      HTTP Response CodeError CodeError MessageAction Required
      400N/AN/AUser name verification required
      Table. Error Code

      API Specification - OTP Send(Portal Common)

      ModuleAPIURIMethodDescription
      Portal CommonOTP Sendhttps://{domain}/{tenant-name}/common-api/open/v1.1/asis/otp/sendPOSTCreate OTP based on authentication type (email, sms, msg)
      Table. OTP Send(Portal Common)

      Request Parameters

      PropertiesAttributeMandatoryParameter TypeData TypeSample DataNote
      localelocaleYbodyStringen
      authentication typetypeYbodyStringemail, sms, msg
      userNameuserNameYbodyStringgildong.hong
      Table. Request Parameters

      Response Parameters

      PropertiesAttributeData TypeSample DataNote
      otpStringotpStringString0000000c5bb286c166530ac928d0bdf1f0894ed3a6d891eb3ab7ec89fc9faef7817b9f2f02f8c89ae91558cdc9afec94d6bede93a91d9825f4fe14dc2a282f6456d09f823d194570bc91b353830826e69d5f818172c12dbdb7b524
      Table. Response Parameters

      Sample

      RequestResponse
      ccurl -X POST "https://localhost:7443/open/v1.1/asis/otp/send" -H "accept: */*" -H "Content-Type: application/json" -d "{\"locale\":\"ko\",\"type\":\"email\",\"userName\":\"gildong.hong\"}"{ "otpString": 0000000c5bb286c166530ac928d0bdf1f0894ed3a6d891eb3ab7ec89fc9faef7817b9f2f02f8c89ae91558cdc9afec94d6bede93a91d9825f4fe14dc2a282f6456d09f823d194570bc91b353830826e69d5f818172c12dbdb7b524}
      Table. Sample

      Error Code

      Http Response CodeError CodeError MessageMeasures
      404N/AN/AWhen the user does not exist
      429N/AN/ADuplicate calls within 60 seconds
      500N/AN/AServer error, check error message and contact administrator
      Table. Error Code

      API Specification - OTP Validation(Portal Common)

      ModuleAPIURIMethodDescription
      Portal CommonOTP Validationhttps://{domain}/{tenant-name}/common-api/open/v1.1/asis/otp/validatePOSTValidates the OTP.
      Table. OTP Validation(Portal Common)

      Request Parameter

      PropertiesAttributeMandatoryParameter TypeData TypeSample DataNote
      userNameuserNameYBodyStringgildong.hong
      otp(6 digits)otpYBodyString121215
      checkValuecheckValueYBodyString0000000c5bb286c166530ac928d0bdf1f0894ed3a6d891eb3ab7ec89fc9faef7817b9f2f02f8c89ae91558cdc9afec94d6bede93a91d9825f4fe14dc2a282f6456d09f823d194570bc91b353830826e69d5f818172c12dbdb7b524sendOtp response otpString value
      Authentication TypetypeYBodyStringemailemail, sms, msg
      Table. Request Parameters

      Response Parameter

      PropertiesAttributeData TypeSample DataNote
      ResultresultStringSUCCESS
      Table. Response Parameters

      Sample

      RequestResponse
      curl -X POST "https://localhost:7443/open/v1.1/asis/otp/validate" -H "accept: */*" -H "Content-Type: application/json" -d "{\"checkValue\":\"0000000c5bb286c166530ac928d0bdf1f0894ed3a6d891eb3ab7ec89fc9faef7817b9f2f02f8c89ae91558cdc9afec94d6bede93a91d9825f4fe14dc2a282f6456d09f823d194570bc91b353830826e69d5f818172c12dbdb7b524\",\"otp\":\"791462\",\"type\":\"email\",\"userName\":\"gildong.hong\"}"{ "result": "success" }
      Table. Sample

      Error Code

      Http Response CodeError CodeError MessageCountermeasure
      400N/AN/AWhen OTP is entered incorrectly
      404N/AN/AWhen the user does not exist
      410N/AN/AWhen OTP has expired
      429N/AN/AWhen API call fails more than 10 times
      500N/AN/AServer error, check error message and contact administrator
      Table. Error Code

      API Specification - MFA Consumer Request(Portal Common)

      ModuleAPIURIMethodDescription
      Portal CommonMFA Consumer Requesthttps://{domain}/{tenant-name}/common-api/open/v1.1/mfa/requestGETRequests MFA.
      Table. MFA Consumer Request(Portal Common)

      Request Parameter

      PropertiesAttributeMandatoryParameter TypeData TypeSample DataNote
      JWT TokenjwtTokenRequestYqueryStringeyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1aWQiOiJqaW5vbmUua2ltIiwiZGlzcGxheVVpZCI6Imppbm9uZS5raW1Ac2Ftc3VuZy5jb20iLCJlbWFpbCI6ImxUL3p4WngxNk81REo2SU91Z2VnRW9wVGk2eDh5bkxXY3NHLzRaWFE2TVlDSzNQV05oTS9hQUFnQmpkSEJMN1hkcFA2Y25jNCIsIm1vYmlsZSI6InlkVU54ZVl6YkNOY0xEYnFqN01rL2ZCdFcvaHZoRE1Bbm9lNzhRVTRvQTAzZUlwN2NsOVFpSGFoIiwicnRuIjoiaHR0cHM6Ly9zdGcxLWNsb3VkLnNpbmdsZWlkLnNhbXN1bmcubmV0L21vY2svcW1zL21mYS1jb25zdW1lci9yZXN1bHQiLCJyZXEiOiI3NjFlZmQ1Mi05N2QwLTQ1MWYtOWNmOS1jZjg2NzQwZTdjYTMiLCJzeXMiOiI4MDE0ODYyMS04MjZmLTQ5YmUtOGM5ZS0zMTE1ZTUzMDFlMWIiLCJuYmYiOjE3MTIwMjkxNDIsImV4cCI6MTcxNDYyMTE0MiwiaWF0IjoxNzEyMDI5MTQyfQ.-FWTK4IJsu8AonfJTTq7_OA1qAh-9FU89iC1JZcRg_cOriginal token sample data
      { "sys":"test-system", "req":"761efd52-97d0-451f-9cf9-cf86740e7ca3", "uid":"gildong.hong", "rtn":"https://test.com/mfa/response","email":"gildong.hong@samsung.com","mobile":"+82-1012345678", "nbf": 1698232068, "exp": 1698239268, "iat": 1698232068, "displayUid": "gildong.hong@samsung.com" }
      Table. Request Parameters

      Response

      MFA authentication page is redirected. By default, the response token is delivered in the post method, but if you want to deliver it in the get method (query), add the following parameters to the request token:

      • returnMethod: get

      Sample

      RequestResponse
      curl -X GET "https://stg2-cloud.singleid.samsung.net/test-tenant/common-api/open/v1.1/mfa/request?jwtTokenRequest=eyJhbGciOiJIUzI1NiJ9.eyJzeXMiOiJ0ZXN0LXN5c3RlbSIsInJlcSI6Ijc2MWVmZDUyLTk3ZDAtNDUxZi05Y2Y5LWNmODY3NDBlN2NhMyIsInVpZCI6Imppbm9uZS5raW0iLCJydG4iOiJodHRwczovL3Rlc3QuY29tL21mYS9yZXNwb25zZSIsIm5iZiI6MTY5ODIzMjA2OCwiZXhwIjoxNjk4MjM5MjY4LCJpYXQiOjE2OTgyMzIwNjh9.cDgKMHIINaHhBiyAd_OIlVvQwmUs0QaXH_RfJ8B_KdY"Page moved
      Table. Sample

      Error Code

      Http Response CodeError CodeError MessageMeasures
      400N/AN/ACheck the token data.
      Table. Error Code

      API Specification - MFA Consumer Request(Portal Common)

      ModuleAPIURIMethodDescription
      Portal CommonMFA Consumer Requesthttps://{domain}/{tenant-name}/common-api/open/v1.1/mfa/requestPOSTRequests MFA.
      Table. MFA Consumer Request(Portal Common)

      Request Parameter

      PropertiesAttributeMandatoryParameter TypeData TypeSample DataNote
      JWT TokenjwtTokenRequestYqueryStringeyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1aWQiOiJqaW5vbmUua2ltIiwiZGlzcGxheVVpZCI6Imppbm9uZS5raW1Ac2Ftc3VuZy5jb20iLCJlbWFpbCI6ImxUL3p4WngxNk81REo2SU91Z2VnRW9wVGk2eDh5bkxXY3NHLzRaWFE2TVlDSzNQV05oTS9hQUFnQmpkSEJMN1hkcFA2Y25jNCIsIm1vYmlsZSI6InlkVU54ZVl6YkNOY0xEYnFqN01rL2ZCdFcvaHZoRE1Bbm9lNzhRVTRvQTAzZUlwN2NsOVFpSGFoIiwicnRuIjoiaHR0cHM6Ly9zdGcxLWNsb3VkLnNpbmdsZWlkLnNhbXN1bmcubmV0L21vY2svcW1zL21mYS1jb25zdW1lci9yZXN1bHQiLCJyZXEiOiI3NjFlZmQ1Mi05N2QwLTQ1MWYtOWNmOS1jZjg2NzQwZTdjYTMiLCJzeXMiOiI4MDE0ODYyMS04MjZmLTQ5YmUtOGM5ZS0zMTE1ZTUzMDFlMWIiLCJuYmYiOjE3MTIwMjkxNDIsImV4cCI6MTcxNDYyMTE0MiwiaWF0IjoxNzEyMDI5MTQyfQ.-FWTK4IJsu8AonfJTTq7_OA1qAh-9FU89iC1JZcRg_cToken original data sample
      { "sys":"test-system", "req":"761efd52-97d0-451f-9cf9-cf86740e7ca3", "uid":"gildong.hong", "rtn":"https://test.com/mfa/response","email":"gildong.hong@samsung.com","mobile":"+82-1012345678", "nbf": 1698232068, "exp": 1698239268, "iat": 1698232068, "displayUid": "gildong.hong@samsung.com" }
      MFA Consumer Home RedirectregisterFlagYqueryBooleantrueDetermines whether to move to MFA Consumer Home. If true, it moves to MFA Consumer Home.
      Table. Request Parameters

      Response

      • registerFlag = true: Redirects to MFA Consumer Home.
      • registerFlag = false: Redirects to MFA authentication page.

      Sample

      RequestResponse
      curl -X POST "https://stg2-cloud.singleid.samsung.net/test-tenant/common-api/open/v1.1/mfa/request?jwtTokenRequest=eyJhbGciOiJIUzI1NiJ9.eyJzeXMiOiJ0ZXN0LXN5c3RlbSIsInJlcSI6Ijc2MWVmZDUyLTk3ZDAtNDUxZi05Y2Y5LWNmODY3NDBlN2NhMyIsInVpZCI6Imppbm9uZS5raW0iLCJydG4iOiJodHRwczovL3Rlc3QuY29tL21mYS9yZXNwb25zZSIsIm5iZiI6MTY5ODIzMjA2OCwiZXhwIjoxNjk4MjM5MjY4LCJpYXQiOjE2OTgyMzIwNjh9.cDgKMHIINaHhBiyAd_OIlVvQwmUs0QaXH_RfJ8B_KdY&registerFlag=true"Page move
      Table. Sample

      Error Code

      Http Response CodeError CodeError MessageAction Plan
      400N/AN/ACheck token data.
      Table. Error Code

      API Specification - Send Email about Anomaly Detection(Tenant Admin Portal)

      ModuleAPIURIMethodDescription
      Tenant Admin PortalSend Email about Anomaly Detectionhttps://{domain}/{tenant-name}/admin-api/open/v1.1/emails/anomalyDetectionPOSTSends an email when a user is detected for abnormal authentication behavior.
      Table. Send Email about Anomaly Detection(Tenant Admin Portal)

      Request Parameter

      PropertiesAttributeMandatoryParameter TypeData TypeSample DataNote
      User IPaccessIPYBodyString10.0.0.0
      Detection TimedetectionTimeYBodyString2023-09-10 23:01:01
      EmailemailYBodyStringgildong.hong@samsung.com
      User EnvironmentenvironmentYBodyStringPC / Window / Chrome
      LanguagelanguageYBodyStringko
      Network EnvironmentlocationYBodyStringInternal
      Detection Rule NumberruleYBodyStringP001
      User AccountusernameYBodyStringgildong.hong
      Authentication GUIDenvGuidYBodyStringd8b09752-405a-4d52-8605-bff9aa3f4741
      Table. Request Parameters

      Response Parameter

      PropertiesData TypeSample DataNote
      결과booleantrueEmail sent successfully when true / failed when false
      Table. Response Parameters

      Sample

      RequestResponse
      curl -X POST "https://stg1-cloud.singleid.samsung.net:443/test-tenant/admin-api/open/v1.1/emails/anomalyDetection" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"accessIP\":\"10.0.0.0\",\"detectionTime\":\"2023-09-10 23:01:01\",\"email\":\"gildong.hong@samsung.com\",\"environment\":\"PC / Window / Chrome\",\"language\":\"ko\",\"location\":\"Internal\",\"rule\":\"P001\",\"username\":\"gildong.hong\",\"envGuid\":\"d8b09752-405a-4d52-8605-bff9aa3f4741\"}"true
      Table. Sample

      Error code

      Http Response CodeError CodeError MessageMeasures
      400N/AN/ABad Request
      403N/AN/AForbidden
      500N/AN/AInternal Server Error
      Table. Error Code

      API Specification - Send Email about New Sign-in Environment(Tenant Admin Portal)

      ModuleAPIURIMethodDescription
      Tenant Admin PortalSend Email about New Sign-in Environmenthttps://{domain}/{tenant-name}/admin-api/open/v1.1/emails/newSignInEnvironmentPOSTSends a notification email to the user when they sign in from a new environment and checks if the environment is registered.
      Table. Send Email about New Sign-in Environment (Tenant Admin Portal)

      Request Parameter

      PropertiesAttributeMandatoryParameter TypeData TypeSample DataNote
      User IPaccessIPYBodyString10.0.0.0
      Registration TimedetectionTimeYBodyString2023-09-10 23:01:01
      EmailemailYBodyStringgildong.hong@samsung.com
      User EnvironmentenvironmentYBodyStringPC / Window / Chrome
      LanguagelanguageYBodyStringko
      Network Environment (Internal/External)locationYBodyStringInternal
      Detection Rule NumberruleYBodyStringP001
      User AccountusernameYBodyStringgildong.hong
      Authentication Unique ValueenvGuidYBodyStringd8b09752-405a-4d52-8605-bff9aa3f4741
      Table. Request Parameters

      Response Parameter

      PropertiesData TypeSample DataNote
      Resultbooleantruetrue if the email is sent successfully, false otherwise
      Table. Response Parameters

      Sample

      RequestResponse
      curl -X POST "https://stg1-cloud.singleid.samsung.net:443/test-tenant/admin-api/open/v1.1/emails/anomalyDetection" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"accessIP\":\"10.0.0.0\",\"detectionTime\":\"2023-09-10 23:01:01\",\"email\":\"gildong.hong@samsung.com\",\"environment\":\"PC / Window / Chrome\",\"language\":\"ko\",\"location\":\"Internal\",\"rule\":\"P001\",\"username\":\"gildong.hong\",\"envGuid\":\"d8b09752-405a-4d52-8605-bff9aa3f4741\"}"true
      Table. Sample

      Error Code

      Http Response CodeError CodeError MessageMeasures
      400N/AN/ABad Request
      403N/AN/AForbidden
      500N/AN/AInternal Server Error
      Table. Error Code

      API Specification - Get User(User Portal)

      ModuleAPIURIMethodDescription
      User PortalGet Userhttps://{domain}/{tenant-name}/user-api/open/v1.1/users/{username}GETRetrieves the user’s name, email, preferred language, and timezone data.
      Table. Get User(User Portal)

      Request Parameter

      PropertiesAttributeMandatoryParameter TypeData TypeSample DataNote
      User IDusernameYPathStringgildong.hong
      Table. Request Parameters

      Response Parameter

      PropertiesAttributeData TypeSample DataNote
      User IDusernameStringgildong.hong
      EmailemailStringgildong.hong@stage.samsung.com
      Full NameformattedNameString김동호
      First NamegivenNameString동호
      Last NamefamilyNameString
      English Full NameenFormattedNameStringDongho Kim
      English First NameenGivenNameStringDongho
      English Last NameenFamilyNameStringKim
      Preferred LanguagepreferredLanguageStringko1) en : English 2) ko : Korean
      Time ZonetimeZoneStringAsia/Seoul
      Table. Response Parameters

      Sample

      RequestResponse
      curl -X GET "https://stg2-cloud.singleid.samsung.net/test-tenant/user-api/open/v1.1/users/gildong.hong" -H "accept: application/json" -H "Authorization: Bearer {JWT_TOKEN}"{ "username": "gildong.hong", "email": "gildong.hong@stage.samsung.com", "formattedName": "김동호", "givenName": "동호", "familyName": "김", "enFormattedName": "Dongho Kim", "enGivenName": "Dongho", "enFamilyName": "Kim", "preferredLanguage": "ko", "timeZone": "Asia/Seoul" }
      Table. Sample

      Error Code

      Http Response CodeError CodeError MessageCountermeasure
      401N/AN/AIt is necessary to check if the JWT Token is valid.
      Table. Error Code

      API Specification - Get User Profile Image(User Portal)

      ModuleAPIURIMethodDescription
      User PortalGet User Profile Imagehttps://{domain}/{tenant-name}/user-api/open/v1.1/users/image/{username}GETRetrieves the user’s profile image data.
      Table. Get User Profile Image(User Portal)

      Request Parameter

      PropertiesAttributeMandatoryParameter TypeData TypeSample DataNote
      User IDusernameYPathStringgildong.hong
      Table. Request Parameters

      Response Parameter

      PropertiesAttributeData TypeSample DataNote
      usernameusernameStringnull
      Table. Response Parameters

      Sample

      RequestResponse
      curl -X GET "https://stg2-cloud.singleid.samsung.net:443/test-tenant/user-api/open/v1.1/users/image/gildong.hong" -H "accept: application/json" -H "Authorization: Bearer {JWT_TOKEN}"File data { "username": null, "image": "![default-profile.png](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAAM1BMVEUyMjIxMTEyMjIrKysyMjIwMDANDQ1HcEAAAABJRU5ErkJggg==)" } File URL { "username": "gildong.hong", "image": "![image](https://stgbox.singleid.samsung.net/files/img/google.png)" }
      Table. Sample

      Error Code

      Http Response CodeError CodeError MessageMeasures
      401N/AN/ACheck if the JWT Token is valid.
      Table. Error Code

      API Specification - Create account assignment list(User Portal)

      ModuleAPIURIMethodDescription
      User PortalCreate account assignment listhttps://{domain}/{tenant-name}/user-api/1.0/scp-auth/createPOSTCreates SCP permissions for the user.
      Table. Create account assignment list (User Portal)

      Request Parameter

      PropertiesAttributeMandatoryParameter TypeData TypeSample DataNote
      instance idinstanceIdYJSONStringProvided by SCP
      permission set idpermissionSetIdYJSONString“PERMISSION-SET-Ablxc5__qEaIYmWGyMeqlf”Provided by SCP
      principal idprincipalIdYJSONString“gildong.hong”User’s username
      principal typeprincipalTypeYJSONString“USER”Currently only USER is available
      target idtargetIdYJSONString“PROJECT-ka2tfhLHsweVwm4BrR1rae”PROJECT ID, provided by SCP
      target typetargetTypeYJSONString“PROJECT”Currently only PROJECT is available
      Table. Request Parameters

      Response Parameter

      PropertiesAttributeData TypeSample DataNote
      instance idinstanceIdJSONReturned saved value
      permission set idpermissionSetIdJSON“PERMISSION-SET-Ablxc5__qEaIYmWGyMeqlf”Returned saved value
      principal idprincipalIdJSON“gildong.hong”Returned saved value
      principal typeprincipalTypeJSON“USER”Returned saved value
      target idtargetIdJSON“PROJECT-ka2tfhLHsweVwm4BrR1rae”Returned saved value
      target typetargetTypeJSON“PROJECT”Returned saved value
      statusstatusJSON“SUCCESS”Success or failure
      failure reasonfailureReasonJSONReason for failure
      created datecreatedDateJSONcreation time
      Table. Response Parameters

      Sample

      RequestResponse
      curl -X POST "https://stg-scloud.singleid.samsung.net:443/stg4/user-api/1.0/scp-auth/create" -H "accept: application/json"-H "apiKey: {apiKey}" INPUT JSON{ "instanceId": "instnace-01", "permissionSetId": "PERMISSION-SET-Ablxc5__qEaIYmWGyMeqlf", "principalId": "singleid.test001", "principalType": "USER", "targetId": "PROJECT-ka2tfhLHsweVwm4BrR1rae", "targetType": "PROJECT" }{ "instanceId": "instnace-01", "permissionSetId": "PERMISSION-SET-Ablxc5__qEaIYmWGyMeqlf", "principalId": "singleid.test001", "principalType": "USER", "targetId": "PROJECT-ka2tfhLHsweVwm4BrR1rae", "targetType": "PROJECT" "status": "SUCCESS", "createdDate": "2024-04-03T01:58:46.538Z", "failureReason": "" }
      Table. Sample

      API Specification - Delete account assignment list(User Portal)

      ModuleAPIURIMethodDescription
      User PortalDelete account assignment listhttps://{domain}/{tenant-name}/user-api/1.0/scp-auth/create](https://{domain}/{tenant-name}/user-api/1.0/scp-auth/deletePOSTDeletes the SCP authority for the user.
      Table. Delete account assignment list(User Portal)

      Request Parameter

      PropertiesAttributeMandatoryParameter TypeData TypeSample DataNote
      instance idinstanceIdYJSONStringProvided by SCP
      permission set idpermissionSetIdYJSONString“PERMISSION-SET-Ablxc5__qEaIYmWGyMeqlf”Provided by SCP
      principal idprincipalIdYJSONString“gildong.hong”User’s username
      principal typeprincipalTypeYJSONString“USER”Currently only USER is available
      target idtargetIdYJSONString“PROJECT-ka2tfhLHsweVwm4BrR1rae”Project ID, provided by SCP
      target typetargetTypeYJSONString“PROJECT”Currently only PROJECT is functional
      Table. Request Parameters

      Response Parameter

      PropertiesAttributeData TypeSample DataNote
      instance idinstanceIdJSONDeleted value returned
      permission set idpermissionSetIdJSON“PERMISSION-SET-Ablxc5__qEaIYmWGyMeqlf”Deleted value returned
      principal idprincipalIdJSON“gildong.hong”Deleted value returned
      principal typeprincipalTypeJSON“USER”Deleted value returned
      target idtargetIdJSON“PROJECT-ka2tfhLHsweVwm4BrR1rae”Deleted value returned
      target typetargetTypeJSON“PROJECT”Deleted value returned
      statusstatusJSON“SUCCESS”Success or failure
      failure reasonfailureReasonJSONFailure reason
      created datecreatedDateJSONDeletion date
      Table. Response Parameters

      Sample

      RequestResponse
      curl -X GET "https://stg1-cloud.singleid.samsung.net/test-tenant/common-api/open/v1.1/asis/test-tenant/user/mfa/token/authentication?userName=mkdir.kim&protocol=uma-uaf&sessionDataKey=sessionDataKey111&redirectUrl=redirectUrl1111&errorRedirectUrl=errorRedirectUrl1111&params=params111&language=en"{ "result": "SUCCESS", "value": { "token": "eyJpc3MiOiJodHRwczovL3N0ZzItY2xvdWQuaWFtLnNhbXN1bmcubmV0Iiwic3ViIjoibWtkaXIua2ltIiwiYXVkIjoiaHR0cHM6Ly9zdGcyLWNsb3VkLmlhbS5zYW1zdW5nLm5ldCIsImV4cCI6MTY5ODEyOTM2OSwiaWF0IjoxNjk4MTI5MTg5LCJqdGkiOiJkNWZmZGE5Ny1mMzZkLTRjZDktYWJmZi1mMzY4ZTkxYWVkNTUiLCJhbXIiOltdLCJ6b25laW5mbyI6IkFzaWEvU2VvdWwiLCJsb2NhbGUiOiJlbl9VUyIsInByb3RvY29sIjoidW1hLXVhZiIsInJlZGlyZWN0X3VybCI6InJlZGlyZWN0VXJsMSIsImVycm9yX3JlZGlyZWN0X3VybCI6ImVycm9yUmVkaXJlY3RVcmwxIiwicGFyYW1zIjoicGFyYW1zMSIsInVzZXJJZCI6Im1rZGlyLmtpbSJ9:MEUCIHqWV_UcgKHsMlDI7Ks31fw1QPpCYnKorMpnr2L653LwAiEAz30ShMmACEi6H-IuF1YMV2bKT1WIFmAdJ6OCsmEzscA", "serviceUri": "/ua/MPHTOCHW5I/de6f67d0-8bec-46ac-bf53-16ef00eb2066/dgauth/mfa", "appId": null }, "message": "succeeded to get nexsign token.", "statusCode": null, "statusCodeValue": "0", "data": null}
      Table. Sample

      Error Code

      Http Response CodeError CodeError MessageMeasures
      400N/AN/AYou must check the userName.
      Table. Error Code

      API Specification - Get account assignment list(User Portal)

      ModuleAPIURIMethodDescription
      User PortalGet account assignment listhttps://{domain}/{tenant-name}/user-api/1.0/scp-auth/listPOSTRetrieves the SCP authority for the user.
      Table. Get account assignment list(User Portal)

      Request Parameter

      No.PropertiesAttributeMandatoryParameter TypeData TypeSample DataNote
      1principal typeprincipalTypeYqueryString“USER”Currently only USER is available
      2principal idprincipalIdYqueryString“gildong.hong”The username of the user to be queried
      Table. Request Parameters

      Response Parameter

      PropertiesAttributeData TypeSample DataNote
      instance idinstanceIdJSON
      permission set idpermissionSetIdJSON“PERMISSION-SET-Ablxc5__qEaIYmWGyMeqlf”
      principal idprincipalIdJSON“gildong.hong”
      principal typeprincipalTypeJSON“USER”
      target idtargetIdJSON“PROJECT-ka2tfhLHsweVwm4BrR1rae”
      target typetargetTypeJSON“PROJECT”
      Table. Response Parameters

      Sample

      RequestResponse
      curl -X GET "https://stg-scloud.singleid.samsung.net:443/stg4/user-api/1.0/scp-auth/list?principalType=USER&principalId=singleid.test001" -H "accept: application/json" -H "apiKey: {apiKey}"[ { "instanceId": "instnace-01", "permissionSetId": "PERMISSION-SET-Ablxc5__qEaIYmWGyMeqlf", "principalId": "singleid.test001", "principalType": "USER", "targetId": "PROJECT-ka2tfhLHsweVwm4BrR1rae", "targetType": "PROJECT" }, { "instanceId": "instnace-01", "permissionSetId": "PERMISSION-SET-Ablxc5__qEaIYmWGyMe121", "principalId": "singleid.test001", "principalType": "USER", "targetId": "PROJECT-ka2tfhLHsweVwm4BrR1rae", "targetType": "PROJECT" } ]
      Table. Sample

      Error Code

      Http Response CodeError CodeError MessageMeasures
      401N/AN/AThe API key needs to be verified for validity.
      Table. Error Code

      API Specification - Search User(User Portal)

      ModuleAPIURIMethodDescription
      User PortalSearch Userhttps://{domain}/{tenant-name}/user-api/1.0/scp-user/listPOSTSearches for target users in SCP.
      Table. Search User(User Portal)

      Request Parameter

      PropertiesAttributeMandatoryParameter TypeData TypeSample DataNote
      pagepageNqueryInteger0Page to retrieve
      sizesizeNqueryInteger10Page size
      usernameusernameNqueryString“gildong.hong”User ID to search
      group namegroupNameNqueryString“ADGroup”Group to search
      create Date(from)creationDateGeNqueryDateTime“2024-04-03T07:49:23.845Z”
      create Date(to)creationDateLeNqueryDateTime“2024-04-03T07:49:23.845Z”
      last change date(from)lastChangeDateGeNqueryDateTime“2024-04-03T07:49:23.845Z”
      last change date(to)lastChangeDateLeNqueryDateTime“2024-04-03T07:49:23.845Z”
      Table. Request Parameters

      Response Parameter

      PropertiesAttributeData TypeSample DataNote
      keykeyString“01890501-74fa-7785-91e0-67bd71217a2e”
      usernameusernameString“gildong.hong”
      administratoradministratorBooleanfalse
      formatted nameformattedNameString“Gildong Hong”
      formatted Name(en)enFormattedNameString“gildong hong”
      emailemailStringgildong.hong@samsung.com
      mobilemobileString“+02-01011112222”
      preferred languagepreferredLanguageString“en”
      time zonetimeZoneString“Asia/Seoul”
      managed bymanagedByString“SINGLEID”
      creatorcreatorString“admin001”
      creation datecreationDateDateTime“2024-04-03T07:49:23.845Z”
      last modifierlastModifierString“admin001”
      last change datelastChangeDateDateTime“2024-04-03T07:49:23.845Z”
      Table. Response Parameters

      Sample

      RequestResponse
      curl -X POST "https://stg-scloud.singleid.samsung.net:443/stg4/user-api/1.0/scp-user/list" -H "accept: application/json" -H "apiKey: {apiKey}"[ { "key": "01890501-74fa-7785-91e0-67bd71217a2e", "administrator": false, "username": "gildong.hong", "enFormattedName": "gildong hong", "formattedName": "Gildong Hong", "email": "gildong.hong@samsung.com", "mobile": "+02-01011112222", "preferredLanguage": "en", "timeZone": "Asia/Seoul", "managedBy": "SINGLEID", "creator": "admin001", "creationDate": "2024-04-03T07:49:23.845Z", "lastModifier": "admin001", "lastChangeDate": "2024-04-03T07:49:23.845Z" }, { "key": "01890501-74fa-7785-91e0-67bd71217a2e", "administrator": false, "username": "gildong.hong", "enFormattedName": "gildong hong", "formattedName": "Gildong Hong", "email": "gildong.hong@samsung.com", "mobile": "+02-01011112222", "preferredLanguage": "en", "timeZone": "Asia/Seoul", "managedBy": "SINGLEID", "creator": "admin001", "creationDate": "2024-04-03T07:49:23.845Z", "lastModifier": "admin001", "lastChangeDate": "2024-04-03T07:49:23.845Z" } ]
      Table. Sample

      Error Code

      Http Response CodeError CodeError MessageMeasures
      401N/AN/ACheck if the API key is valid.
      Table. Error Code

      API Specification - MFA Consumer Request(Portal Common)

      ModuleAPIURIMethodDescription
      Portal CommonMFA Consumer Requesthttps://{domain}/{tenant-name}/common-api/open/v1.1/mfa/request/mfaPOSTRequests MFA.
      Table. MFA Consumer Request(Portal Common)

      Request Parameter

      No.PropertiesAttributeMandatoryParameter TypeData TypeSample DataNote
      1usernameusernameYBodyStringmkdir.kim
      2authentication typetypeNBodyStringemailemail, sms, msg, uaApp, uaMOTP, one of them. If not specified, it follows the default setting or user’s preferred method.
      3serviceProviderIdserviceProviderIdYBodyStringd8b09752-405a-4d52-8605-bff9aa3f4741UUID. Device ID assigned after registration in SingleID Admin Portal.
      Table. Request Parameters

      Response Parameter

      PropertiesAttributeData TypeSample DataNote
      requestIdrequestIdString01890501-74fa-7785-91e0-67bd71217a2eUUID. Used as a request parameter for MFA verification.
      authentication typetypeStringsmsemail, sms, msg, uaApp, uaMOTP, one of them. Verification logic may vary depending on the MFA type.
      otpotpString1234566-digit or 8-digit number. Issued only when the type is uaMOTP (6-digit) or uaApp (8-digit).
      Table. Response Parameters

      Sample

      RequestResponse
      curl -X POST "https://stg1-cloud.singleid.samsung.net:443/test/common-api/open/v1.1/mfa/request/mfa" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"username\":\"mkdir.kim\",\"type\":\"sms\",\"serviceProviderId\":\"dceef541-1f22-479d-96ac-c402ab0789e9\"}{ "otp": "123456", "requestId": "d8b09752-405a-4d52-8605-bff9aa3f4741", "serviceProviderId": "", "type": "sms", "username": "" }
      Table. Sample

      Error Codes and Responses

      Http Response CodeError CodeError MessageAction Plan
      400N/Acommon.error.requiredValueThe required value is missing. Please check.
      400N/Auser.error.notFoundThe user was not found. Please check the user ID
      400N/AserviceProvider.error.notFoundThe service provider was not found. Please contact the administrator
      400N/Aauthenticator.error.notFoundThe authentication method was not found. Please contact the administrator
      400N/Acommon.error.disallowedValueThe type is incorrect. Please contact the administrator
      400N/Auser.error.locked + remainThe account is locked. Please try again after {remain} minutes.
      400N/Aotp.error.tooManyAttemptsMove to the security warning screen (the account is locked due to multiple authentication failures)
      Table. Error Code

      API Specification - MFA Consumer Verification(Portal Common)

      ModuleAPIURIMethodDescription
      Portal CommonMFA Consumer Verificationhttps://{domain}/{tenant-name}/common-api/open/v1.1/mfa/verification/mfaPOSTVerifies the MFA.
      Table. MFA Consumer Verification(Portal Common)

      Request Parameter

      PropertiesAttributeMandatoryParameter TypeData TypeSample DataNote
      requestIdrequestIdYBodyStringd8b09752-405a-4d52-8605-bff9aa3f4741UUID
      otpotpNBodyString1234566-digit number/Not required for uaApp, uaMOTP
      Table. Request Parameters

      Response Parameter

      Http Status CodeStatus
      200Authentication completed
      202Authentication pending (only occurs when type is uaMOTP, uaApp. Periodic polling is required until the result is confirmed with a 200 status code)
      OthersError
      Table. Response Parameters

      Sample

      RequestResponse
      curl -X POST "https://stg1-cloud.singleid.samsung.net:443/test/common-api/open/v1.1/mfa/verification/mfa" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"otp\":\"000000\",\"requestId\":\"095db652-877f-42e5-b87f-e404fb07048b\"}"{ “statusCode”: “ACCEPTED”, }
      Table. Sample

      Error Codes

      Http Response CodeError CodeError MessageMeasures to Take
      400N/Acommon.error.requiredValueThe required value is missing. Please check.
      400N/Acommon.error.invalidRequestThe request is not found. Please contact the administrator.
      400N/Arequest.error.invalidStatusThe request status is incorrect. Please contact the administrator.
      400N/Aotp.error.notMatchThe OTP is incorrect. Please check the OTP.
      400N/Aotp.error.tooManyAttemptsMove to the security warning screen (the account is locked due to multiple authentication failures)
      Table. Error Code

      5.2.1.6.1 - ADFS Adapter Guide

      ADFS Adapter Guide

      Microsoft ADFS (Active Directory Federation Service) is a service that supports SAML/Oauth-based SSO (Single-Sign-On) for web services based on AD accounts.

      MS supports MFA (multi-factor authentication) using 3rd party solutions for SSO-linked web services. To do this, an ADFS Adapter must be developed and installed.

      There are two main ways to implement an ADFS Adapter:

      • Server-to-Server Call method
      • WebClient method

      Among them, the WebClient method has the advantage of minimizing firewall opening between MFA servers and AD (FS) and utilizing CX provided by MFA providers, making it possible to lightweight ADFS Adaptor.

      Note
      SingleID ADFS Adapter was developed using the WebClient method.
      Caution
      The diagram in this document assumes a setting that stores the nonce value in LDAP. The nonce value is used to verify the MFA result, and the setting can be changed to store it in the MFA server instead of LDAP. Please refer to the ADFS Adaptor settings manual for more detailed information.

      Server-to-Server Call Method

      Server-to-Server Call
      Figure. Server-to-Server Call Method

      WebClient Method

      WebClient
      Figure. WebClient Method

      Internal Operation

      Overall Flowchart of Adapter

      Overall Flowchart of Adapter
      Figure. Overall Flowchart of Adapter

      Flowchart at First Run of Adapter

      Flowchart at First Run of Adapter
      Figure. Flowchart at First Run of Adapter

      Flowchart after MFA (MFA PASS Case)

      Flowchart after MFA (MFA PASS Case)
      Figure. Flowchart after MFA (MFA PASS Case)

      Flowchart after MFA (MFA FAIL Case)

      Flowchart after MFA (MFA FAIL Case)
      Figure. Flowchart after MFA (MFA FAIL Case)

      Operation by Scenario

      Scenario-based actions
      Figure. Scenario-based actions

      Case #1

      • Passcode input screen has timed out due to exceeding the time limit.
      • When timed out, the “Resend Code” button is activated, and you can retry the Passcode by clicking this button.

      Case #2

      • Incorrect Passcode has been entered.
      • You can attempt to enter the Passcode up to 3 times.

      Case #3

      • Passcode input has failed 3 times.
      • You cannot enter the Passcode for 1 minute.

      Case #4

      • Normal MFA process.

      Case #5

      • On the MFA selection screen, the Passcode was not entered, and a new browser tab was added, proceeding to MFA selection.
      • After that, MFA is successful on the initial tab.
      • After that, the new tab times out.

      Case #6

      • On the MFA selection screen, the Passcode was not entered, and a new browser tab was added, proceeding to MFA selection.
      • After that, MFA is successful on the initial tab.
      • After that, an incorrect Passcode is entered on the new tab.

      Case #7

      • On the MFA selection screen, the Passcode was not entered, and a new browser tab was added, proceeding to MFA selection.
      • After that, MFA is successful on the initial tab.
      • After entering the normal Passcode:
      • 1st tab, 2nd tab are both in passcode input waiting state, after 1st authentication, 2nd authentication attempt results in no response from 2nd tab (page freeze)
      • 1st tab is in passcode input waiting state, 2nd tab is in MFA selection waiting state, after 1st authentication, selecting 2nd MFA type results in error, error message is displayed from AD before adapter operation

      Scenario-based actions

      Adapter installation

      Application method

      Pre-check

      Pre-check

      LocationCheck itemNote
      ADFS serverMFA server connection availability (group network, TCP 80/443)
      • Quality: ops-sopenapi.iam.samsung.net(42.15.248.26)
      • Operation: sopenapi.iam.samsung.net(42.15.248.28)
      If nonce is stored in LDAP, MFA server communication is not required
      .NET Framework 4.8 installation availability
      User PCMFA server connection availability (internet network, TCP 80/443)
      • Quality: ops-sopenapi.singleid.samsung.net
      • Operation: sopenapi.singleid.samsung.net
      If connection is not available, check the following three items
      ① Firewall check
      ② Proxy check
      ③ Website block check
      Table. Personal information input items

      Adapter deployment

      Caution
      If multiple ADFS servers are configured, steps 1-4 of the following 7 steps must be applied to all servers.
      1. Upload adapter-related files to the ADFS server
      Location: [drvie]:\ADFSadapter\
      
      ADFSadapter.dll: Adapter file
      ADFS Adapter Configuration File : configuration file
      replace_dll.ps1 : script file used to replace the installed Adapter with an improved version
      restart_adfs.ps1 : AD FS service restart script file
      Assembly_netstandard2.0 folder : pre-installation dll files for Adapter application
      
      1. Grant full permissions to the ADFS service account for the corresponding folder
      Right-click on the C:\ADFSadapter folder > Properties > Security > Add the ADFS service account and select all permissions
      ※ The ADFS service account can be checked by running services.msc > AD FS service execution account "Log on as" 
      
      1. Registry addition
      Create a registry to record Adapter-related events in the Windows event log
      
      Create a key and two values under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog
      - Created key: MFA_Adapter
      - Create two values in MFA_Adapter
         . Name: AutoBackupLogFiles
         . Type: DWORD (32-bit) value (REG_DWORD)
         . Data: 0
      
         . Name: MaxSize
         . Type: DWORD (32-bit) value (REG_DWORD)
         . Data: hexadecimal 80000
      
      Create a key and one value under MFA_Adapter
      - Created key: AdapterDLL
      - Create one value in AdapterDLL
        . Name: EventMessageFile
        . Type: expandable string value (REG_EXPAND_SZ)
      Here is the translation:
      
        . Data: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\EventLogMessages.dll
      
      1. Adapter required dll pre-installation The Assembly_netstandard2.0 folder in C:\ADFSadapter contains a collection of libraries that need to be pre-installed. Refer to the following for the installation work. When the ADFS Adapter runs, the necessary assemblies are loaded, and the dll is installed in the Global Assembly Cache of the ADFS server.
      **dll installation**
      
      #Pre-work
      Unzip and copy the Assembly_netstandard2.0 folder to the C:\ADFSadapter folder.
      #Run Powershell with administrator privileges and move to the execution location
      PS>cd C:\ADFSadapter
      
      #dll installation
      PS>.\gacutil.exe /il .\Assembly_netstandard2.0\AssemblyList.txt
      #dll verification
      PS>.\gacutil.exe /l
      
      Notice
      Assembly_netstandard v2.0.zip file can be requested separately via email (singleid.scp@samsung.com).

      The necessary assembly files are stored in the Assembly_netstandard2.0 folder, and the files can be copied to the server and installed offline. Assembly_netstandard2.0 folder: dll files for installing Microsoft.IdentityModel.Tokens v7.2, System.IdentityModel.Tokens.Jwt v7.2 assemblies (including all dependency files)

      Installed dll list

      Assembly NameInstallation VersionPackage Version
      Microsoft.Bcl.AsyncInterfaces1.0.0.01.0.0
      Microsoft.IdentityModel.Abstractions7.2.0.07.2.0
      Microsoft.IdentityModel.JsonWebTokens7.2.0.07.2.0
      Microsoft.IdentityModel.Logging7.2.0.07.2.0
      Microsoft.IdentityModel.Tokens7.2.0.07.2.0
      System.Buffers4.0.3.04.5.1
      System.IdentityModel.Tokens.Jwt7.2.0.07.2.0
      System.Memory4.0.1.14.5.3
      System.Numerics.Vectors4.1.4.04.5.0
      Microsoft.CSharp4.0.4.04.5.0
      System.Runtime.CompilerServices.Unsafe4.0.4.14.5.3
      System.Security.Cryptography.Cng4.3.0.05.0.0
      System.Text.Encodings.Web4.0.5.14.7.2
      System.Text.Json4.0.1.24.7.2
      System.Threading.Tasks.Extensions4.2.0.14.5.4
      Table. Installed DLL List

      Adapter Deployment

      The nuget file was downloaded and installed, and note that the nuget package version and the version installed on the server may differ. Use the dll as .net standard 2.0 (.net framework 4.8 supported) based on .net framework 4.8.

      Package download: NuGet Gallery | Microsoft.IdentityModel.Tokens 7.2.0

      1. Adapter Application Run in administrator mode using powershell and execute the following command
      # Move to execution location
      PS>cd C:\ADFSadapter
      
      # Register dll
      PS>./gacutil.exe /if ADFSadapter.dll
      
      # Check dll
      PS>./gacutil.exe /l ADFSadapter
       The following assembly is in the global assembly cache.
        ADFSadapter, Version=1.2.1.0, Culture=neutral, PublicKeyToken=0e0fe476002e81b3, processorArchitecture=MSIL
      # Register as authentication provider in ADFS
      PS>$typename="ADFSadapter.AuthenticationAdapter, ADFSadapter, Version=1.2.1.0, Culture=neutral, PublicKeyToken=0e0fe476002e81b3, processorArchitecture=MSIL"
      PS>Register-AdfsAuthenticationProvider -TypeName $typename -Name "ADFSadapter"
      # Check authentication provider in ADFS
      PS>Get-AdfsAuthenticationProvider 
      AdminName                          : ADFS MFA Adapter
      AllowedForPrimaryExtranet          : False
      AllowedForPrimaryIntranet          : False
      AllowedForAdditionalAuthentication : True
      AuthenticationMethods              : {http://schemas.microsoft.com/ws/2012/12/authmethod/otp}
      Descriptions                       : {[1033, ADFS MFA Adapter], [1042, ADFS MFA Adapter]}
      DisplayNames                       : {[1033, ADFS MFA Adapter], [1042, ADFS MFA Adapter]}
      Name                               : ADFSadapter
      IdentityClaims                     : {http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn}
      IsCustom                           : True
      RequiresIdentity                   : True
      # Restart ADFS service
      PS>net stop adfssrv
      PS>net start adfssrv
      #Move to the execution location
      PS>cd C:\ADFSadapter
      #Register dll
      PS>./gacutil.exe /if ADFSadapter.dll
      #Check dll
      PS>./gacutil.exe /l ADFSadapter
       The following assembly is in the global assembly cache.
        ADFSadapter, Version=1.2.1.0, Culture=neutral, PublicKeyToken=0e0fe476002e81b3, processorArchitecture=MSIL
      #Restart ADFS service
      PS>net stop adfssrv
      PS>net start adfssrv
      
      1. Set up ADFS multi-factor authentication method AD FS Management > Services > Authentication Methods > Multi-factor Authentication Methods > Click Edit and select the created mfa (ADFS MFA Adapter) and apply (multiple selections are possible)

      2. Apply MFA policy to relying party trust AD FS Management > Relying Party Trusts > Select the relying party trust to apply > Edit Access Control Policy > Select ‘Allow all users and require MFA’ and apply

      Adapter Upgrade and Change

      This method is performed when the ADFS MFA Adapter is already registered and the Adapter needs to be upgraded or changed. The adapter replacement work can be completed by running this script only.

      #Move to the execution location and upload the changed Adapter.dll file
      PS>cd C:\ADFSadapter
      
      #Perform adapter replacement
      
      
      PS>./replace_dll.ps1
      
      Confirmation window output: Click Yes (Y) or All Yes (A)
       - Selecting Yes (Y) or All Yes (A): Remove existing Adapter from ADFS and proceed with replacement work (normal procedure)
       - Selecting No (N) or All No (L): Do not remove Adapter and proceed to the next step, resulting in an error
       - Selecting Suspend (S): Suspend the script
      
      Note
      ※ Perform on both primary and secondary servers. On secondary servers, an error occurs when registering with ADFS, but it is necessary to perform for dll installation

      Adapter Settings

      Description of the Adapter environment setting file. You must configure the environment before applying the ADFS Adapter.

      Guide

      Adapter installation location change

      From adapter 1.2.0.6, installation is possible on drives other than C.

      Existing: Only installed on C:/ADFSadapter Changed: Installed on the root of drives from C to Z Example: C:/ADFSadapter, D:/ADFSadapter, E:/ADFSadapter, ……, Z:/ADFSadapter

      Precautions: It can only be installed on one drive, and if it is installed on multiple drives, the first discovered directory is used while scanning from C to Z

      The following example is the case where the adapter is installed in the C:\ADFSadapter directory.

      If installed on a drive other than C, only the drive name (drive letter) in the example below needs to be changed.

      Example: If installed in D:\ADFSadapter, the ini path is → D:\ADFSadapter\ADFSadapter.ini

      File Name and Path

      • File Name → ADFSadapter.ini
      • Full Path → C:\ADFSadapter\ADFSadapter.ini
      • File Encoding → Must be saved in UTF-8 (otherwise, Korean characters will be broken)

      Things to Keep in Mind

      When expressing values, " and ’ can be used, and spaces can be entered on either side of = Spaces before and after the Value are trimmed The following Values are all the same Example 1) MAIN_TITLE=DWP MFA Adapter Example 2) MAIN_TITLE = DWP MFA Adapter Example 3) MAIN_TITLE = “DWP MFA Adapter” Example 4) MAIN_TITLE = " DWP MFA Adapter "

      Section names with -1033, -1042 at the end represent locale At least 1033 must exist.

      locale number : 1033 (en-us), 1042 (ko) locale section : MFA-1033, MFA-1042, TXT-1033, TXT-1042, MSG-1033, MSG-1042

      ini File Structure Example

      # ADFS MFA Adapter Environment Settings
      # Installation location changes
      #   - Before v1.2.0.6: C:\ADFSadapter\ADFSadapter.ini
      #   - From v1.2.0.6: Can be installed on a drive other than C (same location as adapter resource installation)
      #     Example: C:\ADFSadapter\ADFSadapter.ini, D:\ADFSadapter\ADFSadapter.ini, E:\ADFSadapter\ADFSadapter.ini
      # Note: The DLL file name is ADFSadapter.dll, which is different from the existing MFAadapter.dll linked to Nexsign
      
      
      # When expressing values, " and ' can be used, and spaces can be entered on both sides of =
      # Spaces before and after the value are trimmed.
      # The following values are all the same.
      # Example 1) MAIN_TITLE=ADFS MFA Adapter
      # Example 2) MAIN_TITLE = ADFS MFA Adapter
      # Example 3) MAIN_TITLE = "ADFS MFA Adapter"
      # Example 4) MAIN_TITLE = "   ADFS MFA Adapter   "
      
      
      # Among the section names, those with -1033, -1042 at the end mean locale
      # At least 1033 must exist
      # Locale number: 1033 (en-us), 1042 (ko)
      # Locale section: MFA-1033, MFA-1042, TXT-1033, TXT-1042, MSG-1033, MSG-1042
      
      
      # LOG_LEVEL (criteria for recording in Windows event log)
      # 0: Error
      # 1: Error + Warning
      # 2: Error + Warning + Information + Debug
      
      
      [MAIN]
      MAIN_MFA_TITLE="ADFS MFA Adapter"
      MAIN_CLAIM1=http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod
      MAIN_CLAIM2=http://schemas.microsoft.com/ws/2012/12/authmethod/otp
      
      
      # MFA API Information
      # Do not add "/" at the end of the URL
      #MFA_API_URL="https://stg2-cloud.singleid.samsung.net/test/common-api/open/v1.1/mfa/request"
      MFA_API_URL="https://stg1-cloud.singleid.samsung.net/test/common-api/open/v1.1/mfa/request"
      CONSUMER_KEY="**************************************"
      SECRET_KEY="**************************************"
      
      
      # Domain vs Consumer Key List
      # If the Consumer Key is different for each domain, list it (in this case, leave the CONSUMER_KEY value above blank)
      # Insert the sys value of the Request Token
      # Format: DOMAIN_CONSUMER_KEY_##=domain;consumerKey
      # Example: DOMAIN_CONSUMER_KEY_01=aaa.com;**************************************
      #     DOMAIN_CONSUMER_KEY_02=bbb.com;**************************************
      # (Note) If both CONSUMER_KEY value and list value exist, only the CONSUMER_KEY value is used
      DOMAIN_CONSUMER_KEY_01=aaa.com;**************************************
      DOMAIN_CONSUMER_KEY_02=bbb.com;**************************************
      
      # Domain vs Secret Key List
      # If the Secret Key is different for each domain, list it (in this case, leave the SECRET_KEY value above blank)
      # Format: DOMAIN_SECRET_KEY_##=domain;secretKey
      # Example: DOMAIN_SECRET_KEY_01=aaa.com;**************************************
      #     DOMAIN_SECRET_KEY_02=bbb.com;**************************************
      # (Note) If both SECRET_KEY value and list value exist, only the SECRET_KEY value is used
      DOMAIN_SECRET_KEY_01=aaa.com;**************************************
      DOMAIN_SECRET_KEY_02=bbb.com;**************************************
      # LDAP Search result-based MFA progress
      # 0 : Do not perform LDAP Search (do not use the information below, such as LDAP_SERVER, LDAP_USE_IDPW, etc. Insert an empty value into the token)
      # 1 : Attempt LDAP Search, but failure is irrelevant (proceed with MFA even if server failure or no information occurs. Insert an empty value into the token)
      # 2 : LDAP Search must be successful and user information must exist (proceed only if user information exists. However, proceed even if the result value is empty)
      USE_LDAP_SEARCH=1
      
      
      # LDAP address and ID/PW
      # LDAP_SERVER can be domain, ipv4, ipv6, and must be prefixed with "LDAP://" in uppercase (must be uppercase)
      # Example: LDAP://adpw5004.hw.dev , LDAP://70.2.180.218 , LDAP://fe80::644b:3c9f:c5ac:ce1c%10
      # Set LDAP_USE_IDPW to 1 to use ID/PW, and set to 0 not to use
      # Set LDAP_SSLTLS to 1 to use SSL/TLS, and set to 0 not to use (only applicable when LDAP_USE_IDPW=1)
      LDAP_SERVER="LDAP://adpw5004.hw.dev"
      LDAP_USE_IDPW=1
      LDAP_SSLTLS=1
      LDAP_ID="isadmin"
      LDAP_PW="sds*****"
      
      
      # Perform DNS Lookup to verify the IP address of the LDAP server (LDAP_SERVER) and connect based on the IP address
      # Even if the LDAP_SERVER value is set to IP (ipv4, ipv6), DNS Lookup is performed and the IP is returned as is
      # If DNS Lookup fails, connect using the LDAP_SERVER value as is
      # 0 : Connect to the server using the LDAP_SERVER value as is (do not perform DNS lookup)
      # 1 : Connect to the LDAP server using the IP address verified through DNS lookup (use the first IP in the DNS lookup result list)
      # 2 : Verify the IP address through DNS lookup and use the first matching IP in the LDAP_WHITE_IP_## list (use the LDAP_SERVER if not found in the list)
      # 3 : Verify the IP address through DNS lookup and use the first matching IP in the LDAP_WHITE_IP_## list (do not connect to the LDAP server if not found in the list)
      LDAP_DNS_LOOKUP=1
      # DNS Lookup result has multiple entries, try to connect to the next IP address if the first one fails
      # Example: 4 lookup results: 1st IP connection fails -> try 2nd IP & fail -> try 3rd IP & fail -> try 4th IP
      LDAP_DNS_IF_FAIL_USE_NEXT=1
      
      
      # List of allowed LDAP server IP addresses to compare with DNS Lookup results (only applicable when LDAP_DNS_LOOKUP = 2 or 3)
      # In the format of LDAP_WHITE_IP_##, recorded sequentially from 01 to 99
      # Compare DNS Lookup results with the list sequentially
      # Record in IPv4 or IPv6 format (if the same server has both IPv4 and IPv6, the one with higher priority in the list is applied)
      # If the order of DNS Lookup results and White IP list is different, follow the order of White IP list
      LDAP_WHITE_IP_01="70.2.180.218"
      LDAP_WHITE_IP_02="fe80::644b:3c9f:c5ac:ce1c%10"
      
      
      # Whether to encrypt user information (e.g., mobile, email, etc.)
      # Target: USERINFO_## list
      # Depending on the encryption, the claim name of the token sent to the API server is different
      # 0: Do not encrypt -> token claim name is plainMobile, plainEmail
      # 1: Encrypt -> token claim name is mobile, email
      USERINFO_ENCRYPT=0
      
      
      # LDAP Search user information attribute name and JWT token claim name (delimiter between two values = ";")
      # Format: USERINFO_## = attribute;encryptedClaim;plainClaim
      #   Example: If "mail" attribute is read from LDAP and used as "email" claim in JWT, then "mail;email;plainEmail"
      # Key name is in the format "USERINFO_##", starting with USERINFO_01
      # Number of keys: 0 to a maximum of 99 (if 0, do not write anything in the ini file, and do not write USERINFO_00)
      # Note) In USERINFO_##, the number corresponding to ## must start from 01 and not be interrupted if there are multiple
      #           USERINFO_01, USERINFO_02, USERINFO_03: OK (01, 02, 03 information is used)
      #           USERINFO_01, USERINFO_02, USERINFO_05: only read up to 02, and do not use the numbers after the interruption (01, 02 information is used)
      USERINFO_01=mobile;mobile;plainMobile
      USERINFO_02=mail;email;plainEmail
      
      
      # MFA API server's callback result parameter key name
      # Example: https://adpw5004.hw.dev/adfs/ls?client-request-id=xxxxxx&pullStatus=0&jwtTokenResponse=yyyyyy
      KEY_NAME_IN_RESPONSE="jwtTokenResponse"
      
      
      # JWT Token's exp additional value
      # Format: dhms (day, hour, minute, second) string -> 1d=86400, 1h=3600, 1m=60 (simple number without dhms is considered as seconds)
      # Example 1: 1d02h38m27s -> 95907 seconds
      # Example 2: 12345 -> 12345 seconds
      TOKEN_EXP_TIME=1d
      
      
      # Whether to add client claim to the token when calling the API
      # Client: issuer for SAML, client-id for OIDC
      # 0: Do not include client in the token
      # 1: Include client in the token
      TOKEN_CLAIM_CLIENT=0
      
      
      # MFA nonce (guid, request-id) verification method
      # 0: Do not verify
      # 1: Adapter generates guid and stores/compares it in LDAP (adapter verifies)
      #     -> Related settings: CACHE_ATTRIBUTE, CACHE_DELIMETER, SKEW_SECONDS, CACHE_LIFE_TIME
      # 2: API server generates request-id and adapter uses it in the call URL (API server verifies)
      #     -> Related settings: MFA_VERIFY_URL
      MFA_VERIFY_TYPE=2
      # MFA result verification URL (server to server communication) : Appends the {request-id} received from the API server to the end of the URL
      # The adapter checks if the return is 200 (OK) to process the MFA result
      # Do not add a "/" at the end of the URL
      MFA_VERIFY_URL="https://stg1-cloud.iam.samsung.net/test/common-api/open/v1.1/mfa/request/status"
      
      
      # Security protocol used for MFA result verification
      # Available protocols (case-insensitive) : TLS12, TLS13
      # (Note) Do not use SSL3, TLS, TLS11
      MFA_VERIFY_SECURE_PROTOCOL="TLS12"
      
      
      # Name of the LDAP attribute to store the user's req guid value
      # (Note) Write permission to LDAP is required
      CACHE_ATTRIBUTE="otherPager"
      
      
      # Delimiter used to combine req and time information stored in LDAP -> "req;time"
      CACHE_DELIMETER=";"
      
      
      # Allowed time difference (in seconds) between the time stored in LDAP and the time the JWT is received
      # This is the time after AD login, not when the MFA selection screen is displayed (the time is already stored when the MFA selection screen is displayed)
      # Therefore, the time should not be set too tightly, and around 1 hour is suitable?? (Is there anyone who takes 1 hour to select MFA?)
      SKEW_SECONDS=3600
      # Time to live for req stored in LDAP -> Check time on next access and delete old ones
      # Format: String in dhms (day, hour, minute, second) format -> 1d=86400, 1h=3600, 1m=60 (numbers without dhms are considered seconds)
      # Example 1: 1d02h38m27s -> 95907 seconds
      # Example 2: 12345 -> 12345 seconds
      CACHE_LIFE_TIME=1d
      
      
      # Whether to bypass adapter functionality (0=normal use, 283901=disable, other values=normal use)
      # For emergency situations where adapter functionality needs to be disabled due to MFA issues
      # Do not modify this value under normal circumstances -> Normal value is 0
      # Note: To disable, the exact value must be set (not just any non-zero number, exact number required to avoid noise)
      BYPASS_ADAPTER=0
      
      
      [API]
      API_SYSTEMNAME=SingleID
      
      
      [MSG-1033]
      MSG_INTERNAL_ERROR="Internal error occurred. Contact administrator."
      
      
      [MSG-1042]
      MSG_INTERNAL_ERROR="Internal error occurred. Contact administrator."
      
      
      [MANAGE]
      LOG_LEVEL=2
      

      Setting Value Description

      • Fixed Value: This means that the value displayed in the “Setting Value” column in the table below is used as is when installing the ADFS server.
      • If you want to add languages other than English and Korean, you can add them for two sections: MSG-1033, MSG-1042
      dssKeySetting Value (Example)FixedDescription
      MAINMAIN_MFA_TITLEADFS MFA AdapterOHTML page title (does not affect MFA functionality)
      MAIN_CLAIM1http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethodOMust apply the value on the left as is
      MAIN_CLAIM2http://schemas.microsoft.com/ws/2012/12/authmethod/otpOMust apply the value on the left as is
      MFA_API_URLhttps://stg2-cloud.singleid.samsung.net/test/common-api/open/v1.1/mfa/requestSingleID MFA API address
      The address may vary depending on the tenant, so you need to check the exact address value
      CONSUMER_KEY4312a8b9-75c4-7897-89a7-89347f18943eConsumer Key issued by SingleID
      SECRET_KEYgQgkyLVO6FR8vJkLtlgBiupsRM/ilgrbEfoKWRnhALd=Secret Key issued by SingleID
      Used for JWT Signature verification
      Absolute prohibition on external disclosure
      DOMAIN_CONSUMER_KEY_014312a8b9-75c4-7897-89a7-89347f18943eDomain vs Consumer Key list
      If the Consumer Key is different for each domain, list it (in this case, leave the CONSUMER_KEY value blank)
      Format: DOMAIN_CONSUMER_KEY_##=domain;consumerKey
      Example:
      DOMAIN_CONSUMER_KEY_01=aaa.com;4312a8b9-75c4-7897-89a7-89347f18943e
      DOMAIN_CONSUMER_KEY_02=bbb.com;96567780-2b12-23da-637c-9375a6502d5a
      (Note) If both CONSUMER_KEY value and list value exist, only CONSUMER_KEY value is used
      DOMAIN_CONSUMER_KEY_0296567780-2b12-23da-637c-9375a6502d5a
      DOMAIN_CONSUMER_KEY_##367c89d5-88f7-978a-9739-8ed21748f36b
      DOMAIN_SECRET_KEY_01gQgkyLVO6FR8vJkLtlgBiupsRM/ilgrbEfoKWRnhALd=Domain vs Secret Key list
      If the Secret Key is different for each domain, list it (in this case, leave the SECRET_KEY value blank)
      Format: DOMAIN_SECRET_KEY_##=domain;secretKey
      Example:
      DOMAIN_SECRET_KEY_01=aaa.com;gQgkyLVO6FR8vJkLtlgBiupsRM/ilgrbEfoKWRnhALd=
      DOMAIN_SECRET_KEY_02=bbb.com;kgkWRnLygQhsRgrLVbtKlO6FiLdABupEgoMR8v/ilfJ=
      (Note) If both SECRET_KEY value and list value exist, only SECRET_KEY value is used
      DOMAIN_SECRET_KEY_02kgkWRnLygQhsRgrLVbtKlO6FiLdABupEgoMR8v/ilfJ=
      DOMAIN_SECRET_KEY_##dABupkRnLygQhsrLgWVRbt8vRgkLilLKlO1FioMgfJE=
      USE_LDAP_SEARCH0 or 1 or 2MFA progress based on LDAP Search result
      0 : Do not perform LDAP Search (do not use the information below, such as LDAP_SERVER, LDAP_USE_IDPW, etc. and insert an empty value into the token)
      1 : Try LDAP Search, but proceed with MFA even if it fails (proceed with MFA even if server failure or no information occurs, and insert an empty value into the token)
      2 : Proceed with MFA only if LDAP Search is successful and user information exists (proceed only when user information exists, but proceed even if the result value is empty)
      LDAP_SERVERLDAP://adpw5004.hw.devLDAP address that can query AD user information
      Domain, IPv4, and IPv6 are all possible, and “LDAP://” must be attached to the beginning
      LDAP_USE_IDPW0 or 1Whether to use id/pw when accessing LDAP
      The adapter operates with system privileges, so it is common to access LDAP without id/pw, but there are cases where it is not
      If there is an AD connection error in the event log while the id/pw is not used for connection, it is necessary to set it to use id/pw
      If this value is set to 1, LDAP_ID and LDAP_PW values must be set
      LDAP_SSLTLS0 or 1Whether to use SSL/TLS when connecting to LDAP
      Generally, it is set to use
      LDAP_IDLDAP connection idLDAP connection id (when LDAP_USE_IDPW=1)
      LDAP_PWLDAP connection pwLDAP connection pw (when LDAP_USE_IDPW=1)
      LDAP_DNS_LOOKUP0 or 1 or 2 or 3Whether to perform DNS Lookup to check the IP address of the LDAP server (LDAP_SERVER) and connect based on the IP address
      0 : Connect to the server with the LDAP_SERVER value as is (do not perform DNS lookup)
      1 : Perform DNS lookup to check the IP address and connect to the LDAP server (use the first IP in the DNS lookup result list)
      2 : Perform DNS lookup to check the IP address and use the first IP that matches the LDAP_WHITE_IP_## list (if not in the list, use the LDAP_SERVER value)
      3 : Perform DNS lookup to check the IP address and use the first IP that matches the LDAP_WHITE_IP_## list (if not in the list, do not connect to LDAP)
      LDAP_DNS_IF_FAIL_USE_NEXT0 or 1Whether to try the next IP address when the first IP address fails to connect after performing DNS lookup
      Example: If there are 4 lookup results, try to connect to the first IP, and if it fails, try to connect to the second IP, and if it fails, try to connect to the third IP, and if it fails, try to connect to the fourth IP
      LDAP_WHITE_IP_0170.2.180.218List of allowed LDAP server IP addresses for comparison with DNS lookup results (only applicable when LDAP_DNS_LOOKUP = 2 or 3)
      Format: LDAP_WHITE_IP_##, recorded sequentially from 01 to 99
      Compare DNS lookup results with the list in sequence
      Recorded in IPv4 or IPv6 format (if the same server has both IPv4 and IPv6, the IP in the higher order of the list is applied)
      If the DNS lookup result order and the White IP list order are different, follow the White IP list order
      LDAP_WHITE_IP_02fe80::644b:3c9f:c5ac:ce1c%10
      LDAP_WHITE_IP_##A. : 01 ~ 99
      White IP address (IPv4 or IPv6)
      USERINFO_ENCRYPT0 or 1Whether to encrypt user information (e.g., mobile, email, etc.)
      Target: USERINFO_## list
      The claim name of the token sent to the API server differs depending on the encryption
      0: Not encrypted -> token claim name is plainMobile, plainEmail
      1: Encrypted -> token claim name is mobile, email
      USERINFO_01mobile;mobile;plainMobileOLDAP Search user information attribute name and JWT token claim name (delimiter to separate three values = “;”)
      Format: USERINFO_## = attribute; encryptedClaim; plainClaim
      Example: If you read the “mail” attribute from LDAP and use the encrypted value as the “email” claim and the plain text value as the “plainEmail” claim in the JWT → “mail;email;plainEmail”
      USERINFO_02mail;email;plainEmailO
      USERINFO_##A. : 01 ~ 99
      [LDAP attribute name];[encrypted token claim name];[plain token claim name]
      KEY_NAME_IN_RESPONSEjwtTokenResponseOKey name used in the result parameter when the MFA API server calls back
      Example: https://adpw5004.hw.dev/adfs/ls?client-request-id=xxxxxx&pullStatus=0&jwtTokenResponse=yyyyyy
      TOKEN_EXP_TIME1dValue added to the exp of the JWT token
      String in the format of day, hour, minute, and second (dhms)
      1d = 86400, 1h = 3600, 1m = 60
      If there is no dhms, it is considered as seconds
      Example 1: 1d02h38m27s → 95907 seconds
      Example 2: 12345 → 12345 seconds
      TOKEN_CLAIM_CLIENT0 or 1Whether to add the client claim to the token when calling the API
      Client: issuer in the case of SAML, client-id in the case of OIDC
      0: Do not include the client in the token
      1: Include the client in the token
      MFA_VERIFY_TYPE0 or 1 or 2MFA nonce (guid, request-id) verification method
      0: Do not verify
      1: Method of storing and comparing the guid created by the adapter in LDAP (verified by the adapter) → related setting values: CACHE_ATTRIBUTE, CACHE_DELIMETER, SKEW_SECONDS, CACHE_LIFE_TIME
      2: Method of using the request-id created by the API server and used in the call URL (verified by the API server) → related setting value: MFA_VERIFY_URL
      MFA_VERIFY_URLhttps://stg1-cloud.iam.samsung.net/test/common-api/open/v1.1/mfa/request/statusMFA result verification URL (server-to-server communication): The {request-id} received from the API server is appended to the end of the URL and called → The adapter checks if the return is 200 (OK) to process the MFA result
      Do not add a “/” at the end of the URL
      MFA_VERIFY_SECURE_PROTOCOLTLS12 or TLS13Secure protocol used for MFA result verification
      Selectable protocols (case-insensitive): TLS12, TLS13
      (Note) Do not use SSL3, TLS, or TLS11
      CACHE_ATTRIBUTEotherPagerOName of the LDAP attribute to store the user’s req guid value
      CACHE_DELIMETER“;”Delimiter used to combine the req and time information when storing in LDAP -> “req;time”
      SKEW_SECONDS3600Time difference allowance (in seconds) between the time stored in LDAP and the time received in the JWT
      This is the time right after AD login, not the time when the MFA selection screen is displayed (the time has already been stored when the MFA selection screen is displayed)
      Therefore, do not set the time too tightly, and about 1 hour is suitable?? (Is there anyone who takes 1 hour to select MFA?)
      CACHE_LIFE_TIME1dLifetime of the req stored in LDAP -> delete old ones when checking the time at the next access
      String in the format of day, hour, minute, and second (dhms)
      1d = 86400, 1h = 3600, 1m = 60
      If there is no dhms, it is considered as seconds
      BYPASS_ADAPTER0 or 283901Whether to bypass the adapter function (0 = normal use, 283901 = disable, other values = normal use)
      Used in emergency situations where the adapter function needs to be disabled due to MFA function issues
      Do not modify this value in normal situations -> the normal value is 0
      Note: To disable, you must set the exact value (not just any number other than 0, but the exact number is required. Be careful of noise)
      APIAPI_SYSTEMNAMESingleIDO(No effect on MFA function)
      MSG-1033MSG_INTERNAL_ERROR“Internal error occurred. Contact administrator.”Message to display to the user when stopping due to authentication interruption, error occurrence, etc. (English)
      MSG-1042MSG_INTERNAL_ERROR“Internal error occurred. Contact administrator.”Message to display to the user when stopping due to authentication interruption, error occurrence, etc. (English)
      Enter in English, as entering in Korean will cause an error
      MANAGELOG_LEVEL0 또는 1 또는 2Standard for recording in the Windows event log
      0 = record only errors
      1 = record errors and warnings
      2 = record all including errors, warnings, and information
      Table. Setting value description

      INI Setting Method

      1. LDAP Search related
        • Using DNS Lookup with the hostName of the LDAP server
        • Using only the first address among multiple DNS Lookup results
        • Attempting to connect to multiple DNS Lookup results in sequence
        • Using id/pw when connecting to the LDAP server
        • Using a specific LDAP attribute name and JWT token claim name (USERINFO_##)
      • Only allowed LDAP addresses can be accessed (White IP list)
      • Set user attributes to be retrieved from LDAP
      1. API connection related
      • Whether to encrypt user information included in the token sent to the API server
      • MFA integrity verification method: Verified by the adapter
      • MFA integrity verification method: Verified by the API server
      1. Others
      • Options that should never be changed
      • Options that must be issued and set by the SingleID operations department
      • Options that need to be set according to the installation environment
      Caution
      The consumer key and secret key used on this page are sample data. (fake value)

      When using DNS Lookup with the hostName of the LDAP server

      USE_LDAP_SEARCH=1
      LDAP_SERVER="LDAP://adpw5004.hw.dev"
      LDAP_DNS_LOOKUP=1
      

      The beginning of the LDAP server address must be “LDAP://” in uppercase. It has been confirmed that if it is in lowercase during testing on the development server, the connection will not be made. If DNS Lookup fails, the LDAP_SERVER value is used as the LDAP connection address.

      When you want to use only the first address among multiple DNS Lookup results

      LDAP_DNS_LOOKUP=1
      LDAP_DNS_IF_FAIL_USE_NEXT=0
      DNS lookup result is as follows,
      
      • IP1 = 10.10.10.10
      • IP2 = 10.10.10.20
      • IP3 = 10.10.10.30

      Since LDAP_DNS_IF_FAIL_USE_NEXT=0, it attempts to connect to IP1 only and stops regardless of success or failure. Therefore, setting LDAP_DNS_IF_FAIL_USE_NEXT=0 requires caution.

      When you want to attempt to connect to all DNS lookup results sequentially

      LDAP_DNS_LOOKUP=1
      LDAP_DNS_IF_FAIL_USE_NEXT=1
      

      DNS lookup result is as follows,

      • IP1 = 10.10.10.10
      • IP2 = 10.10.10.20
      • IP3 = 10.10.10.30

      Since LDAP_DNS_IF_FAIL_USE_NEXT=1, it attempts to connect to IP1, IP2, and IP3 sequentially until it succeeds. For example, if it succeeds in connecting to IP2, it will not attempt to connect to IP3. LDAP Server Connection using ID/PW

      LDAP_ID="******"
      LDAP_PW="******"
      

      MFA operates with system privileges, so ID/PW may not be necessary. If LDAP connection is not possible without ID/PW (can be checked in server logs), please try setting it to use ID/PW.

      Allowing only permitted LDAP addresses (White IP list)

      LDAP_DNS_LOOKUP=2
      or
      LDAP_DNS_LOOKUP=3
      
      LDAP_WHITE_IP_01="70.2.180.218"
      LDAP_WHITE_IP_02="fe80::644b:3c9f:c5ac:ce1c%10"
      

      This method does not use the DNS Lookup result directly, but compares it with the White IP list and only uses addresses that belong to the list. For example, if the DNS Lookup result is as follows,

      • IP1 = 10.10.10.10
      • IP2 = 10.10.10.20
      • IP3 = 10.10.10.30

      And the White IP list is as follows,

      • WIP1 = 10.10.10.20
      • WIP2 = 10.10.10.40 The actual address used is IP2 = WIP1 = 10.10.10.20.

      The order follows the White IP list order. In the following case, the server attempts to connect in the order of 10.10.10.30, 10.10.10.20.

      • IP1 = 10.10.10.10
      • IP2 = 10.10.10.20
      • IP3 = 10.10.10.30

      • WIP1 = 10.10.10.30
      • WIP2 = 10.10.10.20

      If there is no White IP list,

      • LDAP_DNS_LOOKUP=2 → The LDAP_SERVER value is used directly as the LDAP connection address.
      • LDAP_DNS_LOOKUP=3 → No connection to the LDAP server is made. (An option that requires caution when using)

      Setting user attribute to query from LDAP

      USERINFO_01=mobile;mobile;plainMobile
      USERINFO_02=mail;email;plainEmail
      USERINFO_03=company;company;plainCompany
      USERINFO_04=department;department;plainDepartment
      USERINFO_05=displayname;displayname;plainDisplayname
      

      User information claim to be included in the Request Token to be sent to the MFA API server. It retrieves a list of items from LDAP based on the number set in the ini file and includes the results in the token to be sent to the MFA API server. The configuration rules can be found in the table on the page below, under the “USERINFO_##” description.

      If the LDAP query results are as follows, like the sample above,

      • mobile = +82-10-1234-5678
      • mail = gd.hong@samsung.com
      • company = no value
      • department = no value
      • displayname = Hong Gil Dong

      The Request Token will be composed as follows. If the query results are empty, they will be included in the token as is (like plainCompany and plainDepartment below).

      {
        "sys": "4312a8b9-75c4-7897-89a7-89347f18943e",
        "uid": "gd.hong",
        "displayUid": "gd.hong",
        "rtn": "https://adpw5004.hw.dev:443/adfs/ls?client-request-id=4b978185-59e1-4018-c800-0080020000f6&pullStatus=0",
        "nbf": 1716346465,
        "exp": 1716432865,
        "iat": 1716346465,
        "authType": "saml",
        "returnMethod": "get",
        "plainMobile": "+82-10-1234-5678",
        "plainEmail": "gd.hong@samsung.com",
        "plainCompany": "",
        "plainDepartment": "",
        "plainDisplayname": "Hong Gil Dong"
      }
      

      To avoid querying from LDAP, you can empty or remark the setting value. In this case, the token will not contain user information.

      USERINFO_01=
      or
      #USERINFO_01=mobile;mobile;plainMobile
      

      Whether to encrypt user information included in the token to be sent to the API server

      USERINFO_ENCRYPT=0
      

      As of adapter version 1.2.0.8, it is not possible to transmit encrypted data because the encryption logic of the API server is not implemented in the same way. The server uses AES GCM encryption, but the adapter cannot use AES GCM due to its development environment characteristics.

      • Target information: mobile, email

      Therefore, we use USERINFO_ENCRYPT=0. Since the adapter and API server are connected via https, it is unlikely that there will be a man-in-the-middle interception issue.

      MFA Integrity Verification Method: Verified by Adapter

      MFA_VERIFY_TYPE=1
      CACHE_ATTRIBUTE="otherPager"
      CACHE_DELIMETER=";"
      SKEW_SECONDS=3600
      CACHE_LIFE_TIME=1d
      

      Conditions required to use this option

      • You must have write permission to LDAP → Very important every week!

      This method uses the “otherPager” attribute in LDAP user information as a temporary storage space. The adapter has no session concept, so it cannot store or remember information on its own.

      The LDAP server is the same as the LDAP Search address. In other words, options such as LDAP SERVER and LDAP_DNS_LOOKUP are also applied.

      The above settings are interpreted as follows:

      • MFA_VERIFY_TYPE=1 : A method of storing/comparing the guid created by the adapter in LDAP (verified by the adapter)
      • Use the “otherPager” attribute of LDAP user information
      • Multiple stored information is concatenated with “;” and stored as a string → Example: “aaa;bbb;ccc”
      • The allowed difference between the time of the request stored in LDAP and the time of receiving JWT is 3600 seconds
      • The lifespan of the request stored in LDAP is 1d (one day) → When accessing again, check the time and delete old ones

      MFA integrity verification method: Verified by API server

      MFA_VERIFY_TYPE=2
      MFA_VERIFY_URL="https://stg1-cloud.iam.samsung.net/test/common-api/open/v1.1/mfa/request/status"
      MFA_VERIFY_SECURE_PROTOCOL="TLS12"
      

      When the adapter receives the MFA result jwt token responded by the API server, it uses the req value in the token’s information to ask the API server again, and checks if the result is 200. The above settings are interpreted as follows:

      • MFA_VERIFY_TYPE=2 : The method of using the request-id created by the API server and received by the adapter to call the URL (verified by the API server)
      • Re-asking for the MFA_VERIFY_URL address
      • The security protocol uses TLS 1.2

      Others

      MAIN_CLAIM1=http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod
      MAIN_CLAIM2=http://schemas.microsoft.com/ws/2012/12/authmethod/otp
      KEY_NAME_IN_RESPONSE="jwtTokenResponse"
      CACHE_ATTRIBUTE="otherPager"
      CACHE_DELIMETER=";"
      BYPASS_ADAPTER=0
      

      The contents of the INI file provided at the initial installation must be maintained as is. If changed arbitrarily, the adapter may not work at all. Some values may need to be changed depending on the system situation, but the opinion of the administrator/responsible person must be gathered in advance.

      Options that must be issued and set by the SingleID Operations Department

      MFA_API_URL="https://stg1-cloud.singleid.samsung.net/test/common-api/open/v1.1/mfa/request"
      CONSUMER_KEY="4312a8b9-75c4-7897-89a7-89347f18943e"
      SECRET_KEY="gQgkyLVO6FR8vJkLtlgBiupsRM/ilgrbEfoKWRnhALd="
      MFA_VERIFY_URL="https://stg1-cloud.iam.samsung.net/test/common-api/open/v1.1/mfa/request/status"
      MFA_VERIFY_SECURE_PROTOCOL="TLS12"
      

      API-related addresses, keys, and bearer values are provided by the SingleID operations department. The general setting for the security protocol (MFA_VERIFY_SECURE_PROTOCOL) is TLS 1.2.

      Options that need to be set according to the installation environment

      LDAP_SERVER="LDAP://adpw5004.hw.dev"
      LDAP_ID="******"
      LDAP_PW="******"
      LDAP_WHITE_IP_01="70.2.180.218"
      LDAP_WHITE_IP_02="fe80::644b:3c9f:c5ac:ce1c%10"
      

      These options are determined after investigating the installation environment.

      INI Settings and Results

      1. USERINFO_ENCRYPT
      2. USE_LDAP_SEARCH
      3. LDAP_DNS_LOOKUP
      4. LDAP_DNS_IF_FAIL_USE_NEXT
      5. LDAP_USE_IDPW
      6. MFA_VERIFY_TYPE
        Note
        The consumer key and secret key used on this page are sample data. (fake value)

      USERINFO_ENCRYPT

      USERINFO_ENCRYPT=0
      

      Sets whether the user information included in the token sent by the adapter to the MFA API server is encrypted or in plain text. (For example, mobile, email) As of adapter version v1.2.0.8 (April ‘24), since AES/GCM/NoPadding cannot be used, it is set to plain text. In other words, USERINFO_ENCRYPT=0 is fixed. Later, if the adapter supports AES/GCM/NoPadding, the setting can be changed.

      USE_LDAP_SEARCH

      USE_LDAP_SEARCH=0
      

      LDAP_SERVER=“LDAP://adpw5004.hw.dev” Since USE_LDAP_SEARCH is 0, the LDAP_SERVER value is not used. In other words, if USE_LDAP_SEARCH is 0, LDAP_SERVER can be set to an empty value or deleted.

      USE_LDAP_SEARCH=1
      

      What if the LDAP search fails?

      • The user information is treated as an empty value and proceeds to the next step.
      • The cause of the failure, whether it’s a server connection failure or no information, is irrelevant.
      USE_LDAP_SEARCH=2
      

      What if the LDAP search fails?

      • An error is displayed to the user and the process is stopped.
      • The server log will record the following (or similar content):
        → “Failed to retrieve user information from LDAP.”

      This option should be used with caution and, if possible, set to USE_LDAP_SEARCH=1. It is desirable to leave the handling of user information that is not available to the MFA API side. Adapters may not be able to handle user guidance and functions for these situations.

      LDAP_DNS_LOOKUP

      LDAP_SERVER="LDAP://adpw5004.hw.dev"
      LDAP_DNS_LOOKUP=1
      LDAP_WHITE_IP_01="10.10.10.10"
      LDAP_WHITE_IP_02="10.10.10.30"
      

      The adapter remembers the DNS lookup result in memory as a list (an ordered list) → LDAP address list Assuming the LDAP server is duplicated and each IP is as follows. (IP that can be looked up from DNS)

      • IP#1 : 10.10.10.10
      • IP#2 : 10.10.10.20

      Since the DNS lookup result applies to both IPv4 and IPv6, the result comes out as follows. (The following is a sample and is different from the actual result)

      • IP#1 = fe80::644b:3c9f:c5ac:ce1c%10
      • IP#2 = fe80::f03d:b045:8dc3:f5ed%3
      • IP#3 = 10.10.10.10
      • IP#4 = 10.10.10.20

      In this state, the following cases can be considered.

      Case 1) If DNS lookup fails

      • The number of LDAP address lists is 1, and the LDAP_SERVER value is directly assigned. Note: I’ve translated only the Korean text into English, leaving the code, HTML, and other non-Korean elements unchanged.
      • That is, the 1st value of the LDAP address list = “LDAP://adpw5004.hw.dev”

      Case 2) If DNS Lookup is successful and there is a White IP list setting value (LDAP_WHITE_IP_##=“x.x.x.x”)

      • The LDAP address list is created in the order of the White IP list.
      • In the case of the above sample, the value of the LDAP address list is as follows. → 1st value = 10.10.10.10

      • The 2nd White IP 10.10.10.30 is not reflected in the LDAP address list because it does not exist in the DNS Lookup result.

      Case 3) If DNS Lookup is successful and there is no White IP list setting value (LDAP_WHITE_IP_##="" or no LDAP_WHITE_IP_##)

      • The DNS Lookup result is reflected in the LDAP address list.
      • In the case of the above sample, the value of the LDAP address list is as follows.
        → 1st value = fe80::644b:3c9f:c5ac:ce1c%10
        → 2nd value = fe80::f03d:b045:8dc3:f5ed%3
        → 3rd value = 10.10.10.10
        → 4th value = 10.10.10.20

      LDAP_DNS_IF_FAIL_USE_NEXT

      LDAP_DNS_IF_FAIL_USE_NEXT=0
      

      Assuming the LDAP address list is as follows.

      • 1st value = 10.10.10.10
      • 2nd value = 10.10.10.20

      If the connection attempt to the 1st address 10.10.10.10 fails, it will not proceed further. The LDAP search result (user information) is set to an empty value.

      LDAP_DNS_IF_FAIL_USE_NEXT=1
      

      Assuming the LDAP address list is as follows.

      • 1st value = 10.10.10.10
      • 2nd value = 10.10.10.20

      If the connection attempt to the 1st address 10.10.10.10 fails, it will attempt to connect to the 2nd address. If the connection to the 2nd address also fails, the LDAP search result (user information) is set to an empty value.

      LDAP_USE_IDPW

      LDAP_USE_IDPW=0
      LDAP_ID="******"
      LDAP_PW="******"
      

      If LDAP_USE_IDPW is 0, the LDAP_ID and LDAP_PW values are not used. In other words, if LDAP_USE_IDPW is 0, LDAP_ID and LDAP_PW can be set to empty values or deleted.

      LDAP_USE_IDPW=1
      LDAP_ID=""
      LDAP_PW=""
      

      If LDAP_USE_IDPW is 1, LDAP_ID and LDAP_PW values are absolutely necessary. Therefore, if you leave LDAP_ID and LDAP_PW values empty or delete them, as shown in the sample above, you will not be able to connect to the LDAP server.

      LDAP_USE_IDPW=1
      LDAP_ID="******"
      LDAP_PW="******"
      

      This means that id/pw is used for LDAP connection, and if the connection fails, check if the id/pw is correct. Since the INI file is in plain text, there is a risk that the id/pw will be exposed. Therefore, it is necessary to configure the server environment so that LDAP connection is possible without using id/pw as much as possible.

      MFA_VERIFY_TYPE

      MFA_VERIFY_TYPE=0
      

      From the adapter’s perspective, MFA result verification means that the adapter re-confirms the result of the user’s MFA performance, which is done through the MFA API. If the MFA_VERIFY_TYPE value is 0, it means that MFA result verification is not performed. In normal operating conditions, it is not set to 0.

      MFA_VERIFY_TYPE=1
      CACHE_ATTRIBUTE="otherPager"
      CACHE_DELIMETER=";"
      

      The adapter directly performs MFA result verification. To do this, the LDAP server is utilized, and LDAP write permission is required. The CACHE_ATTRIBUTE value is not allowed to be changed.

      MFA_VERIFY_TYPE=2
      MFA_VERIFY_URL="https://stg1-cloud.iam.samsung.net/test/common-api/open/v1.1/mfa/request/status"
      MFA_VERIFY_SECURE_PROTOCOL="TLS12"
      

      MFA verification result is requested to the MFA API server. This is an alternative when there is no LDAP write permission.

      INI Configuration Example

      Example 1

      USE_LDAP_SEARCH=0
      LDAP_SERVER="LDAP://adpw5004.hw.dev"
      LDAP_DNS_LOOKUP=0
      MFA_VERIFY_TYPE=1
      CACHE_ATTRIBUTE="otherPager"
      CACHE_DELIMETER=";"
      
      • LDAP search is not used.
      • The user information included in the token sent to the API server is set to an empty string value. (e.g., mobile, email, etc.)
      • The reason LDAP_SERVER information exists even though LDAP search is not used is because MFA_VERIFY_TYPE=1.
      • DNS lookup for the LDAP server is not performed.
      • In other words, the LDAP_SERVER value is used directly as the LDAP address.
      • The adapter directly verifies the MFA result, using the LDAP server. Therefore, the LDAP server address value must exist.
      • The above setting means that the adapter stores the nonce it created in the “otherPager” attribute of the user information in the LDAP server and retrieves it for comparison when MFA is completed.

      Example 2

      USE_LDAP_SEARCH=1
      LDAP_SERVER="LDAP://adpw5004.hw.dev"
      LDAP_USE_IDPW=0
      LDAP_SSLTLS=1
      LDAP_DNS_LOOKUP=0
      MFA_VERIFY_TYPE=1
      CACHE_ATTRIBUTE="otherPager"
      CACHE_DELIMETER=";"
      
      • Use LDAP search.
      • Retrieve user information from LDAP (e.g., mobile, email, etc.).
      • If the LDAP connection fails or there is no search result, the user information will be set to an empty string value.
      • Do not use id/pw for LDAP connection.
      • This applies to cases where the LDAP connection is possible without entering id/pw.
      • Use SSL/TLS to enhance security when connecting to LDAP.
      • Do not perform DNS lookup for the LDAP server.
      • In other words, use the LDAP_SERVER value directly as the LDAP address.
      • The adapter directly verifies the MFA result, using the LDAP server. Therefore, the LDAP server address value is required.
      • The above settings mean that the adapter stores the created nonce in the “otherPager” attribute of the user information in the LDAP server and retrieves it for comparison when MFA is completed.

      Example 3

      USE_LDAP_SEARCH=1
      LDAP_SERVER="LDAP://adpw5004.hw.dev"
      LDAP_USE_IDPW=0
      LDAP_DNS_LOOKUP=0
      MFA_VERIFY_TYPE=2
      MFA_VERIFY_URL="https://stg1-cloud.iam.samsung.net/test/common-api/open/v1.1/mfa/request/status"
      MFA_VERIFY_SECURE_PROTOCOL="TLS12"
      
      • Use LDAP search.
      • Retrieve user information from LDAP (e.g., mobile, email, etc.).
      • If the LDAP connection fails or there is no search result, the user information will be set to an empty string value.
      • Do not use id/pw for LDAP connection.
      • This applies to cases where you can connect to LDAP without entering id/pw.
      • DNS lookup for the LDAP server is not performed.
      • In other words, the LDAP_SERVER value is used directly as the LDAP address.
      • The API server verifies the MFA result, and the security protocol uses TLS 1.2.
      • Extract the “req” value included in the MFA result response token received from the API server, and append it to the end of the result verification URL.
      • → MFA_VERIFY_URL + “/” + req
      • → For example, when req is “xxxxxx”,
      • https://stg1-cloud.iam.samsung.net/test/common-api/open/v1.1/mfa/request/status/xxxxxx

      Example 4

      USE_LDAP_SEARCH=1
      LDAP_SERVER="LDAP://adpw5004.hw.dev"
      LDAP_USE_IDPW=1
      LDAP_SSLTLS=1
      LDAP_ID="******"
      LDAP_PW="******"
      LDAP_DNS_LOOKUP=1
      LDAP_DNS_IF_FAIL_USE_NEXT=0
      MFA_VERIFY_TYPE=1
      CACHE_ATTRIBUTE="otherPager"
      CACHE_DELIMETER=";"
      
      • Use LDAP search.
      • Retrieve user information from LDAP (e.g., mobile, email, etc.).
      • If the LDAP connection fails or there is no search result, the user information is set to an empty string value.
      • Use id/pw for LDAP connection.
      • This account must have write permission.
      • Use SSL/TLS for LDAP connection to enhance security.
      • Use DNS lookup for the LDAP server.
      • DNS Lookup results are directly inserted into the LDAP address table.
      • If DNS Lookup fails, only one LDAP_SERVER value is recorded in the LDAP address table.
      • Only the first one in the LDAP address table is attempted to connect.
      • Even if it fails, it does not attempt to connect to the next server in sequence.
      • The adapter directly performs MFA result verification, using the LDAP server. Therefore, the LDAP server address value must exist.
      • The above settings mean that the adapter stores the created nonce in the “otherPager” attribute of the user information in the LDAP server and compares it when MFA is completed.

      Example 5

      USE_LDAP_SEARCH=1
      LDAP_SERVER="LDAP://adpw5004.hw.dev"
      LDAP_USE_IDPW=1
      LDAP_SSLTLS=1
      LDAP_ID="******"
      LDAP_PW="******"
      LDAP_DNS_LOOKUP=1
      LDAP_DNS_IF_FAIL_USE_NEXT=0
      LDAP_WHITE_IP_01=""
      LDAP_WHITE_IP_02=""
      MFA_VERIFY_TYPE=1
      CACHE_ATTRIBUTE="otherPager"
      CACHE_DELIMETER=";"
      
      • This is the same setting as Example 4.
      • Although LDAP_WHITE_IP_## exists, it has an empty value, which means it is the same as not existing.

      Example 6

      USE_LDAP_SEARCH=1
      LDAP_SERVER="LDAP://adpw5004.hw.dev"
      LDAP_USE_IDPW=1
      LDAP_SSLTLS=1
      LDAP_ID="******"
      LDAP_PW="******"
      LDAP_DNS_LOOKUP=1
      LDAP_DNS_IF_FAIL_USE_NEXT=1
      LDAP_WHITE_IP_01="70.2.180.218"
      LDAP_WHITE_IP_02="fe80::644b:3c9f:c5ac:ce1c%10"
      MFA_VERIFY_TYPE=2
      MFA_VERIFY_URL="https://stg1-cloud.iam.samsung.net/test/common-api/open/v1.1/mfa/request/status"
      MFA_VERIFY_SECURE_PROTOCOL="TLS12"
      
      • LDAP search is used.
      • User information is retrieved from LDAP (e.g., mobile, email, etc.).
      • If the LDAP connection fails or there are no search results, the user information is set to an empty string value.
      • ID/PW is used for LDAP connection.
      • This account must have write permissions.
      • SSL/TLS is used to enhance security when connecting to the LDAP server.
      • DNS Lookup is used for the LDAP server.
      • The DNS Lookup result is compared to the White IP list, and the LDAP address table is created in the order of the White IP list.
      • If the DNS Lookup is successful but the IP is not in the White IP list, only one LDAP_SERVER value is recorded in the LDAP address table.
      • If the DNS Lookup fails, only one LDAP_SERVER value is recorded in the LDAP address table.
      • The LDAP address table is attempted to connect in order from the beginning, and if it fails, it attempts to connect to the next server in sequence.
      • The API server verifies the MFA result, and the security protocol uses TLS 1.2.
      • The “req” value included in the MFA result response token received from the API server is extracted and appended to the end of the result verification URL.
      • → MFA_VERIFY_URL + “/” + req
      • → For example, if the req is “xxxxxx”, https://stg1-cloud.iam.samsung.net/test/common-api/open/v1.1/mfa/request/status/xxxxxx

      ADFS Adapter Management

      Service Verification

      Configuration Verification

      • AD FS Management > Service > Authentication Method > Multi-factor Authentication Method > ADFS MFA Adapter setting verification
      Configuration Verification
      Configuration Verification
      Test SP
      Test SP

      Server Event Log

      The log of the adapter execution process is recorded in the Windows event log area.

      By adjusting the LOG_LEVEL value in the ADFSadapter.ini setting, you can selectively record error, warning, and general logs.

      LOG_LEVEL Setting in ADFSadapter.ini

      Value SettingRecorded Log
      LOG_LEVEL=0Error recording
      LOG_LEVEL=1Error, warning recording
      LOG_LEVEL=2Error, warning, general message all recording

      Windows Event Log Location

      • Computer Management (Local) > System Tools > Event Viewer > Application and Service Logs > MFA_Adapter
      • At the beginning of each account log, the MFA version and account name are displayed → Refer to log analysis/tracing
      • During operation, focus on monitoring the parts displayed as “Error” or “Warning”
        Event Viewer

      Windows Event Log Description and Handling Method

      [#0000] Success
      Err.Success
      This is not an error, but a simple log.
      It's an unnecessary log, and if you see this log, you can ask the developer to delete it.
      
      [#0001] Invalid Arguments
      Err.InvalidArguments
      Error: This means that an argument is missing when calling a function within the adapter program.
      Action: This is a serious error, and it should be immediately reported to the developer for prompt action.
      Note
      Although the adapter may work without any symptoms, it has the potential for serious errors, so it should not be neglected.
      
      [#1000] Cannot extract account information from identityClaim
      Err.IdentityClaimHasNoAccount
      Error: When the adapter is executed initially, it receives the current user's information from the AD server, but cannot find the account information.
      Action: Check the status of the AD server.
      Note
      This is not an LDAP query, but an internally processed information flow within ADFS. If this situation occurs, it means that the adapter is in an environment where it cannot function normally.
      
      [#1001] Cannot load INI file
      Err.FailToLoadIni
      Error: The server cannot read the MFA environment configuration INI file.
      Action: Check if the file exists in the following path on the server
      C:\ ADFSadapter \ ADFSadapter.ini
      Note
      If the file exists, check the file properties or permissions.
      
      [#1002] HTML files cannot be loaded.
      Err.FailToLoadHtml
      Error: The server cannot read the HTML file.
      Action: Check if the file exists in the following path on the server.
      C:\ ADFSadapter \ Html_*.txt
      Note
      If the file exists, check the file properties or permissions. If any of them are missing, an error will occur. You can find out what is missing in the server event log.
      
      [#1003] Cannot retrieve user information from LDAP.
      Err.FailToLdapSearch
      Error: The LDAP server was queried, but the AD user information could not be retrieved.
      Action: Check the status of the AD server.
      Note
      The token configuration requires mobile and email information, but this information failed to be retrieved. If user information exists, even if mobile and email are empty, it will not be treated as an error. Therefore, this error means that the LDAP query itself failed.
      
      [#1004] The BeginAuthentication function's request does not contain URL information.
      Err.NoURLInRequest
      Error: The BeginAuthentication function's argument request does not contain URL information when the adapter is first executed.
      Action: Check if the SingleID MFA API server is sending a normal response.
      Note
      If there is no URL information, the response sent by the SingleID MFA API server in GET mode cannot be used.
      
      [#1005] Cannot create a JWT token.
      Err.FailToMakeJwtToken
      Error: The GenerateRequestToken function failed to create a token.
      Action: The exact cause can be found in the server event log, and the developer should be asked to analyze the cause.
      [#1006] ADFS adapter directory or INI file not found. The [drive]:/ADFSadapter/ADFSadapter.ini file must exist on one of the drives from C to Z.
      Err.CannotFindDirOrIni
      Error: From adapter version 1.2.0.6, the adapter installation location is not fixed to the C drive, but can be installed on any drive from C to Z, and the adapter scans the drives to determine the installation location. The [drive]:/ADFSadapter/ADFSadapter.ini file must exist.
      Action: Check if the adapter is installed correctly on the server, if the directory name and file name are correct, and if drive access is blocked.
      
      [#2000] No account information in TryEndAuthentication().
      Err.TryEndHasNoAccount
      Error: The authentication process has moved to the TryEndAuthentication stage, but account information is unknown. (Adapter internal error)
      Action: Immediately report the situation to the developer and request cause analysis.
      Note: This case should never occur and should not occur.
      
      [#2001] No step information.
      Err.NoStepInfo
      Error: There is no information about the MFA progress stage (step). (Adapter internal error)
      Action: Immediately report the situation to the developer and request cause analysis.
      Note: This case should never occur and should not occur.
      
      [#2002] Invalid step information.
      Err.InvalidStepInfo
      Error: The MFA progress stage (step) information is incorrect. (Adapter internal error)
      Action: Immediately report the situation to the developer and request cause analysis.
      Note: This case should never occur and should not occur.
      
      [#3000] Retrieves the HTML string.
      Err.SucceedInGetHtml
      This is not an error, but a simple log. It displays the contents of the Html_.txt file read from the server. It helps to check if the adapter reads the file contents correctly after modifying the Html_.txt file contents.
      [#3001] Unable to retrieve HTML.
      Err.FailToGetHtml
      Error: The server is unable to read the Html_*.txt file.
      Action: Check if the file exists, has read permission, or is locked.
      
      [#4000] HTML file not found.
      Err.HtmlFileNotFound
      Error: The server is unable to read the Html_*.txt file.
      Action: Check if the file exists.
      
      [#4001] HTML file exists but is empty.
      Err.HtmlFileIsEmpty
      Error: The server is unable to read the Html_*.txt file.
      Action: Check if the file has read permission or is locked.
      
      [#4002] Step not found in HtmlPrefix list.
      Err.StepNotInHtmlPrefixList
      Error: The adapter has a predefined keyword list for each processing step, and a keyword not in the list was found.
      Action: Immediately report the situation to the developer and request cause analysis.
      Note: This case should never occur and should not occur.
      
      [#4003] Empty prefix value in HtmlPrefix list.
      Err.EmptyPrefixInHtmlPrefixList
      Error: The adapter has a predefined keyword list for each processing step, and the list is empty.
      Action: Immediately report the situation to the developer and request cause analysis.
      Note: This case should never occur and should not occur.
      [#5000] Unable to read the ini file.
      Err.FailToReadIniFile
      Error: Unable to read the INI file.
      Action: Check if the file exists at the following path on the server:
      C:\ ADFSadapter \ ADFSadapter.ini
      Note:
      If the file exists, check the file properties or permissions.
      
      [#5001] System name (API_SYSTEMNAME) is not in the ini file.
      Err.NoSystemNameInIni
      Error: The "API_SYSTEMNAME" setting value is not in the INI file.
      Action: Check if anything is missing in the INI file, or if the INI file is an old version.
      
      [#5002] Claim1 (MAIN_CLAIM1) is not in the ini file.
      Err.NoClaim1InIni
      Error: The "MAIN_CLAIM1" setting value is not in the INI file.
      Action: Check if anything is missing in the INI file, or if the INI file is an old version.
      
      [#5003] Claim2 (MAIN_CLAIM2) is not in the ini file.
      Err.NoClaim2InIni
      Error: The "MAIN_CLAIM2" setting value is not in the INI file.
      Action: Check if anything is missing in the INI file, or if the INI file is an old version.
      
      [#5004] The ini file does not exist.
      Err.IniFileNotFound
      Error: Unable to find the MFA environment configuration INI file on the server.
      Action: Check if the file exists at the following path on the server:
      C:\ ADFSadapter \ ADFSadapter.ini
      
      [#5005] Failed to add to the ini list using AddToList().
      Err.FailToAddIniList
      Error: This is an internal adapter error.
      Action: Immediately report the situation to the developer and request cause analysis.
      Note
      This case should never occur and should not occur.
      
      [#5006] No key or value was read from the ini file.
      Err.NoKeyValueInIni
      Error: The INI file was read, but no key-value combination was set.
      Action: Check the contents of the INI file.
      
      [#5007] LDAP server information is not in the ini file. (LDAP_SERVER)
      Err.NoLdapServerValueInIni
      Error: There is no "LDAP_SERVER" setting value in the INI file.
      Action: Check if anything is missing in the INI file, or if the INI file is an old version.
      
      [#5008] MFA API URL is not in the ini file. (MFA_API_URL)
      Err.NoMfaApiUrlValueInIni
      Error: There is no "MFA_API_URL" setting value in the INI file.
      Action: Check if anything is missing in the INI file, or if the INI file is an old version.
      
      [#5009] Consumer Key value is not in the ini file. (CONSUMER_KEY)
      Err.NoConsumerKeyValueInIni
      Error: There is no "CONSUMER_KEY" setting value in the INI file.
      Action: Check if anything is missing in the INI file, or if the INI file is an old version.
      
      [#5010] Secret Key value is not in the ini file. (SECRET_KEY)
      Err.NoSecretKeyValueInIni
      Error: There is no "SECRET_KEY" setting value in the INI file.
      Action: Check if anything is missing in the INI file, or if the INI file is an old version.
      [#5011] Cache Attribute value is not in the ini file. (CACHE_ATTRIBUTE)
      Err.NoCacheAttributeValueInIni
      Error: There is no "CACHE_ATTRIBUTE" setting value in the INI file.
      Action: Check if there are any missing values in the INI file, or if the INI file is an old version.
      
      [#5012] Cache Delimeter value is not in the ini file. (CACHE_DELIMETER)
      Err.NoCacheDelimeterValueInIni
      Error: There is no "CACHE_DELIMETER" setting value in the INI file.
      Action: Check if there are any missing values in the INI file, or if the INI file is an old version.
      
      [#5013] Skew Seconds value is not in the ini file. (SKEW_SECONDS)
      Err.NoSkewSecondsValueInIni
      Error: There is no "SKEW_SECONDS" setting value in the INI file.
      Action: Check if there are any missing values in the INI file, or if the INI file is an old version.
      
      [#5014] Token expiration time value is not in the ini file. (TOKEN_EXP_TIME)
      Err.NoTokenExpTimeInIni
      Error: There is no "TOKEN_EXP_TIME" setting value in the INI file.
      Action: Check if there are any missing values in the INI file, or if the INI file is an old version.
      
      [#5015] Cache life time value is not in the ini file. (CACHE_LIFE_TIME)
      Err.NoCacheLifeTimeInIni
      Error: There is no "CACHE_LIFE_TIME" setting value in the INI file.
      Action: Check if there are any missing values in the INI file, or if the INI file is an old version.
      
      [#5016] User information claim list is not in the ini file. (USERINFO_##)
      Err.NoUserinfoListInIni
      Reserved (This error code is reserved and will be used in the future.)
      [#5017] LDAP connection is set to use id/pw (LDAP_USE_IDPW=1), but LDAP id or pw is not in the ini file (LDAP_ID, LDAP_PW)
      Err.NoLdapIdPwInIni
      Error: LDAP connection is set to use id/pw, but LDAP_ID and LDAP_PW settings are not found in the INI file.
      Action: Check if there are any missing settings in the INI file and if the INI file is an old version.
      
      [#6000] An exception occurred while searching for user information in AD (LDAP).
      Err.ExceptionInAD
      Error: An exception occurred while querying the LDAP server.
      Action: Check if the AD server address set in the INI file is correct and check the status of the AD server.
      Reference: Provide the detailed exception content in the event log to the developer.
      
      [#6001] Unable to find user information in AD (LDAP).
      Err.CannotFindUserInAD
      Error: Unable to retrieve AD user information from the LDAP server.
      Action: Check the status of the AD server.
      Reference: The token configuration requires mobile and email information, but failed to retrieve this information. If user information exists, empty mobile and email values are not treated as errors. Therefore, this error occurs when the LDAP query itself fails.
      

      User Error Message

      If an error occurs during the MFA process, an error message is displayed on the user’s PC screen. The error message is fixed as “Internal error occurred. Contact administrator.” and the error code is displayed on the next line.

      Internal error occurred. Contact administrator.
      ErrorCode : 0001
      

      Below is an explanation of the error code, its cause, and the measures to take. ※ Refer to the event log of the server’s internal processing procedure, excluding user error messages

      ErrorCode : 0001
      * Err.IdentityClaimHasNoAccount
      * The function call arguments were incorrect
      * This error is not shown to the user
      + → If it appears, contact the developer
      + → Check the server event log at this point
      
      ErrorCode : 1000
      * Err.IdentityClaimHasNoAccount
      * "Cannot extract account information from identityClaim."
      * At the initial execution of the adapter, it receives the current user's information from the AD server, but cannot find account information
      * Since it's an internally processed information flow within ADFS, rather than querying LDAP,
      + If this situation occurs, consider the adapter unable to function normally
      * Check the AD server status first
      
      ErrorCode : 1001
      * Err.FailToLoadIni
      * The server cannot read the MFA environment configuration INI file
      * Check if the file exists at the following path on the server
      + C:\ ADFSadapter \ ADFSadapter.ini
      * If the file exists, check its properties or permissions
      
      ErrorCode : 1002
      * Err.FailToLoadHtml
      * The server cannot read the HTML file
      * Check if the file exists at the following path on the server
      + C:\ ADFSadapter \ Html_*.txt
      * If the file exists, check the file properties or permissions
      * If one or more are missing, an error occurs → You can find out what is missing in the server event log
      
      ErrorCode : 1003
      * Err.FailToLdapSearch
      * "Failed to retrieve user information from LDAP."
      * The LDAP server was queried, but failed to retrieve AD user information
      * The token configuration requires mobile and email information, but failed to retrieve this information
      * Even if mobile and email are empty values, they are not processed as errors
      * So, this error occurred because the LDAP query itself failed
      
      ErrorCode : 1004
      * Err.NoURLInRequest
      * "There is no URL information in the request of the BeginAuthentication function."
      * The request argument of the BeginAuthentication function, which runs at the initial execution of the adapter, has no URL information
      * Without URL information, the response sent by the SingleID MFA API server in GET method cannot be used
      * You need to check if the SingleID MFA API server is sending the response normally
      
      ErrorCode : 1005
      * Err.FailToMakeJwtToken
      * "Failed to create a JWT token."
      * The GenerateRequestToken function failed to create a token
      * The exact cause can be found in the server event log
      
      ErrorCode : 1006
      * Err.CannotFindDirOrIni
      * "Failed to create a JWT token."
      * The ADFSadapter directory or INI file cannot be found
      * From adapter version 1.2.0.6, the adapter installation location can be installed in any drive from C to Z, not just the C drive, and
      + Adapter scans C to Z drives to find the installed location
      * [drive]:/ADFSadapter/ADFSadapter.ini file must exist
      * Check if the adapter is installed correctly on the server and if the directory name and file name are correct
      * Check if drive access is blocked
      
      ErrorCode : 2000
      * Err.TryEndHasNoAccount
      * "No account information in TryEndAuthentication()"
      * Moved to the TryEndAuthentication step, but account information is unknown
      * This case should never occur (if it occurs, contact the developer)
      
      ErrorCode : 2001
      * Err.NoStepInfo
      * No MFA step information
      * Check the server's event log for detailed information and cause
      
      ErrorCode : 2002
      * Err.InvalidStepInfo
      * MFA step information is incorrect
      * Check the server's event log for detailed information and cause
      

      ADFS Login Page Modification

      Editing onload.js

      Background

      If multiple MFAs are set, the user will see a selection screen like the one below. In the initial screen display (MFA not yet completed), a selection is required on this screen.

      ADFS Login Page Modification
      The problem is that after completing the MFA, the selection screen is displayed again, and the user has to perform the selection action again. This can cause user inconvenience, and if a different MFA is selected the second time, it may lead to unintended results.

      After completing the MFA, the above selection screen should be automatically submitted when it appears. To achieve this, the existing onload.js file in ADFS needs to be edited. If it’s not a multi-MFA case, editing the onload.js file is not necessary.

      File Path

      The file exists in the following directory on the AD server:

      • Directory = C:/default_WebTheme/script
      • File name = onload.js

      File Editing

      Add the following script to the end of the file contents:

      Note
      Do not use copy and paste with the example Script Text below, as multilingual messages may not be input correctly. Prepare a separate file with the correct Script Text. The onload.js file must be saved in UTF-8 format.
      // ------------------------------------------ SingleID MFA : begin
      function singleidMfa() {
          var authOptions = document.getElementById('authOptions')
          if (authOptions) {
              var noticeflag = document.getElementById('mfaGreeting');
              var url = document.location.href;
              var isToken = url.indexOf('jwtTokenResponse');
              if (noticeflag && isToken < 1) {
                  var browserLang = navigator.language || navigator.userLanguage;
                  // 다국어 처리
                  // 한국어
                  if (lang == 'ko-KR' || lang == 'ko') {
                      document.getElementById('footerPlaceholder').innerHTML="<h3 style='font-weight: bold;'><br/> <br/> ※ 신규 복합인증솔루션 테스트 중 (13:00~15:00) <br/> &nbsp;&nbsp;&nbsp;'My Authentication Provider' 메뉴를 이용해주세요. </h3>";
                  }
                  // 중국어
                  else if (lang == "zh" || lang.indexOf("zh-") > -1) {
                      document.getElementById('footerPlaceholder').innerHTML="<h3 style='font-weight: bold;'><br/> <br/> ※ 正在??新的?合??解?方案 (13:00~15:00) <br/> &nbsp;&nbsp;&nbsp; ?登? 'My Authentication Provider' 菜?。 </h3>";
                  }
                  // 베트남어
                  else if (lang == "vi") {
                      document.getElementById('footerPlaceholder').innerHTML="<h3 style='font-weight: bold;'><br/> <br/> ※ đang ki?m tra gi?i phap xac th?c k?t h?p m?i (13:00~15:00) <br/> &nbsp;&nbsp;&nbsp; Xin vui long đ?ng nh?p vao trinh đ?n 'My Authentication Provider'. </h3>";
                  }
                  // 스페인어
                  else if (lang == "es" || lang.indexOf("es-") > -1) {
                      document.getElementById('footerPlaceholder').innerHTML="<h3 style='font-weight: bold;'><br/> <br/> ※ Prueba de una nueva solucion de autenticacion compleja (13:00~15:00) <br/> &nbsp;&nbsp;&nbsp; Inicie sesion en el menu 'My Authentication Provider'. </h3>";
                  }
                  // 영어
                  else {
                      document.getElementById('footerPlaceholder').innerHTML="<h3 style='font-weight: bold;'><br/> <br/> ※ Testing a new MFA solution (13:00~15:00) <br/> &nbsp;&nbsp;&nbsp; Please use 'My Authentication Provider' menu. </h3>";
                  }
              }
              var opt = document.getElementById('optionSelection');
              if (opt && isToken > 0) {
                  opt.value = 'ADFSadapter';
                  document.forms['options'].submit();
              }
          }
      }
      window.addEventListener('load', function () {
          singleidMfa();
      });
      // ------------------------------------------ SingleID MFA : end
      

      Script Function

      • This applies to the case where authOptions exist among the page controls.
      • It operates after the page load is completely finished (because an error occurs if it runs before that).
      • It uses window.addEventListener to add to the load event (same as the window.onload event).
      • Case 1: If mfaGreeting exists among the controls and jwtTokenResponse does not exist in the URL, it displays a user guide message according to the browser language setting (multilingual).
      • Case 2: If optionSelection exists among the controls and jwtTokenResponse exists in the URL, it assigns ADFSadapter to optionSelection and forcibly submits the options form.

      Precautions when Adding Scripts

      • To manage without affecting existing scripts and for ease of management, it is safe to put the script at the end.

      Applying onload.js

      The ADFS Sign-in Page customization is possible by modifying and reflecting the onload.js file.

      Note
      The command contains a potentially malicious script command, so please note that the command you need to enter is different from the displayed command. -ON-LOADScriptPath is actually the following command, so please be aware of it to avoid confusion.

      Application Method

      Current Status Check

      PS> Get-AdfsWebConfig ## Check the applied (activated) WebTheme PS> Get-AdfsWebTheme ## Check the list of created WebThemes

      Theme Application

      Theme Application Method 1) Create a new theme from the default theme

      PS> New-AdfsWebTheme -Name "custom_stg" -SourceName default  ## Create a new WebTheme
      PS> Set-AdfsWebTheme -TargetName "custom_stg" -Illustration @{Path="C:\adfs_Login_dev\illustration\image_0624\8.jpg"} -Logo @{Path="C:\adfs_Login_dev\images\logo.png"} -StyleSheet @{Path="C:\adfs_Login_dev\css\style.css"} -ON-LOADScriptPath "C:\adfs_Login_dev\script\ON-LOAD_new.js"  ## Apply a custom js file
      

      Theme Application Method 2) Update from an existing theme

      PS> New-AdfsWebTheme -Name "custom_stg" -SourceName [existing theme]  ## Create a new WebTheme
      PS > Set-AdfsWebTheme -TargetName "custom_stg" -OnLoadScriptPath "C:\adfs_Login_dev\script\onload_stg.js"  ## Apply a custom js file
      
      Onload.js
      Figure. Theme Application

      ※ Server command capture for theme application methods 1) and 2). The OnLoad command is automatically changed when organizing Confluence, so a capture is attached

      PS> Set-AdfsWebConfig -ActiveThemeName "custom_stg"  ## Activate the created WebTheme
      

      Recovery of Existing Theme

      PS> Set-AdfsWebConfig -ActiveThemeName "default" ## Activate existing WebTheme
      
      Note

      Only one custom js file can be applied to a single WebTheme We also inquired with MS, but officially, only one onload.js file can be applied, and the additional methods they provided do not work

      “the ON-LOAD.js is an integrated part of the HTML (the last script in the body) which always executes when the ADFS Page is loaded
      There can be only one named ON-LOAD.JS per Web theme.
       
      What is possible though is that additional ('external') scripts can be loaded as part of the actual ON-LOAD.js execution
      
      let’s say in a specific part of your ON-LOAD.JS you want to load a bootstap.js which implements additional functionality
      you would firstly import that additional JS to the webpage as AdditionalFileResource //it should not be named ON-LOAD.js
      
      eg
      Set-AdfsWebTheme -TargetName custom -AdditionalFileResource @{Uri='/adfs/portal/script/bootstrap.js';path="c:\theme\script\bootstrap.js"}
      
      then you implement a loading functionality in the ON-LOAD.js which dynamically loads your additional script as needed”
      

      Reference documents
      http://www.javascriptkit.com/javatutors/loadjavascriptcss.shtml
      https://www.codeproject.com/Articles/5310336/Dynamically-Loading-a-JavaScript-File


      In other words, as stated in the official documentation, only one ON-LOAD.JS file can be applied to a single ADFS theme page. However, it is possible to apply an additional file named bootstap.js as AdditionalFileResource to the same page.
      Note

      WebTheme settings allow additional options

      • Options can be used to apply illustrations, logos, stylesheets, etc.
      PS> Set-AdfsWebTheme -TargetName "custom_stg" -Illustration @{Path="C:\adfs_Login_dev\illustration\image_0624\8.jpg"} -Logo @{Path="C:\adfs_Login_dev\images\logo.png"}
             -StyleSheet @{Path="C:\adfs_Login_dev\css\style.css"} -OnLoadScriptPath "C:\adfs_Login_dev\script\onload_stg.js" 
      

      Reference document
      https://learn.microsoft.com/en-us/powershell/module/adfs/set-adfswebtheme?view=windowsserver2022-ps

      Changing the Adapter display name

      When applying multiple Adapters for user selection, the Adapter’s display name can be set to show to the user (browser). By default, the name used when registering the Adapter is displayed.

      1. Before application
        • The name used when registering the Adapter is displayed to the user (browser)
      2. After application
        • The Adapter’s display name is shown to the user (browser)
        • Display names can be set differently for each language
      Guide

      Three languages (Korean, English, Global) are applied during testing

      1. The Adapter’s display name changes according to the browser’s language settings (chrome://settings/languages, edge://settings/languages)
      2. English (US), English (UK), and other languages starting with ’en-’ are all applied as English settings. If a language other than Korean or English is selected, the global setting is applied
      3. Setup method
      • ADFS adapter (new adapter name) display name setting
      • Set to 3 locales: ko (Korean), en (English), and unset (global)
      Set-AdfsAuthenticationProviderWebContent -Name "ADFSadapter" -Locale ko -DisplayName "New ADFS Plugin (ko)" -Description "New ADFS Plugin Description (ko)"
      Set-AdfsAuthenticationProviderWebContent -Name "ADFSadapter" -locale en -DisplayName "New ADFS Plugin (en)" -Description "New ADFS Plugin Description (en)"
      Set-AdfsAuthenticationProviderWebContent -Name "ADFSadapter" -DisplayName "New ADFS Plugin (global)" -Description "New ADFS Plugin Description (global)"
      
      • MyAuthenticationProvider (existing adapter name) display name setting
      • Set to 3 locales: ko (Korean), en (English), and unset (global)
      Set-AdfsAuthenticationProviderWebContent -Name "MyAuthenticationProvider" -locale "ko" -DisplayName "Existing ADFS Plugin (ko)" -Description "Existing ADFS Plugin Description (ko)"
      Set-AdfsAuthenticationProviderWebContent -Name "MyAuthenticationProvider" -locale "en" -DisplayName "ADFS Plugin (en)" -Description "ADFS Plugin Description (en)"
      Set-AdfsAuthenticationProviderWebContent -Name "MyAuthenticationProvider"  -DisplayName "ADFS Plugin (global)" -Description "ADFS Plugin Description (global)"
      

      Locale ID reference: [MS-OE376] (separate inquiry)

      ADFS Adapter Related Tips

      Adapter Registration and Operation Order Summary

      • Adapter DLL → GAC area registration → ADFS registration → ADFS management multi-factor authentication method check → AD authentication MFA requirement adapter operation

      Tools required for adapter management (gacutil.exe)

      • Tool for registering/deleting adapter DLL in AD FS server’s GAC area
      Reference

      What is GAC?

      Global Assembly Cache abbreviation, a special cache for sharing .NET Assembly across the machine. GAC is located in the Windows directory under the assembly directory.

      • The Assembly installed in the GAC must be a Strongly-named assembly
      • The DLL must include the name, Version, Culture, and public key
      • When the DLL is installed in the GAC, it takes priority at runtime
      • Multiple versions of the same DLL can coexist even with the same name

      Registering/Unregistering Adapter in GAC (using gacutil.exe)

      Typically used in cmd, but used in PowerShell for convenience (must be used in the form .\gacutil.exe)

      • Register in GAC
      PS C:\ADFSadapter> .\gacutil.exe  /if  ADFSadapter.dll
      
      • Unregister from GAC → The file C:\ADFSadapter\ADFSadapter.dll is not deleted
      PS C:\ADFSadapter> .\gacutil.exe  /u  ADFSadapter
      
      • Check if registered in GAC
      PS C:\ADFSadapter> .\gacutil.exe  /l  ADFSadapter
      
      • DLL replacement order in GAC
        1. Delete using gacutil.exe /u
        2. Replace the file C:\ADFSadapter\ADFSadapter.dll
        3. Register using gacutil.exe /if

      Registering/Unregistering GAC Assembly in ADFS (PowerShell command)

      • Register in ADFS First, check the Version, Culture, and public key information using the gacutil.exe /l option
      PS C:\ADFSadapter> .\gacutil.exe /l ADFSadapter
      ADFS adapter, Version=1.0.0.0, Culture=neutral, PublicKeyToken=3b3a799d949dc414, processorArchitecture=MSIL
                Use the result string to construct TypeName and register it with AD FS
                 (The first part of TypeName is fixed as ADFSadapter.AuthenticationAdapter)
      
      PS C:\ADFSadapter> $typename = "ADFSadapter.AuthenticationAdapter, ADFSadapter, Version=1.0.0.0, Culture=neutral, PublicKeyToken=3b3a799d949dc414, processorArchitecture=MSIL"
      PS C:\ADFSadapter> Register-AdfsAuthenticationProvider -TypeName $typename -Name "ADFSadapter" -Verbose
      
      • Delete from ADFS
      PS C:\ADFSadapter> Unregister-AdfsAuthenticationProvider -Name "ADFSadapter"
      
      • Check if registered with ADFS
      PS C:\ADFSadapter> Get-AdfsAuthenticationProvider
      
      • ADFS Adapter replacement order

        1. Disable multi-factor authentication method in ADFS management
        2. Unregister-AdfsAuthenticationProvider
        3. Restart ADFS service
        4. Replace DLL in GAC
        5. Register-AdfsAuthenticationProvider
        6. Restart ADFS service
        7. Configure multi-factor authentication method in ADFS management

        The above steps 1) to 7) can be automated using the replace_dll.ps1 script file

      If MFA function does not work properly

      • AD account/password authentication not available
        → This occurs before the MFA step, so it is not related to the Adapter

      • Adapter registration status check
        → Check if ADFS MFA Adapter is displayed when running the Get-AdfsAuthenticationProvider command

      • AD FS setting check
        → Check if ADFS MFA Adapter is specified in Service > Authentication Method > Multi-factor Authentication Method
        → Check if Service > Device Registration is set
        → Check if Access Control Policy is set to require MFA

      • Adapter execution log check
        → Log location: Computer Management > System Tools > Event Viewer > Application and Service Logs > MFA_Adapter
        → Check if there are any logs marked as Error
        → If there are errors, send the log content to the developer for analysis

      5.2.1.6.2 - Adapter Setup Guide

      Adapter Setup Guide

      This is a description of the Adapter environment setup file. You must configure the environment before applying the ADFS Adapter.

      Notice

      Adapter Installation Location Change

      From adapter 1.2.0.6, installation is possible on drives other than the C drive.

      • Existing : Only installed on C:/ADFSadapter

      • Change : Installed on the root of drives C to Z

      • Example: C:/ADFSadapter , D:/ADFSadapter , E:/ADFSadapter , …… , Z:/ADFSadapter

      • Precautions : It can only be installed on one drive, and if it is installed on multiple drives, the first discovered directory is used while scanning from C to Z

      The following example is for the case where the adapter is installed in the C:\ADFSadapter directory.
      If installed on a drive other than C, only the drive name (drive letter) in the example below needs to be changed.

      • Example: If installed in D:\ADFSadapter, the ini path → D:\ADFSadapter\ADFSadapter.ini

      File Name and Path

      • File Name: ADFSadapter.ini
      • Full Path: C:\ADFSadapter\ADFSadapter.ini
      • File Encoding: Must be saved in UTF-8 (Korean characters may be broken if not)

      Things to Keep in Mind

      * When expressing values, " and " can be used, and spaces can be entered on either side of the = sign.
      + Spaces before and after the Value are trimmed.
      + The following Values are all the same
      + Example 1) MAIN_TITLE = DWP MFA Adapter
      + Example 2) MAIN_TITLE = DWP MFA Adapter
      + Example 3) MAIN_TITLE = "DWP MFA Adapter"
      + Example 4) MAIN_TITLE = " DWP MFA Adapter "
      
      * Some section names have -1033, -1042 appended to the end, which means locale.
      + At least 1033 must exist.
      + Locale number: 1033 (en-us), 1042 (ko)
      + Locale section: MFA-1033, MFA-1042, TXT-1033, TXT-1042, MSG-1033, MSG-1042
      

      Ini File Structure Example

      Some values in the example settings below are masked for security purposes, and the actual values are not asterisks

      # ADFS MFA Adapter Environment Settings
      # Installation Location Changes
      #   - Before v1.2.0.6: C:\ADFSadapter\ADFSadapter.ini
      #   - From v1.2.0.6: Can be installed on a drive other than C (same location as adapter resource installation)
      #     Examples: C:\ADFSadapter\ADFSadapter.ini, D:\ADFSadapter\ADFSadapter.ini, E:\ADFSadapter\ADFSadapter.ini
      # Note: The DLL file name is ADFSadapter.dll, which is different from the existing MFAadapter.dll linked to Nexsign
      
      
      # When expressing values, " and ' can be used, and spaces can be entered on either side of =
      # Leading and trailing spaces of the Value are trimmed.
      # The following Values are all the same.
      # Example 1) MAIN_TITLE=ADFS MFA Adapter
      # Example 2) MAIN_TITLE = ADFS MFA Adapter
      # Example 3) MAIN_TITLE = "ADFS MFA Adapter"
      # Example 4) MAIN_TITLE = "   ADFS MFA Adapter   "
      
      
      # Section names with -1033, -1042 at the end represent locale
      # At least 1033 must exist
      # Locale number: 1033 (en-us), 1042 (ko)
      # Locale section: MFA-1033, MFA-1042, TXT-1033, TXT-1042, MSG-1033, MSG-1042
      
      
      # LOG_LEVEL (Windows event log recording criteria)
      # 0: Error
      # 1: Error + Warning
      # 2: Error + Warning + Information + Debug
      

      [MAIN] MAIN_MFA_TITLE=“ADFS MFA Adapter” MAIN_CLAIM1=http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod MAIN_CLAIM2=http://schemas.microsoft.com/ws/2012/12/authmethod/otp

      MFA API Information

      Do not add “/” at the end of the URL

      #MFA_API_URL=“https://stg2-cloud.singleid.samsung.net/test/common-api/open/v1.1/mfa/request" MFA_API_URL=“https://stg1-cloud.singleid.samsung.net/test/common-api/open/v1.1/mfa/request" CONSUMER_KEY=”” SECRET_KEY=""

      Domain vs Consumer Key List

      If the Consumer Key is different for each domain, list it (in this case, leave the CONSUMER_KEY value above blank)

      Insert the sys value of the Request Token

      Format: DOMAIN_CONSUMER_KEY_##=domain;consumerKey

      Example: DOMAIN_CONSUMER_KEY_01=aaa.com;**************************************

      DOMAIN_CONSUMER_KEY_02=bbb.com;**************************************

      (Note) If both CONSUMER_KEY value and list value exist, only the CONSUMER_KEY value is used

      DOMAIN_CONSUMER_KEY_01=aaa.com;************************************** DOMAIN_CONSUMER_KEY_02=bbb.com;**************************************

      Domain vs Secret Key List

      If the Secret Key is different for each domain, list it (in this case, leave the SECRET_KEY value above blank)

      Format: DOMAIN_SECRET_KEY_##=domain;secretKey

      Example: DOMAIN_SECRET_KEY_01=aaa.com;**************************************

      DOMAIN_SECRET_KEY_02=bbb.com;**************************************

      (Note) If both SECRET_KEY value and list value exist, only the SECRET_KEY value is used

      DOMAIN_SECRET_KEY_01=aaa.com;************************************** DOMAIN_SECRET_KEY_02=bbb.com;**************************************

      LDAP Search result-based MFA progress

      0 : Do not perform LDAP Search (do not use the information below, such as LDAP_SERVER, LDAP_USE_IDPW, etc. Insert an empty value into the token)

      1 : Attempt LDAP Search, but failure is irrelevant (proceed with MFA even if server failure or no information occurs. Insert an empty value into the token)

      2 : LDAP Search must be successful and user information must exist (proceed only when user information exists. However, proceed even if the result value is empty)

      USE_LDAP_SEARCH=1

      LDAP address and ID/PW

      LDAP_SERVER can be domain, ipv4, ipv6, etc., and the upper case “LDAP://” must be attached to the front (must be upper case)

      Example: LDAP://adpw5004.hw.dev , LDAP://70.2.180.218 , LDAP://fe80::644b:3c9f:c5ac:ce1c%10

      Set LDAP_USE_IDPW to 1 to use ID/PW, and set LDAP_USE_IDPW to 0 not to use

      Set LDAP_SSLTLS to 1 to use SSL/TLS, and set LDAP_SSLTLS to 0 not to use (only applicable when LDAP_USE_IDPW=1)

      LDAP_SERVER=“LDAP://adpw5004.hw.dev” LDAP_USE_IDPW=1 LDAP_SSLTLS=1 LDAP_ID=“isadmin” LDAP_PW=“sds*****”

      Perform DNS Lookup to check the IP address of the LDAP server (LDAP_SERVER) and connect based on the IP address

      Even if the LDAP_SERVER value is set to IP (ipv4, ipv6), DNS Lookup is performed, and the IP is returned as is

      If DNS Lookup fails, connect using the LDAP_SERVER value as is

      0 : Connect to the server using the LDAP_SERVER value as is (do not perform DNS lookup)

      1 : Connect to the LDAP server using the IP address confirmed by DNS lookup (use the first IP in the DNS lookup result list)

      2 : Confirm the IP address using DNS lookup and use the IP that corresponds to the LDAP_WHITE_IP_## list first (use the LDAP_SERVER if not in the list)

      3 : Confirm the IP address using DNS lookup and use the IP that corresponds to the LDAP_WHITE_IP_## list first (do not connect to the LDAP if not in the list)

      LDAP_DNS_LOOKUP=1

      DNS Lookup result has multiple entries, try to connect to the next IP address if the first one fails

      Example: 4 lookup results: 1st IP connection fails -> try 2nd IP & fail -> try 3rd IP & fail -> try 4th IP

      LDAP_DNS_IF_FAIL_USE_NEXT=1

      List of allowed LDAP server IP addresses to compare with DNS Lookup results (only applicable when LDAP_DNS_LOOKUP = 2 or 3)

      In the format of LDAP_WHITE_IP_##, recorded sequentially from 01 to 99

      Compare DNS Lookup results with the list in sequence

      Record in IPv4 or IPv6 format (if the same server has both IPv4 and IPv6, the one with higher priority in the list is applied)

      If the order of DNS Lookup results and White IP list is different, follow the order of White IP list

      LDAP_WHITE_IP_01=“70.2.180.218” LDAP_WHITE_IP_02=“fe80::644b:3c9f:c5ac:ce1c%10”

      Whether to encrypt user information (e.g., mobile, email, etc.)

      Target: USERINFO_## list

      The name of the claim in the token sent to the API server varies depending on whether encryption is used

      0: Do not encrypt -> claim name in token is plainMobile, plainEmail

      1: Encrypt -> claim name in token is mobile, email

      USERINFO_ENCRYPT=0

      LDAP Search user information attribute name and JWT token claim name (delimiter between two values = “;”)

      Format: USERINFO_## = attribute;encryptedClaim;plainClaim

      Example: If the “mail” attribute is read from LDAP and used as the “email” claim in JWT, then “mail;email;plainEmail”

      Key name is in the format “USERINFO_##” and starts with USERINFO_01

      Number of keys: 0 to a maximum of 99 (if there are no keys, do not write anything in the ini file, and do not write USERINFO_00)

      Note) The number in USERINFO_## should start from 01 and should not be interrupted if there are multiple keys

      USERINFO_01, USERINFO_02, USERINFO_03 : OK (01, 02, 03 information is used)

      USERINFO_01, USERINFO_02, USERINFO_05 : 02 is read and subsequent numbers are not used (01, 02 information is used)

      USERINFO_01=mobile;mobile;plainMobile USERINFO_02=mail;email;plainEmail

      MFA API server callback result parameter key name

      Example: https://adpw5004.hw.dev/adfs/ls?client-request-id=xxxxxx&pullStatus=0&jwtTokenResponse=yyyyyy

      KEY_NAME_IN_RESPONSE=“jwtTokenResponse”

      JWT Token exp additional value

      Format: dhms (day, hour, minute, second) string -> 1d=86400, 1h=3600, 1m=60 (numbers without dhms are considered seconds)

      Example1: 1d02h38m27s -> 95907 seconds

      Example2: 12345 -> 12345 seconds

      TOKEN_EXP_TIME=1d

      Whether to add client claim to the token when calling the API

      client: issuer for SAML, client-id for OIDC

      0: do not include client in token

      1: include client in token

      TOKEN_CLAIM_CLIENT=0

      MFA nonce (guid, request-id) verification method

      0: do not verify

      1: adapter-generated guid is stored and compared in LDAP (adapter verifies)

      -> related settings: CACHE_ATTRIBUTE, CACHE_DELIMETER, SKEW_SECONDS, CACHE_LIFE_TIME

      2: API server-generated request-id is received by the adapter and used in the call URL (API server verifies)

      -> Related setting value: MFA_VERIFY_URL

      MFA_VERIFY_TYPE=2

      MFA verification result URL (server-to-server communication): The URL is called by appending the {request-id} received from the API server to the end

      The adapter checks if the return is 200 (OK) to process the MFA result

      Do not attach a “/” at the end of the URL

      MFA_VERIFY_URL=“https://stg1-cloud.iam.samsung.net/test/common-api/open/v1.1/mfa/request/status"

      Security protocol used for MFA verification

      Available protocols (case-insensitive): TLS12, TLS13

      (Note) Do not use SSL3, TLS, TLS11

      MFA_VERIFY_SECURE_PROTOCOL=“TLS12”

      Name of the LDAP attribute to store the user’s req guid value

      (Note) Write permission to LDAP is required

      CACHE_ATTRIBUTE=“otherPager”

      Delimiter used to combine req and time information when storing in LDAP -> “req;time”

      CACHE_DELIMETER=”;"

      Allowed time difference (in seconds) between the time stored in LDAP and the time the JWT is received

      This is the time after AD login, not when the MFA selection screen is displayed (time is already stored when the MFA selection screen is displayed)

      Therefore, the time should not be set too tightly, and around 1 hour is suitable?? (Is there anyone who takes 1 hour to select MFA?)

      SKEW_SECONDS=3600

      Time to live for req stored in LDAP -> Check time on next access and delete old ones

      Format: String in dhms (day, hour, minute, second) format -> 1d=86400, 1h=3600, 1m=60 (numbers without dhms are considered seconds)

      Example 1: 1d02h38m27s -> 95907 seconds

      Example 2: 12345 -> 12345 seconds

      CACHE_LIFE_TIME=1d

      Whether to bypass Adapter functionality (0=normal use, 283901=disable, other values=normal use)

      For emergency situations where MFA functionality issues require adapter functionality to be disabled

      Do not modify this value under normal circumstances -> Normal value is 0

      Note: To disable, the exact value must be set (not just any non-zero number, exact number required to avoid noise)

      BYPASS_ADAPTER=0

      [API] API_SYSTEMNAME=SingleID

      [MSG-1033] MSG_INTERNAL_ERROR=“Internal error occurred. Contact administrator.”

      [MSG-1042] MSG_INTERNAL_ERROR=“Internal error occurred. Contact administrator.”

      [MANAGE] LOG_LEVEL=2

      # Setting Value Description
      * **Fixed Value** : It means that the value displayed in the **Setting Value** column of the table below is used as is when installing the ADFS server.
      * If you want to add a language other than English and Korean, you can add up to 2 sections.
        * MSG-1033, MSG-1042
      
      
      
      
      
      
      
      
      dss Key Setting Value (Example) Fixed Value Description
      MAIN MAIN_MFA_TITLE ADFS MFA Adapter O HTML page title (no effect on MFA function)
      MAIN_CLAIM1 http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod O Must apply the value on the left as is
      MAIN_CLAIM2 http://schemas.microsoft.com/ws/2012/12/authmethod/otp O Must apply the value on the left as is
      MFA_API_URL https://stg2-cloud.singleid.samsung.net/test/common-api/open/v1.1/mfa/request SingleID MFA API address
      • May vary depending on the tenant, so the exact address value must be confirmed
      CONSUMER_KEY 4312a8b9-75c4-7897-89a7-89347f18943e Consumer Key issued by SingleID
      SECRET_KEY gQgkyLVO6FR8vJkLtlgBiupsRM/ilgrbEfoKWRnhALd= Secret Key issued by SingleID
      • Used for JWT Signature verification
      • Absolutely do not disclose to the outside
      DOMAIN_CONSUMER_KEY_01 4312a8b9-75c4-7897-89a7-89347f18943e Domain vs Consumer Key list
      • If the Consumer Key is different for each domain, list it (in this case, the value of CONSUMER_KEY above should be emptied)
      • Format: DOMAIN_CONSUMER_KEY_##=domain;consumerKey
      • Example:
        DOMAIN_CONSUMER_KEY_01=aaa.com;4312a8b9-75c4-7897-89a7-89347f18943e
        DOMAIN_CONSUMER_KEY_02=bbb.com;96567780-2b12-23da-637c-9375a6502d5a
      • (Note) If both CONSUMER_KEY value and list value exist, only CONSUMER_KEY value is used
      DOMAIN_CONSUMER_KEY_02 96567780-2b12-23da-637c-9375a6502d5a
      DOMAIN_CONSUMER_KEY_## 367c89d5-88f7-978a-9739-8ed21748f36b
      DOMAIN_SECRET_KEY_01 gQgkyLVO6FR8vJkLtlgBiupsRM/ilgrbEfoKWRnhALd= Domain vs Secret Key list
      • If the Secret Key is different for each domain, list it (in this case, the value of SECRET_KEY above should be emptied)
      • Format: DOMAIN_SECRET_KEY_##=domain;secretKey
      • Example:
        DOMAIN_SECRET_KEY_01=aaa.com;gQgkyLVO6FR8vJkLtlgBiupsRM/ilgrbEfoKWRnhALd=
        DOMAIN_SECRET_KEY_02=bbb.com;kgkWRnLygQhsRgrLVbtKlO6FiLdABupEgoMR8v/ilfJ=
      • (Note) If both SECRET_KEY value and list value exist, only SECRET_KEY value is used
      DOMAIN_SECRET_KEY_02 kgkWRnLygQhsRgrLVbtKlO6FiLdABupEgoMR8v/ilfJ=
      DOMAIN_SECRET_KEY_## dABupkRnLygQhsrLgWVRbt8vRgkLilLKlO1FioMgfJE=
      USE_LDAP_SEARCH 0 or 1 or 2 MFA progress based on LDAP Search result
      • 0 : Do not perform LDAP Search (do not use the information below, such as LDAP_SERVER, LDAP_USE_IDPW, etc. and insert an empty value into the token)
      • 1 : Try LDAP Search, but it doesn’t matter if it fails (proceed with MFA even if server failure, no information, etc. occurs, and insert an empty value into the token)
      • 2 : LDAP Search must be successful and user information must exist (proceed only if user information exists, but proceed even if the result value is empty)
      LDAP_SERVER LDAP://adpw5004.hw.dev LDAP address that can query AD user information
      • All three types, domain, ipv4, and ipv6, are possible, and “LDAP://” must be attached to the front
      LDAP_USE_IDPW 0 or 1 Whether to use id/pw when accessing LDAP
      • The adapter operates with system privileges, so it is common to access LDAP without id/pw, but there are cases where it is not
      • If an AD connection error occurs in the event log in a state where id/pw is not used for connection, it is necessary to set it to use id/pw for connection
      • If this value is set to 1, LDAP_ID and LDAP_PW values must be set
      LDAP_SSLTLS 0 or 1 Whether to use SSL/TLS when connecting to LDAP
      • Generally, set to use
      LDAP_ID LDAP connection id LDAP connection id (when LDAP_USE_IDPW=1)
      LDAP_PW LDAP connection pw LDAP connection pw (when LDAP_USE_IDPW=1)
      LDAP_DNS_LOOKUP 0 or 1 or 2 or 3 Whether to perform DNS lookup to check the IP address of the LDAP server (LDAP_SERVER) and connect based on the IP address
      • 0 : Connect to the server with the LDAP_SERVER value as is (do not perform DNS lookup)
      • 1 : Perform DNS lookup to check the IP address and connect to the LDAP server (use the first IP in the DNS lookup result list)
      • 2 : Perform DNS lookup to check the IP address and use the first corresponding IP in the LDAP_WHITE_IP_## list (if not in the list, use LDAP_SERVER)
      • 3 : Perform DNS lookup to check the IP address and use the first corresponding IP in the LDAP_WHITE_IP_## list (if not in the list, do not connect to LDAP)
      | | LDAP_DNS_IF_FAIL_USE_NEXT    | 0 or 1                                 |        | When there are multiple DNS lookup results, whether to try the next IP address if the connection to the first IP address fails<ul><li> Example: 4 lookup results: 1st IP connection failure -> 2nd IP connection attempt & failure -> 3rd IP connection attempt & failure -> 4th IP connection attempt |
      | | LDAP_WHITE_IP_01             | 70.2.180.218                           |        | List of allowed LDAP server IP addresses to compare with DNS lookup results (only applicable when LDAP_DNS_LOOKUP = 2 or 3)</li></ul><ul><li> In the format of LDAP_WHITE_IP_##, recorded sequentially from 01 to 99</li></ul><ul><li> Compared sequentially with DNS lookup results</li></ul><ul><li> Recorded in IPv4 or IPv6 format (if the same server has both IPv4 and IPv6, the IP in the higher priority list is applied)</li></ul><ul><li> If the order of DNS lookup results and White IP list is different, the order of the White IP list is followed </li></ul>|
      | | LDAP_WHITE_IP_02             ||   |fe80::644b:3c9f:c5ac:ce1c%10       |
      | | LDAP_WHITE_IP_##             | |                                       | A.     : 01 ~ 99<br>White IP address (IPv4 or IPv6) |
      | | USERINFO_ENCRYPT            | 0 or 1                                 |        | Whether to encrypt user information (e.g., mobile, email, etc.)<ul><li> Target: USERINFO_## list</li></ul><ul><li> Depending on the encryption, the claim name of the token sent to the API server is different</li></ul><ul><li> 0: Not encrypted -> token's claim name is plainMobile, plainEmail</li></ul><ul><li> 1: Encrypted -> token's claim name is mobile, email </li></ul>|
      | | USERINFO_01                  | mobile;mobile;plainMobile               | O      | LDAP search user information attribute name and JWT token claim name (3 values are separated by ";")<ul><li> Format: USERINFO_## = attribute; encryptedClaim; plainClaim</li></ul><ul><li> Example: If you read the "mail" attribute from LDAP and use the encrypted value as "email" claim and the plain value as "plainEmail" claim in JWT, then "mail;email;plainEmail"</li></ul> |
      | | USERINFO_02                  | mail;email;plainEmail                   | O      | |
      | | USERINFO_##                  |           |                             | A.     : 01 ~ 99<br>[LDAP attribute name];[encrypted token claim name];[plain token claim name]                                                                                                   |
      | | KEY_NAME_IN_RESPONSE         | jwtTokenResponse                       | O      | Key name used in the result parameter when the MFA API server calls back<ul><li> Example: https://adpw5004.hw.dev/adfs/ls?client-request-id=xxxxxx&pullStatus=0&jwtTokenResponse=yyyyyy</li></ul> |
      | | TOKEN_EXP_TIME               | 1d                                     |        | Value to be added to the exp of the JWT token<ul><li> String in the format of day, hour, minute, second (dhms)<br>1d=86400, 1h=3600, 1m=60</li></ul><ul><li> If dhms is not present, it is considered as seconds</li></ul><ul><li> Example 1: 1d02h38m27s -> 95907 seconds<br>Example 2: 12345 -> 12345 seconds</li></ul> |
      | | TOKEN_CLAIM_CLIENT           | 0 or 1                                 |        | Whether to add the client claim to the token when calling the API<ul><li> Client: issuer in SAML, client-id in OIDC</li></ul><ul><li> 0: Do not include client in the token</li></ul><ul><li> 1: Include client in the token</li></ul> |
      | | MFA_VERIFY_TYPE              | 0 or 1 or 2                            |        | MFA nonce (guid, request-id) verification method<ul><li> 0: Do not verify</li></ul><ul><li> 1: Store and compare the guid created by the adapter in LDAP (verified by the adapter) -> related settings: CACHE_ATTRIBUTE, CACHE_DELIMETER, SKEW_SECONDS, CACHE_LIFE_TIME</li></ul><ul><li> 2: Use the request-id created by the API server and used by the adapter in the call URL (verified by the API server) -> related settings: MFA_VERIFY_URL</li></ul> |
      | | MFA_VERIFY_URL               | https://stg1-cloud.iam.samsung.net/test/common-api/open/v1.1/mfa/request/status       |        | MFA result verification URL (server-to-server communication): {request-id} received from the API server is appended to the end of the URL and called -> the adapter checks if the return is 200 (OK) to process the MFA result<ul><li> Do not add "/" at the end of the URL </li></ul>|
      | | MFA_VERIFY_SECURE_PROTOCOL    | TLS12 or TLS13                         |        | Secure protocol used for MFA result verification<ul><li> Selectable protocols (case-insensitive): TLS12, TLS13</li></ul><ul><li> (Note) Do not use SSL3, TLS, TLS11 </li></ul>|
      | | CACHE_ATTRIBUTE              | otherPager                              | O      | Name of the LDAP attribute to store the user's req guid value                                                                                                                                             |
      | | CACHE_DELIMETER              | ";"                                    |        | Delimiter used to combine req + time information when storing in LDAP -> "req;time"                                                                                                                                 |
      | | SKEW_SECONDS                 | 3600                                   |        | Allowed difference in seconds between the time stored in LDAP and the time received in JWT<ul><li> The time when the user logs in to AD, not when the MFA selection screen is displayed (the time is already stored when the MFA selection screen is displayed)</li></ul><ul><li> Not the time it takes for the user to select MFA and enter the passcode</li></ul><ul><li> Therefore, do not set the time too tightly, and about 1 hour is suitable?? (Is there anyone who takes 1 hour to select MFA?) |
      | | CACHE_LIFE_TIME              | 1d                                     |        | Lifetime of the req stored in LDAP -> delete old ones when checking the time at the next access<ul><li> String in the format of day, hour, minute, second (dhms)<br>1d=86400, 1h=3600, 1m=60<br>(If dhms is not present, it is considered as seconds)  </li></ul>|
      | | BYPASS_ADAPTER               | 0 or 283901                            |        | Whether to bypass the adapter function (0 = normal use, 283901 = disable, other values = normal use)<ul><li> Used in emergency situations where the adapter function needs to be disabled due to MFA issues</li></ul><ul><li> Do not modify it in normal situations -> the normal value is 0</li></ul><ul><li> Note: To disable, you must set the exact value (not just any number other than 0, but the exact number. Be careful of noise) </li></ul>|
      |API | API_SYSTEMNAME               | SingleID                               | O      | (No effect on MFA function)|
      | MSG-1033                     | MSG_INTERNAL_ERROR                     | "Internal error occurred. Contact administrator."    |  | Message displayed to the user when the authentication process is stopped due to an error (English)                                                                                                                                 |
      | MSG-1042                     | MSG_INTERNAL_ERROR                     | "Internal error occurred. Contact administrator." | | Message displayed to the user when the authentication process is stopped due to an error (Korean) <ul><li> If you enter Korean, an error occurs, so please enter it in English. </li></ul>           |
      |MANAGE | LOG_LEVEL             | 0 or 1 or 2                        |        | Standard for recording in the Windows event log<ul><li> 0 = only error</li></ul><ul><li> 1 = error + warning</li></ul><ul><li> 2 = error + warning + notice, etc. all recorded </li></ul>|
      <div class="figure-caption">
        Table. Setting value description
      </div>
      

      5.3 - Release Note

      SingleID

      2025.11.04
      FEATURE Add console access history log monitoring feature, Expand CSP support for console access control, Improve announcement feature, Improve approval system feature, Improve batch scheduler management feature, Improve CAM system user role management feature, Improve system global variable management feature
      • Console access history log monitoring feature added
        • Added the feature to view and download console access logs
      • Console access control support CSP expanded
        • Expanded support CSP for console access control from the existing AWS to Azure and Samsung Cloud Platform (KR EAST1 region, KR WEST1 region)
      • Notice feature improved
        • Improved the feature to register and manage notices per tenant
      • Approval system feature improved
        • Added a self-built approval system-based approval function to the existing Knox-based approval function
      • Batch scheduler management feature improved
        • The batch scheduler management function has been improved, allowing execution results and details to be viewed and enabling immediate execution.
      • CAM system user role management feature improved
        • Improved to allow creation/listing/viewing/detail of user roles for the CAM system itself.
      • System-wide variable management feature improved
        • Added system-wide variable management function for CAM Portal system itself
      • Other convenience improved
        • Improved so that users of PM/PL group can change the IP of already enrolled resources (no need to re-enroll the resource)
        • Improved multiple selection functionality for user/role/policy search (when multiple selection, retain previously added items)
        • Improved to allow navigation to the detailed Role/Policy/Account page from Console Access menu
        • Changed manual, release note and FAQ URLs to SCP Documentation URL
      2025.10.23
      FEATURE Add admin delegation feature, Add approval status menu to dashboard, Add sign-up status menu to dashboard, Add user campaign feature, Add dormant account policy feature, Add user lifecycle management feature, Add rebranding feature to login page, Improve simple authentication feature, Add user security enhancement feature, Improve user profile attribute setting feature, Add application entitlement management feature
      • Admin delegation feature added
        • A feature that allows delegating authentication for identity verification to an administrator has been added. This feature is only available for MFA products.
      • Approval status menu added to dashboard
        • A feature has been added that allows managing user approval requests and statuses from the dashboard.
      • Member registration status menu added to dashboard
        • A feature has been added that allows managing users’ sign-up status from the dashboard.
      • User campaign feature added
        • If only one user authentication method is registered, a campaign feature that recommends adding additional authentication registration has been added.
      • Dormant account policy feature added
        • Dormant user settings, alarm sending settings, exception user registration, long-term dormant user, dormant self-recovery settings have been added.
      • User lifecycle management feature added
        • When signing up and registering users, features for setting user defaults, setting user account usage period, and approval policy have been added.
      • Rebranding feature added to login page
        • A feature has been added to change the top and bottom logos, key visual images, text, etc. in the Admin Portal.
        • The redirection functions for member sign-up page settings, bottom privacy policy, terms of use, etc., have been added.
      • Passwordless authentication feature improved
        • Mobile Passkey, security key, a convenient authentication method that allows easy login with a Windows PIN code has been added.
      • User security feature enhanced
        • If you use only one authentication method for a long period, a conditional authentication policy feature that requires additional identity verification has been added.
      • User profile attribute setting feature improved
        • You can further expand and apply the user’s personal information attributes.
      • Application permission (Entitlement) management feature added
        • Synchronize application permissions to manage application permissions for users/groups.
      • Other convenience improved
        • Improved the process when the authentication session timeout expires
        • Improved the app access process in the mobile app
        • Improved the screen for mobile app download
        • Improved the application registration/modification screen (Field modifications, Mapping screen improvements, etc.)
        • Improved Identity Providers registration/edit screen (field added/modified)
        • Added a user mobile app (device) reset function
        • Added a feature to set a prefix text when sending SMS
        • Improved the image upload screen and process
      2025.07.01
      NEW SingleID Service Official Version Release
      • SingleID service launched that allows users to log into business systems with a single ID and enables administrators to easily control access by integrating various access environments

      6 - WAF

      6.1 - Overview

      Service Overview

      WAF (Web Application Firewall) is a service that monitors website traffic to safely protect web applications. It quickly detects and analyzes HTTP, HTTPS-based security threats that target website vulnerabilities.

      Features

      • Powerful Detection/Blocking: Monitor the HTTP, HTTPS traffic of web pages registered by the customer, detecting hacker attack attempts in real time. Classify attacks such as SQL Injection, Cross-Site Scripting (XSS), Web Scan, and provide various defense functions needed for web security to immediately counter new web attack types.
      • Stable Web Service Operation Support: We respond to new security threats through web firewall signature pattern and firmware updates. OWASP (Open Web Application Security Project) top 10 attacks, National Intelligence Service’s 8 major vulnerability attacks, Zero-Day attacks, and other new web threats as well as Bad Bot hacker attack attempts are detected to support the operation of efficient and stable web services..
      • Convenient Security Management: Provides monthly reports so you can conveniently check event history.

      Service Configuration Diagram

      Diagram
      Figure. WAF concept diagram
      Public-facing WAF service does not provide monitoring (Security Center).

      Provided Features

      We provide the following features.

      • Intrusion detection/analysis provided
        • 24x365 event monitoring (alert issuance, monthly report provision), however, the public-facing WAF service does not provide this content.
        • Attack classification through web firewall event analysis (Injection, XSS, File Include, File Up/Download, Web Scan, etc)
        • Detection of latest attack patterns (including Apache Struts vulnerabilities)
      • Intrusion Response
        • Provide IP information of attack attempts on registered URL targets

      Components

      Samsung Cloud Platform’s VPC Virtual Server installs a WAF license and provides the service.

      Constraints

      To use WAF, please check the following items in advance.

      • If WAF is configured as a single unit, service continuity cannot be guaranteed in case of a WAF installation VM or WAF application failure.
        • Samsung Cloud Platform’s Load Balancer and WAF do not support bypass.
      • Samsung Cloud Platform provided security monitoring service is offered only for Pentasecurity products. (operation + monitoring product)
        • The public-oriented WAF service does not provide security monitoring services.
      • The WAF service is directly installed with support from engineers, and it takes some time from application to deployment.

      Provision status by region

      WAF is available in the environment below.

      RegionGeneral (Enter)Public
      Korea West (kr-west1)ProvidedNot provided
      Korea East(kr-east1)Not providedNot provided
      Korea South1(kr-south1)Not providedProvided
      South Korea 2 (kr-south2)Not providedProvided
      South Korea South3 (kr-south3)Not providedProvided
      Table. WAF regional availability status

      Preceding Service

      This is a list of services that must be pre-configured before applying for the service. For details, refer to the guide provided for each service and prepare in advance.

      • When using the WAF service, a WAF license is installed on the Virtual Server and provided. First install a Virtual Server that matches the service specifications you want.
      Service CategoryServiceDetailed Description
      ComputeVirtual ServerVirtual server optimized for cloud computing
      NetworkingDirect ConnectA service that safely and quickly connects the customer’s network with Samsung Cloud Platform
      Table. WAF Pre-service
      Reference
      Customers using Secured VPN do not need a separate Direct Connect application. (Direct Connect application required when applying for Secured VPN) However, regular (enterprise) customers who do not use Secured VPN must apply for Direct Connect separately. * Application path : Console > Support Center > Service request * Service : Networking > Direct Connect * Work classification : Uplink line request

      6.2 - How-to guides

      Users can apply for the service by entering the required information for using the WAF service through the Samsung Cloud Platform Console.

      WAF Apply

      You can apply for and use the WAF service from the Samsung Cloud Platform Console.

      To request WAF service creation, follow the steps below.

      1. All Services > Security > WAF Click the menu. Navigate to the WAF’s Service Home page.

      2. On the Service Home page, click the WAF Service Request button. Navigate to the Support Center > Service Request List > Service Request page.

      3. Service Request page, please enter or select the relevant information in the required input fields.

        • Select WAF creation in the task category.
          Input ItemDetailed Description
          TitleEnter the title of the service request content
          • Example: WAF service creation request
          RegionSelect the location of Samsung Cloud Platform
          • Automatically filled with the region corresponding to the Account
          ServiceSelect service category and service. If the WAF service request button is pressed, it is entered automatically
          • Service Category: Security
          • Service: WAF
          Task CategorySelect the type you want to request
          • WAF creation: select when requesting a new service
          ContentGuidance on creating and applying basic customer information
          • Content to be written: End customer/MSP information
          AttachmentUpload the completed WAF service application (required) and any additional files you wish to share
          • Each attached file must be within 5MB, up to a maximum of 5 files can be attached
          • Only doc, docx, xls, xlsx, ppt, ppts, hwp, txt, pdf, jpg, jpeg, png, gif, tif files can be attached
          Table. WAF Service Creation Request Items
      4. After checking the application process and reference information, click the Form Download > Service Request Form Download button to download the WAF Service Application Form.

      5. WAF Service Application Form please fill out.

        • Refer to the item descriptions in the Application Information and Control Information tabs, and fill out the required fields.
          CategoryDetailed Content
          Application InformationWrite required items such as application type, usage period, throughput information, basic information, etc.
          Monitoring InformationWrite required items such as WAF service application information, SSL certificate information, etc.
          • Public sector customers do not need to fill out
          Table. Main contents of WAF service creation application form
      6. Attach the completed application form in the attachment area.

      7. On the service request page, click the Request button.

        • When the application is completed, check the requested content on the Support Center > Service Request List page.
      8. After the monitoring officer verifies the submitted service request, the process for using the service proceeds.

      9. WAF service will be launched.

      WAF Cancel

      To request termination of the WAF service, follow the steps below.

      1. All Services > Management > Support Center Click the menu. Support Center > Service Home Go to the page.
      2. Click the Service Request button on the Support Center Service Home page. You will be taken to the Service Request List page.
      3. Service Request List page, click the Service Request button. It navigates to the Service Request page.
      4. Service Request page, please enter or select the relevant information in the required input fields.
        • Select WAF termination in the work classification.
          Input ItemDetailed Description
          TitleEnter the title of the service request content
          • Example: WAF service termination request
          RegionSelect the location of Samsung Cloud Platform
          • Automatically filled with the region corresponding to the Account
          ServiceSelect service category and service
          • Service Category: Security
          • Service: WAF
          Task CategorySelect the type you want to request
          • WAF termination: select if you are terminating the service
          ContentGuidance on creating and applying basic customer information
          • Content to be written: End customer/MSP information
          AttachmentUpload the completed WAF service application (required) and any additional files you wish to share
          • Each attached file must be within 5 MB, up to a maximum of 5 files can be attached
          • Only doc, docx, xls, xlsx, ppt, ppts, hwp, txt, pdf, jpg, jpeg, png, gif, tif files can be attached
          Table. Table. WAF service termination request items
      5. After checking the Application Process and Reference Information, click the Form Download > Service Request Form Download button to download the WAF Service Application Form.
      6. WAF Service Application Form please fill out.
        • Refer to the item descriptions in the Application Information and Control Information tabs, and fill out the required items.
          CategoryDetailed Content
          Application InformationApplication type, usage period, processing amount information, basic information, etc. Fill in required items
          Control InformationWhen terminating the entire service, no input is required
          Table. Main contents of WAF service termination application form
      7. Please attach the completed application form to the attachment area.
      8. On the service request page, click the Request button.
        • When the application is completed, check the submitted details on the Support Center > Service Request list page.
      9. After the monitoring officer verifies the submitted service request, if the monitored URL, Port, and IP are deleted, the termination process is completed.
        • Service termination takes 3 business days, counting from the cancellation request date.

      6.2.1 - WAF Construction Process Guide

      To initiate the WAF service, a license installation and control system connection check are required after applying for the service. If you apply for the WAF service, the person in charge will contact you after checking the service request details. Refer to the process below to apply for the WAF service.

      Notice

      WAF installation is directly supported by SDS engineers, and it proceeds after discussing the configuration/specifications with the customer company.

      • Please apply for the service at least 1 month before the minimum service opening date (based on business days) considering the entire process schedule.
      Configuration
      Figure. WAF construction process

      1. Preparatory Work

      The preliminary preparation work for using the WAF service will proceed according to the following procedure.

      1. Apply for WAF installation as a service request.(MSP → SDS)
      2. Request WAF SW installation.(SDS → Engineer)
      3. Please provide engineer information for WAF installation work.(SDS → MSP)

      2. Samsung Cloud Platform Console work (MSP performance)

      To use the WAF service, the following work is done in the Samsung Cloud Platform Console.

      1. Register the SSL certificate in the Certificate Manager service.
      • Application path: Samsung Cloud Platform Console > Security > Certificate Manager
      • Purpose: Operation
      1. Create a Virtual Server service for WAF.
      • Application path: Samsung Cloud Platform Console > Compute > Virtual Server
      • WAF specifications determine the capacity of CPU/Memory/Block Storage
      • WAF Virtual Server specification: Check the quotation
      1. Load Balancer service should be created.
      • Application path: Samsung Cloud Platform Console > Networking > Load Balancer
      1. Create an L7 service for SSL Offloading.
      2. Create an L4 service when load balancing is needed for WAF redundancy.
      3. Create an L4 service when load balancing is needed for WEB server duplication.
      4. Set the necessary Load Balancer/Firewall/Security Group.
      • Load Balancer’s communication path should have a corresponding Firewall and Security Group set as follows.
      • The starting point is where you enter your network information.
        ClassificationCommon Security Zone FWInternet Gateway FWLoad Balancer FWVirtual Server SG
        Inbound (Destination)LB 서비스 Public IPLB 서비스 Private IPLB 서비스 Private IPLB Link IP
        IP (example)123.43.8.xxx10.10.0.xxx10.10.0.xxx192.168.254.xxx
        PortLB Service PortLB Service PortLB Service PortForward/Health Check Port
        Table. FW/SG setting items according to the communication path of Load Balancer
      1. Set the HTTP redirection of the LB service. (optional)
      • Load Balancer’s HTTP redirection item should be set as follows.
        Load Balancer ServiceL7 HTTPL7 HTTPS
        LB Profile > Profile TypeApplicationApplication
        LB Profile > Service ClassificationL7 HTTPL7 HTTP
        LB Profile > HTTP RedirectionSettingsNot Set
        IP/NAT IPset the same wayset the same way
        Service Port80443
        Transfer Port8080
        Server Group > WAF in useNot setWAF Virtual Server
        Server Group > WAF not usednot setWEB Virtual Server
        Certificate RegistrationUnregisteredRegistered
        Table. Load Balancer's HTTP redirection settings
      1. Grant WAF engineers access permission to the WAF Virtual Server.

      3. WAF SW installation and testing (WAF engineer & MSP)

      When the WAF specification is confirmed, the engineer installs the WAF software and proceeds with the test.

      4. Policy request and reflection for WAF security monitoring

      WAF security monitoring requires policies to be created and applied.

      1. Request the necessary policy from the Samsung Cloud Platform Console.(SDS → MSP)
      2. Deliver and apply the created policy.(SDS → MSP)
      3. Check the details that require policy registration.(Direct Connect Firewall/Security Group/Routing)
      • SDS → Check if the WAF access path is secured for each customer company. If additional registration is required, please request by email.
      • It checks if the log transmission path from WAF to SIEM is secured for each client company. If additional registration is required, please request by email.

      Limitations

      WAF installation, check the following restrictions first and proceed.

      • When WAF is configured alone, service continuity cannot be guaranteed in case of WAF installation Virtual Server or WAF application failure (Samsung Cloud Platform LB and WAF do not support bypass)
      • If the service availability of the WAF-applied target website is important, WAF duplication application is required. If WAF duplication application is required, it must be requested separately.
      • Samsung Cloud Platform service provides security monitoring through Pentasecurity products only.
      • Other vendor products are registered in the marketplace, but the SamsungSDS security management service is not provided.

      6.3 - Release Note

      WAF

      2025.07.01
      NEW WAF Service Official Version Release
      • We are launching a WAF service to protect web applications from web vulnerabilities and attacks.

      7 - DDoS Protection

      7.1 - Overview

      Service Overview

      DDoS Protection is a service that detects and defends against DDoS (Distributed Denial of Service) attacks that generate large amounts of traffic intensively and cause service disruptions. Through continuous monitoring, it detects and blocks external traffic attacks to protect the servers inside the Samsung Cloud Platform. When a DDoS attack occurs, by blocking the attack traffic, it minimizes the traffic load entering the internal servers of the Samsung Cloud Platform, ensuring the continuity of web services.

      Features

      • Rapid Attack Detection: Detects DDoS attacks in real time when a large amount of traffic is incoming. Continuously updates DDoS defense items to effectively respond to the latest attack techniques.
      • Effective Attack Defense: When a DDoS attack occurs, it detects in real time and blocks attack traffic to ensure service availability, supporting regular users to access the website normally.
      • Stable web service operation: Based on large‑scale network operation experience, we can effectively respond to external security threats. Additionally, we provide monthly reports to check the details of events.

      Diagram

      Diagram
      Figure. DDoS Protection concept diagram
      The public DDoS Protection service does not provide monitoring (Security Center).

      Provided Features

      We provide the following features.

      • Intrusion Detection and Analysis
        • 24x365 event monitoring (However, the public DDoS Protection service does not provide this content.)
        • DDoS attack automatic detection
      • Intrusion Response
        • Provide learning-based detection and blocking for various L3/L4 level DDoS attacks
      • Monitoring Information Provision
        • Alarm on event detection
        • Monthly report provision

      Components

      • DDoS Protection provides services based on public IP configured within the VPC.
      • We provide services targeting servers that can be accessed via the Internet, and blocking is possible based on attacker IP.

      Constraints

      When providing DDoS Protection service, a minimum one-month learning period is required to set the protection threshold, and we analyze the learned thresholds to provide optimal policy settings.

      Provision status by region

      DDoS Protection is available in the following environments.

      RegionGeneral (Enter)Public
      Korea West (kr-west1)ProvidedNot provided
      Korea East (kr-east1)Not providedNot provided
      South Korea 1 (kr-south1)Not providedNot provided
      South Korea 2(kr-south2)Not providedNot provided
      South Korea 3 (kr-south3)Not providedProvided
      Table. DDoS Protection regional provision status

      Preliminary Service

      • DDoS Protection service list that must be pre-configured before creating the service. For details, refer to the guide provided for each service and prepare in advance.
      • When creating a VPC’s Internet Gateway, you must select SIGW (Secure Internet Gateway) in the category to be able to use DDoS Protection.
      Caution
      • When creating a VPC’s Internet Gateway, if you select Internet Gateway in the ‘Category’, you cannot use the DDoS Protection service.
      • if changed to Secure Internet Gateway, you need to change the public IP you are using.
      Service CategoryServiceDetailed Description
      NetworkingVPCA service that provides an independent virtual network in a cloud environment
      Table. DDoS Protection Preliminary Service

      7.2 - How-to guides

      The user can apply for the service by entering the required information for using the DDoS Protection service through the Samsung Cloud Platform Console.

      DDoS Protection Create

      You can apply for and use the DDoS Protection service on the Samsung Cloud Platform Console.

      To request DDoS Protection service creation, follow the steps below.

      1. All Services > Security > DDoS Protection Click the menu. Navigate to DDoS Protection’s Service Home page.
      2. Click the DDoS Protection Service Request button on the Service Home page. Navigate to the Support Center > Service Request List > Service Request page.
      3. Service Request page, enter or select the relevant information in the required input fields.
        • In the task category, select Create DDoS Protection.
          Input ItemDetailed Description
          TitleEnter the title of the service request content
          • Example: DDoS Protection service creation request
          RegionSelect the location of Samsung Cloud Platform
          • Automatically filled with the region corresponding to the Account
          ServiceSelect the service category and service. If the DDoS Protection service request button is pressed, it is entered automatically
          • Service Category: Security
          • Service: DDoS Protection
          Task CategorySelect the type you want to request
          • Create DDoS Protection: select when requesting a new service
          ContentGuide to creating basic customer information and application process
          • Content to be written: End customer/MSP information
          AttachmentUpload the completed DDoS Protection service application form (required) and any additional files you wish to share
          • Each attachment can be up to 5MB, with a maximum of 5 files
          • Only doc, docx, xls, xlsx, ppt, ppts, hwp, txt, pdf, jpg, jpeg, png, gif, tif files are allowed
          Table. DDoS Protection Service Creation Request Items
      4. After checking the application process and reference information, click the Form Download > Service Request Form Download button to download the DDoS Protection Service Application Form.
      5. DDoS Protection service application form please fill out.
        • Refer to the item descriptions in the Application Information and Control Information tabs, and fill out the required items.
          CategoryDetailed Content
          Application InformationFill in required items such as application type, usage period, basic information, etc.
          • Application Type: Select Application
          • Usage Period: Desired start date, contract status, expected usage period input
          • Basic Information: Account name, Project name, recipient information input
          Monitoring InformationWrite required items such as protected target IP, exception handling IP, etc. (need to specify purpose per IP)
          • Write application classification per IP
          • New: select when applying for a new service
          • Public-facing customers do not need to fill out
          Table. DDoS Protection service creation application form main contents
      6. Attach the completed application form in the attachment area.
      7. On the service request page, click the Request button.
        • When the application is completed, check the applied content on the Support Center > Service Request List page.
      8. After the monitoring officer verifies the submitted service request, the process for using the service proceeds.
      9. DDoS Protection service will be launched.

      DDoS Protection Cancel

      If you want to request termination of DDoS Protection service, follow the steps below.

      1. All Services > Management > Support Center Click the menu. Support Center > Service Home Navigate to the page.
      2. Support Center Service Home on the page click the Service Request button. Navigate to the Service Request List page.
      3. Service Request List page, click the Service Request button. Service Request page will be opened.
      4. Service Request on the page, enter or select the relevant information in the required input fields.
        • In the task category, please select DDoS Protection cancellation.
          Input ItemDetailed Description
          TitleEnter the title of the service request content
          • Example: DDoS Protection service termination request
          RegionSelect the location of Samsung Cloud Platform
          • Automatically filled with the region corresponding to the Account
          ServiceSelect service category and service
          • Service Category: Security
          • Service: DDoS Protection
          Task CategorySelect the type you want to request
          • DDoS Protection termination: select if you want to cancel the service
          ContentGuide to creating and applying basic customer information
          • Content to write: End customer/MSP information
          AttachmentUpload the completed DDoS Protection service application form (required) and any additional files you wish to share
          • Each attached file must be within 5 MB, and up to 5 files can be attached
          • Only doc, docx, xls, xlsx, ppt, ppts, hwp, txt, pdf, jpg, jpeg, png, gif, tif files can be attached
          Table. Table. DDoS Protection service termination request items
      5. After checking the Application Process and Reference Information, click the Form Download > Service Request Form Download button to download the DDoS Protection Service Application Form.
      6. DDoS Protection service application form please fill out.
        • Refer to the item descriptions in the Application Information and Control Information tabs, and fill out the required fields.
          CategoryDetails
          Application InformationApplication type, usage period, basic information, etc. required items fill
          • Application type: Select termination
          • Usage period: Enter desired termination date
          • Basic information: Account name, Project name, Recipient information
          Control InformationNo input required when terminating the entire service
          Table. DDoS Protection Service Termination Application Form Main Contents
      7. Attach the completed application form to the attachment section.
      8. Click the request button on the service request page.
        • When the application is completed, check the applied content on the Support Center > Service Request list page.
      9. After the monitoring staff verifies the submitted service request, if the monitored IP/policy is deleted, the termination process is completed.
        • Service termination takes 3 business days, including the cancellation request date.

      7.3 - Release Note

      DDoS Protection

      2025.07.01
      NEW DDoS Protection Service Official Version Release
      • We are launching a DDoS Protection service that provides detection and response to large-scale network traffic attacks.

      8 - IPS

      8.1 - Overview

      Service Overview

      IPS(Intrusion Prevention System) continuously updates IPS intrusion detection policies reflecting the latest security threats to respond in real time. Additionally, it detects up to the application layer through packet monitoring.

      Features

      • Latest Attack Type Detection: Generate detection patterns for new threats, and improve detection rate through continuous signature management. Apply the TI DB of security specialist companies and self-developed advanced detection policies, and provide services by correlational analysis of the relationship between attack patterns detected by IPS and patterns set in SIEM (Security Information and Event Management).
      • Cloud Optimized Operations: We provide detection services optimized for cloud environments. When a security threat occurs, we respond quickly through security professionals.
      • Efficient response and support: Monthly reports are provided to check the details of the event.

      Configuration diagram

      Diagram
      Figure. IPS concept diagram
      The public IPS service does not provide monitoring (Security Center).

      Provided Features

      We provide the following features.

      • Intrusion Detection and Analysis
        • In-depth analysis through raw data
        • New threat detection pattern update reflecting external trend information
        • Periodic detection pattern optimization
      • Monitoring Information Provision
        • Monthly report provision
      • Intrusion response
        • Provide IP information of attack attempts on SCP client servers

      Components

      • IPS provides services based on public IP configured within the VPC.
      • We provide services targeting servers that can be accessed via the Internet, and when a user requests a service, we refer to the server (Virtual Server) specifications listed in the service application form.

      Constraints

      IPS provides detection based on traffic that is not encrypted with HTTP. It does not provide monitoring for traffic encrypted with HTTS SSL.

      The public IPS service does not provide monitoring (Security Center).

      Provision status by region

      IPS can be provided in the environment below.

      RegionNormal (Enter)Public
      Korea West (kr-west1)ProvidedNot provided
      Korea East (kr-east1)Not providedNot provided
      Korea South 1 (kr-south1)Not providedProvided
      South Korea South 2(kr-south2)Not providedProvided
      South Korea South3 (kr-south3)Not providedProvided
      Table. IPS Region-wise Provision Status

      Preceding Service

      • This is a list of services that must be pre-configured before creating the IPS service. For details, refer to the guide provided for each service and prepare in advance.
      • When creating a VPC’s Internet Gateway, you must select SIGW (Secure Internet Gateway) in the category to be able to use IPS.
      Caution
      • When creating a VPC’s Internet Gateway, if you select Internet Gateway in the ‘Category’, you cannot use the IPS service.
      • If you change to Secure Internet Gateway, you need to change the public IP you are using.
      Service CategoryServiceDetailed Description
      NetworkingVPCA service that provides an independent virtual network in a cloud environment
      Table. IPS Pre-service

      8.2 - How-to guides

      The user can apply for the service by entering the required information for using the IPS service through the Samsung Cloud Platform Console.

      Create IPS

      You can apply for the IPS service and use it from the Samsung Cloud Platform Console.

      To request IPS service creation, follow the steps below.

      1. All Services > Security > IPS Click the menu. Navigate to the IPS Service Home page.
      2. Service Home on the page, click the IPS Service Request button. Navigate to the Support Center > Service Request List > Service Request page.
      3. Service Request page, please enter or select the relevant information in the required input fields.
        • Please select IPS creation in the work category.
          Input ItemDetailed Description
          TitleEnter the title of the service request content
          • Example: IPS service creation request
          RegionSelect the location of Samsung Cloud Platform
          • Automatically filled with the region corresponding to the Account
          ServiceSelect the service category and service. If the IPS service request button is pressed, it is entered automatically
          • Service Category: Security
          • Service: IPS
          Task ClassificationSelect the type you want to request
          • IPS creation: select when requesting a new service
          ContentGuidance on creating and applying basic customer information
          • Content to be written: End customer/MSP information
          AttachmentUpload the completed IPS service application (required) and any additional files you wish to share
          • Each attached file can be up to 5 MB, with a maximum of 5 files
          • Only doc, docx, xls, xlsx, ppt, ppts, hwp, txt, pdf, jpg, jpeg, png, gif, tif files can be attached
          Table. IPS Service Creation Request Items
      4. After checking the application process and reference information, click the Form Download > Service Request Form Download button to download the IPS Service Application Form.
      5. IPS Service Application Form please fill out.
        • Refer to the item-by-item description of the Application Information and Control Information tabs, and fill out the required fields.
          CategoryDetails
          Application InformationFill in required items such as application type, usage period, basic information, etc.
          • Application type: select application
          • Usage period: enter desired start date, contract status, expected usage period
          • Basic information: enter Account name, Project name, recipient information
          Monitoring InformationWrite required items such as protected target IP, exception handling IP, etc. (Purpose per IP required)
          • Write application classification per IP
          • New: select when applying for a new service
          • Public customers do not need to fill out
          Table. IPS Service Creation Application Form Main Contents
      6. Attach the completed application form in the attachment area.
      7. On the service request page, click the Request button.
        • When the application is completed, check the requested details on the Support Center > Service Request List page.
      8. After the monitoring officer verifies the submitted service request, the process for using the service proceeds.
      9. IPS service will be launched.

      Cancel IPS

      To request termination of the IPS service, follow the steps below.

      1. All Services > Management > Support Center Click the menu. Support Center > Service Home Navigate to the page.
      2. Support Center Service Home on the page, click the Service Request button. Navigate to the Service Request List page.
      3. Service Request List page, click the Service Request button. Service Request page will be opened.
      4. Service Request page, enter or select the required information in the mandatory input fields.
        • Select IPS termination in the work type.
          Input ItemDetailed Description
          TitleEnter the title of the service request content
          • Example: IPS service termination request
          RegionSelect the location of Samsung Cloud Platform
          • Automatically filled with the region corresponding to the Account
          ServiceSelect service category and service
          • Service Category: Security
          • Service: IPS
          Task CategorySelect the type you want to request
          • IPS termination: select if canceling the service
          ContentGuidance on creating and applying basic customer information
          • Content to be written: End customer/MSP information
          AttachmentUpload the completed IPS service application (required) and any additional files you want to share
          • Each attached file can be up to 5 MB, with a maximum of 5 files
          • Only doc, docx, xls, xlsx, ppt, ppts, hwp, txt, pdf, jpg, jpeg, png, gif, tif files can be attached
          Table. Table. IPS Service Termination Request Items
      5. After checking the Application Process and Reference Information, click the Form Download > Service Request Form Download button to download the IPS Service Application Form.
      6. IPS Service Application Form please fill out.
        • Refer to the item-by-item description of the Application Information and Control Information tabs, and fill out the required fields.
          CategoryDetailed Content
          Application InformationFill in required items such as application type, usage period, basic information
          • Application type: Termination selected
          • Usage period: Enter desired termination date
          • Basic information: Account name, Project name, recipient information
          Control InformationWhen the entire service is cancelled, no input is required
          Table. Main contents of IPS service termination application form
      7. Attach the completed application form in the attachment area.
      8. Click the request button on the service request page.
        • When the application is completed, check the applied content on the Support Center > Service Request list page.
      9. After the monitoring staff verifies the submitted service request, the termination process is completed once the monitored IP is deleted.
        • Service termination takes 3 business days, including the cancellation request date.

      8.3 - Release Note

      IPS

      2025.07.01
      NEW IPS Service Official Version Release
      • Launched an IPS service that continuously updates IPS intrusion detection policies reflecting the latest security threats and responds in real-time.

      9 - Secured Firewall

      9.1 - Overview

      Service Overview

      Secured Firewall is a next-generation firewall service for cloud network security provided by Samsung Cloud Platform. It manages network access to servers based on IP address/port policies, and supports detailed analysis in the event of a security incident.

      Special Features

      • Diverse Network Environment Protection: Supports setting robust network security policies to safely protect cloud assets. Detects and blocks based on IP, protocol/port-based ACL policies, providing a secure network communication environment.
      • Easy and simple network management: You can easily establish firewall policies, and conveniently create and manage applied rules such as source/destination IP, protocol/port, inbound/outbound, etc.
      • Security expert-based firewall policy implementation: We support establishing firewall policies optimized for customers’ systems migrating to the cloud. We provide a service where we receive firewall policy requests from customers to more easily apply security policies in the cloud environment, and security professionals reflect the policies.
      • Security Authentication Product-Based Service: You can use firewall services that meet various networks and requirements for internet connectivity and ensure an optimized security environment. This safely protects the internal network from unauthorized access.

      Diagram

      Diagram
      Figure. Secured Firewall concept diagram
      Public-oriented Secured Firewall service does not provide monitoring (Security Center).

      Provided Features

      We provide the following features.

      • Cloud Optimized Firewall
        • Apply domain policy considering cloud environment
        • Apply firewall rules and logging
      • Monitoring Information Provision
        • Monthly report provision

      Components

      • Secured Firewall provides services based on public IP configured within the VPC.
      • We provide services targeting servers that can be accessed via the Internet, and when a user requests a service, we provide it based on the server (Virtual Server) specifications listed in the service application form.

      Constraints

      • Firewall policy applications cannot be applied for in the Samsung Cloud Platform Console.
        • We will send the application form to the email you registered when applying for the service. Please refer to the form to proceed with the firewall application.
      • Access control management of the system built inside the Pool (Security Group, etc. firewall policy management) must be performed by the customer directly.

      Provision status by region

      Secured Firewall is available in the environment below.

      RegionGeneral (Enter)Public
      Korea West (kr-west1)ProvidedNot provided
      Korea East (kr-east1)Not providedNot provided
      Korea South 1 (kr-south1)Not providedProvided
      South Korea South2(kr-south2)Not providedProvided
      South Korea South3(kr-south3)Not providedProvided
      Table. Secured Firewall Provision Status by Region

      Preliminary Service

      • This is a list of services that must be pre-configured before creating the Secured Firewall service. For details, refer to the guide provided for each service and prepare in advance.
      • When creating a VPC’s Internet Gateway, you must select SIGW (Secure Internet Gateway) in the type to be able to use Secured Firewall.
      Caution
      • When creating a VPC’s Internet Gateway, if you select Internet Gateway in the ‘Category’, you cannot use the Secured Firewall service.
      • If you change to Secure Internet Gateway, you need to change the public IP you are using.
      Service CategoryServiceDetailed Description
      NetworkingVPCService that protects web applications from web vulnerabilities and attacks
      Table. Secured Firewall Preliminary Service

      9.2 - How-to guides

      The user can apply for the service by entering the required information for using the Secured Firewall service through the Samsung Cloud Platform Console.

      Secured Firewall Create

      You can apply for and use the Secured Firewall service on the Samsung Cloud Platform Console.

      Secured Firewall If you want to request service creation, follow the steps below.

      1. All Services > Security > Secured Firewall Click the menu. Navigate to the Service Home page of Secured Firewall.

      2. Click the Secured Firewall Service Request button on the Service Home page. Navigate to the Support Center > Service Request List > Service Request page.

      3. Service Request page, enter or select the relevant information in the required input fields.

        • In the work category, select Secured Firewall creation.
          Input ItemDetailed Description
          TitleEnter the title of the service request content
          • Example: Secured Firewall service creation request
          RegionSelect the location of Samsung Cloud Platform
          • Automatically filled with the region corresponding to the Account
          ServiceSelect the service category and service. Secured Firewall service request button is pressed, it is entered automatically
          • Service Category: Security
          • Service: Secured Firewall
          Task CategorySelect the type you want to request
          • Create Secured Firewall: select when requesting a new service
          ContentGuidance on creating and applying customer basic information
          • Content to write: End customer/MSP information
          AttachmentUpload the completed Secured Firewall service application (required) and any additional files you wish to share
          • Each attached file must be within 5MB, and up to 5 files can be attached
          • Only doc, docx, xls, xlsx, ppt, ppts, hwp, txt, pdf, jpg, jpeg, png, gif, tif files can be attached
          Table. Secured Firewall service creation request items
      4. After checking the application process and reference information, click the Form Download > Service Request Form Download button to download the Secured Firewall Service Application Form.

      5. Secured Firewall service application form please fill out.

        • Refer to the item descriptions in the Application Information and Control Information tabs, and fill out the required items.
          CategoryDetails
          Application InformationFill in required items such as application type, usage period, basic information
          • Application Type: Select Application
          • Usage Period: Desired start date, contract status, expected usage period input
          • Basic Information: Account name, Project name, recipient information input
          Monitoring InformationWrite required items such as protected target IP, exception handling IP, etc. (need to specify purpose per IP)
          • Write application classification per IP
          • New: select when applying for a new service
          • Public customers do not need to fill out
          Table. Secured Firewall Service Creation Application Form Main Contents
      6. Attach the completed application form in the attachment area.

      7. On the service request page, click the Request button.

        • When the application is completed, check the applied content on the Support Center > Service Request List page.
      8. After the monitoring officer verifies the submitted service request, the process for using the service proceeds.

      9. Secured Firewall service will be launched.

      Secured Firewall Cancel

      Secured Firewall To request service termination, follow the steps below.

      1. All Services > Management > Support Center Click the menu. Support Center > Service Home Go to the page.
      2. Support Center Service Home on the page, click the Service Request button. Navigate to the Service Request List page.
      3. Service Request List page, click the Service Request button. It navigates to the Service Request page.
      4. Service Request page, enter or select the relevant information in the required input fields.
        • In the work category, select Secured Firewall termination.
          Input ItemDetailed Description
          TitleEnter the title of the service request content
          • Example: Secured Firewall service termination request
          RegionSelect the location of Samsung Cloud Platform
          • Automatically filled with the region corresponding to the Account
          ServiceSelect service category and service
          • Service Category: Security
          • Service: Secured Firewall
          Task CategorySelect the type you want to request
          • Secured Firewall termination: select if you are terminating the service
          ContentGuidance on creating and applying customer basic information
          • Content: End customer/MSP information
          AttachmentUpload the completed Secured Firewall service application (required) and any additional files you wish to share
          • Each attached file must be within 5 MB, and up to 5 files can be attached
          • Only doc, docx, xls, xlsx, ppt, ppts, hwp, txt, pdf, jpg, jpeg, png, gif, tif files can be attached
          Table. Table. Secured Firewall service termination request items
      5. Application Process and Reference Information after checking, click the Form Download > Service Request Form Download button to download the Secured Firewall Service Application Form.
      6. Secured Firewall Service Application Form please fill out.
        • Refer to the item descriptions in the Application Information and Control Information tabs, and fill out the required items.
          CategoryDetailed Content
          Application InformationFill in required items such as application type, usage period, basic information, etc.
          • Application type: Select termination
          • Usage period: Enter desired termination date
          • Basic information: Account name, Project name, Recipient information
          Control informationWhen the entire service is terminated, no input is required
          Table. Secured Firewall Service Termination Application Form Key Contents
      7. Attach the completed application form in the attachment area.
      8. On the service request page, click the Request button.
      • When the application is completed, check the submitted details on the Support Center > Service Request list page.
      1. After the monitoring staff verifies the submitted service request, the termination process is completed once the monitored IP is deleted.
        • Service termination takes 3 business days, including the cancellation request date.

      9.3 - Release Note

      Secured Firewall

      2025.07.01
      NEW Secured Firewall Service Official Version Released
      • Samsung Cloud Platform has released Secured Firewall, a next-generation firewall service for cloud network security.

      10 - Secured VPN

      10.1 - Overview

      Service Overview

      Secured VPN (Virtual Private Network) is a service that securely connects external customer networks and the Samsung Cloud Platform network through an encrypted virtual private network. Authenticated customer networks can securely access the Samsung Cloud Platform at any time via a secure channel.

      Features

      • Rapid Service Provision: To ensure a secure VPN communication link between the customer’s network and the Samsung Cloud Platform, a dedicated VPN device must be deployed, and during deployment, we provide installation support services by security specialists.
      • Secure Access: Provides a virtual network tunnel equipped with certified authentication devices and nationally certified encryption modules that have been verified for performance and stability, allowing customers to safely connect from their external network to the internal network built on the Samsung Cloud Platform.
      • Convenient operating environment: Providing network configuration and VPN operation services optimized for the customer’s environment by security experts, we provide an operating environment that enables easier use of VPN services.

      Configuration diagram

      Diagram
      Figure. Secured VPN concept diagram

      Provided Features

      We provide the following features.

      • IPSec VPN provision
        • IPSec VPN provided with nationally validated cryptographic module
      • Virtual Private Gateway creation
        • to connect the internal cloud network with the customer’s network, create Virtual Private Gateway
        • Select traffic bandwidth for bidirectional communication considering network scale
      • VPN Tunnel Creation
        • IPsec VPN Gateway Redundant configuration ensures service continuity in case of failure

      Components

      Secured VPN(Virtual Private Network) is composed of a center VPN managed by SDS and a branch VPN installed within the customer’s internal network, providing services.

      Constraints

      • The center VPN equipment is a shared device used by many customers, and it cannot be used if it overlaps with VPC ranges used by other client companies or ranges currently used in Samsung Cloud Platform. Customers who need to use the Secured VPN service, please check the available range in advance.
        • Samsung Cloud Platform usage range: 172.16.0.0/12, 192.168.240.0/20
        • Example: Customer A has applied for and is using the 10.0.0.1/24 range, and when Customer B newly applies for Secured VPN, the 10.0.0.1/24 range cannot be used. Need to check available ranges in advance and configure VPC range accordingly.
      Reference
      • To check the available band, go to Console > Support Center > Contact or inquire via mssp.scp@samsung.com.
      • After checking the available range, SDS changes the IP by processing NAT on the branch VPN (rental). However, if the branch VPN equipment was purchased directly by the customer, the NAT setting is performed by the customer.
      • MSP adds the NATed IP to the VPC routing rule in the Samsung Cloud Platform Console.
      • Check if the branch VPN and Samsung Cloud Platform IP ranges overlap. If the destination IP range is included in the source IP range, the router will send traffic internally instead of externally, making communication impossible.
      • The branch VPN is provided as a rental of SECUI equipment, and a separate cost is incurred when renting the equipment. If the client has VPN equipment in use, it is necessary to verify whether non-SECUI vendor equipment is compatible with the center VPN equipment (SECUI).
        • For matters related to compatibility testing other than SECUI equipment, Console > Support Center > Contact Us or contact via mssp.scp@samsung.com.

      Provision status by region

      Secured VPN is available in the following environment.

      RegionGeneral (Enter)Public
      Korea West (kr-west1)ProvidedNot provided
      Korea East (kr-east1)Not providedNot provided
      Korea South1(kr-south1)Not providedProvided
      South Korea 2 (kr-south2)Not providedProvided
      South Korea 3 (kr-south3)Not providedProvided
      Table. Secured VPN Provision status by region

      Preceding Service

      Before creating the Secured VPN service, this is a list of services that must be pre-configured. For details, refer to the guide provided for each service and prepare in advance.

      • When creating Direct Connect, create a connection to the target VPC and DCon-VPN.
      Service CategoryServiceDetailed Description
      NetworkingDirect ConnectA service that safely and quickly connects the customer’s network with Samsung Cloud Platform
      Table. Secured VPN Preliminary Service
      • Secured VPN service usage requires configuration work for communication between the customer’s Office (On-premise) and the customer’s VPC within Samsung Cloud Platform. Please follow the process below, including external integration software and VPN settings, Direct Connect firewall opening, etc., to apply for an Uplink line.
        • Application path : Console > Support Center > Service request
        • Service : Networking > Direct Connect
        • Work classification : Uplink line request
      Note
      Direct Connect creation and Uplink line application must be completed to use Secured VPN service.

      10.2 - How-to guides

      The user can create the service by entering the required information for using the Secured VPN (Virtual Private Network) service through the Samsung Cloud Platform Console.

      Secured VPN Create

      You can apply for and use the Secured VPN service from the Samsung Cloud Platform Console.

      To request the creation of a Secured VPN service, follow the steps below.

      1. All Services > Security > Secured VPN Click the menu. Go to the Secured VPN Service Home page.

      2. Service Home page, click the Secured VPN Service Request button. Navigate to the Support Center > Service Request List > Service Request page.

      3. Service Request page, enter or select the relevant information in the required input fields.

        • In the task category, select Secured VPN creation.
          Input ItemDetailed Description
          TitleEnter the title of the service request content
          • Example: Secured VPN service creation request
          RegionSelect the location of Samsung Cloud Platform
          • Automatically filled with the region corresponding to the Account
          ServiceSelect the service category and service. If the Secured VPN service request button is pressed, it is entered automatically
          • Service Category: Security
          • Service: Secured VPN
          Task CategorySelect the type you want to request
          • Secured VPN creation: select when requesting a new service
          ContentGuidance on creating and applying basic customer information
          • Content to write: End customer/MSP information
          AttachmentUpload the completed Secured VPN service application form (required) and any additional files you wish to share
          • Each attached file can be up to 5 MB, with a maximum of 5 files
          • Only doc, docx, xls, xlsx, ppt, ppts, hwp, txt, pdf, jpg, jpeg, png, gif, tif files can be attached
          Table. Secured VPN Service Creation Request Items
      4. After checking the application process and reference information, click the Form Download > Service Request Form Download button to download the Secured VPN Service Application Form.

      5. Secured VPN service application form please fill it out.

        • Refer to the item descriptions in the Application Information and Control Information tabs, and fill out the required items.
          CategoryDetails
          Application InformationFill in required items such as application type, usage period, basic information, etc.
          • Application type: select application
          • Usage period: enter desired start date
          • Guaranteed bandwidth: select bandwidth
          • Basic information: enter Account name, Project name, recipient information
          Control informationCommon application information, same model/different model connection application information, etc. Fill required items (need to specify purpose per IP)
          • Same-model connection application information: when connecting SECUI equipment
          • Different-model connection application information: when connecting equipment other than SECUI
          Table. Secured VPN Service Creation Application Form Main Contents
      6. Attach the completed application form in the attachment area.

      7. On the service request page, click the Request button.

        • When the application is completed, check the submitted details on the Support Center > Service Request List page.
      8. After the monitoring officer verifies the submitted service request, the process for using the service proceeds.

      9. Secured VPN service will be launched.

      Secured VPN Cancel

      If you want to request termination of Secured VPN service, follow the steps below.

      1. All Services > Management > Support Center Click the menu. Support Center > Service Home Navigate to the page.
      2. Support Center Service Home on the page click the Service Request button. Service Request List page navigate.
      3. Service Request List page, click the Service Request button. Service Request page will be opened.
      4. Service Request page, enter or select the relevant information in the required input fields.
        • In the work category, please select Secured VPN termination.
          Input ItemDetailed Description
          TitleEnter the title of the service request content
          • Example: Secured VPN Service Termination Request
          RegionSelect the location of Samsung Cloud Platform
          • Automatically filled with the region corresponding to the Account
          ServiceSelect service category and service
          • Service Category: Security
          • Service: Secured VPN
          Task CategorySelect the type you want to request
          • Secured VPN termination: select if you want to terminate the service
          ContentGuidance on creating and applying basic customer information
          • Content to write: End customer/MSP information
          AttachmentUpload the completed Secured VPN service application form (required) and any additional files you wish to share
          • Each attached file can be up to 5 MB, with a maximum of 5 files
          • Only doc, docx, xls, xlsx, ppt, ppts, hwp, txt, pdf, jpg, jpeg, png, gif, tif files can be attached
          Table. Table. Secured VPN Service Termination Request Items
      5. Application Process and Reference Information after checking, click the Form Download > Service Request Form Download button to download the Secured VPN Service Application Form.
      6. Secured VPN Service Application please fill out.
        • Refer to the item descriptions in the Application Information and Control Information tabs, and fill out the required items.
          CategoryDetailed Content
          Application InformationFill in required items such as application type, usage period, basic information, etc.
          • Application type: select termination
          • Usage period: enter desired termination date
          • Guaranteed bandwidth: select the bandwidth applied for
          • Basic information: enter Account name, Project name, recipient information
          Control InformationWhen terminating the entire service, no input is required
          Table. Secured VPN Service Termination Application Form Main Contents
      7. Attach the completed application form in the attachment area.
      8. On the service request page, click the Request button.
        • When the application is completed, check the applied content on the Support Center > Service Request list page.
      9. After the monitoring staff verifies the submitted service request, if the monitored target IP is deleted, the termination process is completed.
        • Service termination takes 3 business days, including the cancellation request date.

      10.2.1 - Secured VPN Construction Process Guide

      To initiate the Secured VPN service, it is necessary to proceed with the installation of the branch VPN in the customer’s band and then perform the connection inspection work. However, if you have a directly operated VPN, you do not need to perform the connection inspection work. Please refer to the process below to apply for the Secured VPN service.

      Caution
      When using the Secured VPN service, please check the restrictions.
      Configuration Diagram
      Figure. Secured VPN Construction Process

      1. Samsung Cloud Platform Console work (MSP performance)

      1. Apply for Direct Connect.
      2. Create a connection target VPC and DCon-VPN connection.
      3. Apply for Uplink line.
      • Application purpose: This is a setup work for communication between the customer’s Office (On-premise) and the customer VPC within the Samsung Cloud Platform.
        • Application path: Console > Support Center > Service Request should be selected.
        • Service: Networking > Direct Connect
        • Work classification: Uplink line application
        • Please inquire about the construction period and Uplink line work schedule through Console > Support Center > Contact Us.
      1. Set up routing, such as Firewall, Security Group, Direct Connect, etc.

      2. Routing and Firewall Settings (Customer Implementation)

      1. Set up routing between the customer’s Office internal subnet and branch VPN, and configure the customer’s firewall. Prior consultation is required for routing and firewall settings. (SDS → MSP → Customer Company)
      2. Set up the Samsung Cloud Platform bandwidth and the customer’s Office bandwidth to allow for two-way communication.

      3. Installation of customer’s VPN equipment and tunnel opening (MSP/SDS performance)

      When installing VPM equipment for customer companies, you can use SDS equipment for rent or use your own equipment. Please check the process suitable for the situation.

      Case 1) Using the branch VPN equipment as SECUI leased equipment provided by SDS

      1. Check the specifications, quantity, schedule, and installation location of the leased VPN equipment.(MSP→SDS)
      2. Request to create a pre-installation environment survey for VPN installation.(SDS → MSP)
      3. Visit the customer’s site and install SECUI leased VPN equipment.(SDS)
      4. Open a tunnel between the branch VPN and the center VPN.(SDS)

      Case 2) When using the branch VPN equipment as the customer’s own equipment

      1. Check the specifications and schedule of the branch VPN equipment.(MSP→SDS)
      2. Request equipment compatibility, IPSec VPN license/equipment settings. (SDS → Customer/MSP)
      3. Open a tunnel between the branch VPN and the center VPN.(Customer/SDS)
      Reference
      • In case the customer requests a VPN installation work plan, please inquire through Console > Support Center > Contact Us or mssp.scp@samsung.com.
      • Please proceed with the work in compliance with the National Intelligence Service VPN installation guide and security review standards.

      4. End-to-End test (MSP/SDS execution)

      1. Check and share the test schedule after installing the branch VPN equipment (or setting up existing equipment) and share it. (SDS → MSP)
      2. Check the communication between the branch VPN device and VPC (both directions).
      Caution
      The End-to-End test may fail due to reasons such as not applying for an uplink line, customer routing and firewall setting errors, etc.

      10.3 - Release Note

      Secured VPN

      2025.07.01
      NEW Official Release of Secured VPN Service
      • Launched Secured VPN service that securely connects the customer network outside and the cloud network of Samsung Cloud Platform through an encrypted virtual private network.

      11 - FPMS

      11.1 - Overview

      Service Overview

      FPMS(Firewall Policy Management System) is a firewall operation automation service for efficient and safe operation of firewalls in various cloud environments. It automates all processes that operators are currently performing manually, eliminating human errors and failures, and reducing the user’s service lead time.

      Features

      • Failure Prevention: Prevent human errors that may occur when manually registering firewall policies, and check if the IP, Port information, etc. of the application information is a value that conforms to grammar and structure, thereby converting it to the correct data to prevent failures in advance.
      • Improved Operational Convenience: It provides features such as automating firewall policy application and replicating the applied policy to another firewall for duplication configuration. It can be used to enable policies to be used only for a certain period of time using the firewall policy expiration feature provided by FPMS, and provides features such as automatic deletion of inactive policies, which can reduce the operational burden of personnel.
      • Firewall Policy Optimization: Optimizes the firewall policy being applied by utilizing optimization algorithms, and also checks for duplicate or permanent policies to prevent unnecessary rule applications.
      • Continuous Security Enhancement: Analyze and diagnose excessive open policies, expired or unmanaged policies, and quantify the scores by department to easily grasp the vulnerability status. Additionally, the vulnerability handling guide enables continuous security enhancement.

      Service Composition Diagram

      Configuration Diagram
      Figure. FPMS Configuration Diagram

      Provided Features

      FPMS provides the following functions.

      • Policy Management
        • Policy change history management and real-time monitoring
      • Policy search and policy expiration management
      • Policy Auto Registration
        • Check application information consistency and automatic conversion
        • Network operation/security standard inspection and conversion
        • Automatic creation/application of rules based on firewall vendor characteristics
      • Policy Optimization
        • Remove duplicates of policy address/port/protocol
      • Policy pattern analysis optimization
        • Analysis of unused/expired/duplicate policies
      • Policy Security Analysis
        • Provides security index results by firewall policy
        • Analyze the similarity between application information and policy, and report risks after analysis

      Component

      Firewall

      FPMS can register and manage firewalls in operation.

      • It is necessary to check if the firewall is connectable before registration. (Check manufacturer, model name, OS version)
      • FPMS uses API to access firewall devices and put in policies or retrieve information. To do this, the firewall operator must create a linked account on the firewall device and set up API settings or check information to enable access.

      Firewall Application System

      To retrieve the firewall application data, FPMS and the application system must be linked.

      Constraints

      The limitations of the FPMS service are as follows. Please confirm the limitations below before use and reflect them in your service usage plan.

      • A separate infrastructure must be prepared for the installation and provision of FPMS services.
      • VM and DBMS configuration for Web/App services and data storage are required.

      Regional Provision Status

      FPMS can be provided in the following environment.

      RegionAvailability
      Western Korea(kr-west1)Provided
      Korea East(kr-east1)Provided
      South Korea 1(kr-south1)Not provided
      South Korea, southern region 2(kr-south2)Not provided
      South Korea southern region 3(kr-south3)Not provided
      Table. FPMS Regional Provision Status

      Preceding service

      FPMS has no preceding service.

      11.2 - How-to guides

      The user can create the service by entering the necessary information to receive the FPMS service through the Samsung Cloud Platform Console.

      Create FPMS

      You can create and use the FPMS service in the Samsung Cloud Platform Console.

      To request the creation of an FPMS service, follow the following procedure.

      1. Click all services > Security > FPMS menu. It moves to the Service Home page of FPMS.
      2. Service Home page, click the FPMS Service Request button. It moves to the Support Center > Service Request List > Service Request page.
      3. Service Request page, enter or select the corresponding information in the required input field.
        • Select FPMS Service Creation in the work division.
      Input ItemDetailed Description
      TitleEnter the title of the service request content
      • Example: FPMS Service Creation Request
      RegionSelect the location of Samsung Cloud Platform
      ServiceSelect service group and service. If the FPMS service request button is pressed, it is automatically entered
      • Service group: Security
      • Service: FPMS
      Work DivisionSelect the work you want to request
      • FPMS Service Creation: Select if you are requesting a new service
      ContentCheck the service application process and notes, and enter the detailed application content
      AttachmentsIf you have additional files you want to share for service application, you can upload them
      • Attached files can be up to 5 files, each within 5MB
      • Only doc, docx, xls, xlsx, ppt, ppts, hwp, txt, pdf, jpg, jpeg, png, gif, tif files can be attached
      Table. FPMS Service Creation Request Items
      1. Check the required information entered on the Service Request page and click the Request button. Once the FPMS service application is completed, the FPMS dedicated technical support manager will contact you by email for FMPS installation and usage settings. After checking the details with the FPMS dedicated technical support person in charge, FPMS installation and related system linkage work will be proceeded.

      FPMS Application History Check

      After applying for the FPMS service, you can check the detailed history and processing process.

      To check the FPMS service application history, follow the following procedure.

      1. Click all services > Support Center menu. It moves to the Service Home page of Support Center.
      2. On the Service Home page, click the Service Request menu. It moves to the Service Request List page.
      3. On the Service Request List page, select the application item. It moves to the Service Request Details page.
      4. Service Request Details page to check the details and processing procedure.
      Guide

      FPMS detailed information can be found in a separate FPMS management portal.

      • The management portal address will be sent separately by email after the FPMS installation is completed by the person in charge.

      Cancel FPMS

      To request the cancellation of FPMS service, please follow the following procedure.

      1. Click All Services > Security > FPMS menu. It moves to the Service Home page of FPMS.
      2. On the Service Home page, click the FPMS Service Request button. It moves to the Support Center > Service Request List > Service Request page.
      3. Service Request page, enter or select the corresponding information in the required input area.
        • Select FPMS Service Cancellation in the work classification.
      Input ItemDetailed Description
      TitleEnter the title of the service request content
      • Example: FPMS Service Cancellation Request
      RegionSelect the location of Samsung Cloud Platform
      ServiceSelect service group and service. If the FPMS service request button is pressed, it is automatically entered
      • Service group: Security
      • Service: FPMS
      Work ClassificationSelect the work you want to request
      • FPMS Service Cancellation: Select if you want to cancel the service
      ContentCheck the service cancellation process and notes, and enter the detailed application content
      AttachmentsIf you have any additional files you would like to share for service cancellation, please upload them
      • Attached files can be up to 5 MB each, with a maximum of 5 files
      • Only doc, docx, xls, xlsx, ppt, ppts, hwp, txt, pdf, jpg, jpeg, png, gif, tif files can be attached
      Table. Table. FPMS Service Cancellation Request Items
      1. On the Service Request page, check the required information entered and click the Request button.
        • Once the FPMS service cancellation application is completed, the FPMS dedicated technical support person in charge will confirm and proceed with the FPMS service cancellation and deletion work.

      11.3 - Release Note

      FPMS

      2025.12.16
      FEATURE Add firewall and Security Group registration feature, improve SecuAI firewall support
      • A feature has been added that allows registering the firewall and Security Group of the Samsung Cloud Platform Console to FPMS for management.
      • SecuEye firewall v3.7 support (anyzone) feature has been improved.
      2025.07.01
      NEW FPMS Service Official Version Release
      • We have launched the Firewall Policy Management System (FPMS) service for automating firewall operation tasks to efficiently and safely operate firewalls in various cloud environments.

      12 - Secrets Manager

      12.1 - Overview

      Service Overview

      Secrets Manager is a service that encrypts customers’ sensitive information as Secrets (secure information) and stores and manages it safely. It removes hardcoding of important information in application source code, and allows you to call and retrieve Secrets stored safely in a Key-Value format. Secrets are encrypted with user-managed keys in conjunction with Key Management Service and stored securely.

      Service Architecture Diagram

      Diagram
      Figure. Secrets Manager diagram

      Provided Features

      Secrets Manager provides the following features.

      • Secret creation/deletion: Secrets Manager can create/delete and manage Secrets. Users store security (sensitive) information in Key/Value form in the created Secret.
      • Secret lookup: You can view the Secret value based on custom policies and permissions.
      • Label-based version control: You can set a label on the version, which is a snapshot of unique data generated each time a Secret is modified, allowing you to manage Secrets more efficiently.

      Components

      Secret

      It stores the logical unit for sensitive (important) information by encrypting security information values in Key/Value form with a KMS key.

      • Secret is an object created through the creation of a Secrets Manager product service in the Samsung Cloud Platform Console.

      Version

      It is a snapshot of unique data that is newly created each time a Secret is modified (the unit that stores the actual value of the Secret).

      Label

      It is a name tag or label attached to a specific version of a Secret (a pointer for referencing a specific version).

      Constraints

      Secrets Manager service constraints are as follows. Before use, be sure to check the constraints below and reflect them in your service usage plan.

      Reference
      • Secrets Manager is a regional service, and the created Secret can only be used within that region.
      • As of December 2025, Secrets Manager provides only public endpoints via Open API. In the future, we plan to provide private endpoints that can be connected based on Samsung Cloud Platform resources.
      ItemDetailed DescriptionQuota
      Secret Value SizeSize of encrypted Secret value65,536
      SecretsNumber of Secrets per region in an Account500,000
      Attached Labels for SecretNumber of Labels attached to all versions of Secret20
      Versions per SecretNumber of Secret versions100
      Table. Secrets Manager Constraints

      Pre-service

      Secrets Manager has no prerequisite service.

      12.2 - How-to guides

      The user can enter the required information for the Secrets Manager service through the Samsung Cloud Platform Console, select detailed options, and create the service.

      Secrets Manager Create

      You can create and use Secrets Manager from the Samsung Cloud Platform Console.

      To create a Secrets Manager, follow the steps below.

      1. Click the All Services > Security > Secrets Manager menu. Go to the Service Home page of Secrets Manager.

      2. Click the Secrets Manager Create button on the Service Home page. You will be taken to the Secrets Manager Create page.

      3. Secrets Manager creation 페이지에서 서비스 생성에 필요한 정보들을 입력하고 추가 정보를 입력하세요.

        • Enter service information area, input or select the required information.
          Category
          Required
          Detailed description
          Secret nameRequiredEnter Secret name
          TypeRequiredSelect the type you want to manage encrypted with Secret from the list
          Key/Value inputRequiredEnter a pair of Secret information’s Key/Value
          • + Click to add up to 10
          • X Click to delete the entry
          Encryption KeyRequiredSelect the KMS key to use when encrypting the Secret from the list
          • Choose a key created in the KMS service from the list. Or click +Create New to create a KMS key
          • Only KMS keys for encryption/decryption can be selected. The selectable encryption/decryption KMS key types are encryption/decryption (AES-256), encryption/decryption and signing/verification (RSA-2048), encryption/decryption (ARIA) – three types
          • When entering Key/Value, input must be within 64 KB; registration is not allowed if the size exceeds this limit
          • For detailed information on creating a KMS key, refer to Create KMS Key
          Allowed Access IPRequiredEnter allowed access IP
          • After entering the IP address, click the Add button to register up to 10
          • Click the Delete All button to remove all IP entries from the list
          • You can register the 0.0.0.0/24 - 0.0.0.0/32 range, but it may be vulnerable to security
          DescriptionOptionEnter additional information for Secret
          Table. Secrets Manager service information input items
        • Additional Information Input area, enter or select the required information.
          Category
          Required
          Detailed description
          TagSelectAdd Tag
          • Up to 50 can be added per resource
          • After clicking the Add Tag button, enter or select Key, Value values
          Table. Secrets Manager Additional Information Input Items
      4. Summary Check the detailed information and estimated billing amount generated in the panel, and click the Complete button.

        • When creation is complete, check the created resource on the Secrets Manager List page.

      Secrets Manager View Detailed Information

      Secrets Manager can view and edit the full list of resources and detailed information. Secrets Manager Details page consists of Detail Information, Version, Tag, Operation History tabs.

      To view the detailed information of Secrets Manager, follow these steps.

      1. All Services > Security > Secrets Manager 메뉴를 클릭하세요. Secrets Manager의 Service Home 페이지로 이동합니다.
      2. Click the Secrets Manager menu on the Service Home page. Navigate to the Secrets Manager List page.
      3. Click the resource to view detailed information on the Secrets Manager List page. You will be taken to the Secrets Manager Details page.
        • Secrets Manager Details At the top of the page, status information and descriptions of additional features are displayed.
          CategoryDetailed description
          StatusDisplays the status of Secrets Manager
          • Active: Available/Active
          • To be Terminated: Scheduled for deletion
          Service terminationButton to cancel the service
          Table. Secrets Manager status information and additional features

      Detailed Information

      On the Secrets Manager List page, you can view the detailed information of the selected resource and, if necessary, edit the information.

      Category
      Detailed description
      ServiceService Name
      Resource TypeResource Type
      SRNUnique resource ID in Samsung Cloud Platform
      Resource NameResource Name
      Resource IDUnique resource ID in the service
      CreatorUser who created the service
      Creation Date/TimeService Creation Date/Time
      EditorUser who modified the service
      Modification Date/TimeService Modification Date/Time
      SecretName of the generated Secret
      Secret valueEntered Secret value
      • View button click after entering password allows checking and editing information in the Secret value view window
      TypeType of the generated Secret
      Recent search timestampRecent search timestamp of the generated Secret
      Encryption KeyDisplay the KMS key name selected by the user
      • Clicking the key name navigates to the KMS key detail page
      • Clicking the edit icon allows changing the key in the encryption key edit window
      Allowed Access IP (CIDR)Display registered access control IP information
      • Click the edit icon to modify the IP address
      DescriptionDisplay additional description for Secret
      • Click the edit icon to modify the description
      Table. Secrets Manager Detailed Information Tab Items

      Version

      On the Secrets Manager List page, you can use labels to track the version of a selected secret.

      Reference

      Refer to the definition of each item when checking the version information of Secret Manager.

      • Secret: Logical unit that stores sensitive (important) information
      • Version: A snapshot of unique data generated each time the Secret is modified (the unit that stores the actual value of the Secret)
      • Label: name tag or tag attached to a specific version of a Secret (a pointer to reference a specific version)
      CategoryDetailed description
      Version IDDisplays the ID of the current version, previous version, and the version with a custom label (Custom Label) set
      • Clicking the copy icon copies the version ID value
      LabelSecret version display
      • Current: current version
      • Previous: previous version
      • Custom: custom label
      Last Access TimeSecret’s Recent Access Time
      Creation TimeSecret’s creation time
      Table. Secrets Manager version tab items
      Caution

      The constraints when using the Secret version are as follows.

      • Up to 100 versions can be stored per Secret. If the number of versions exceeds 100, regardless of whether a custom label is set, the oldest versions will be deleted.
      • For important versions with custom labels, create a new Secret before the version is deleted due to quota exceedance, and configure the running application to reference the new Secret.

      Tag

      Secrets Manager List page allows you to view the tag information of the selected resource, and you can add, modify, or delete it.

      CategoryDetailed description
      Tag ListTag List
      • You can check the Key, Value information of tags
      • Up to 50 tags can be added per resource
      • When entering tags, search and select from the previously created Key and Value list
      Table. Secrets Manager tag tab items

      Work History

      You can view the operation history of the selected resource on the Secrets Manager list page.

      CategoryDetailed description
      Work DetailsWork Execution Content
      Work Date/TimeTask Execution Date/Time
      Resource TypeResource Type
      Resource NameResource Name
      Work ResultTask Execution Result (Success/Failure)
      Operator InformationInformation of the user who performed the work
      Table. Secrets Manager job history tab detailed information items

      Secrets Manager Cancel

      You can cancel the unused Secrets Manager.

      Caution
      If you cancel Secret Manager, you cannot use any features of Secrets Manager, and it will be permanently deleted after the cancellation waiting period. During the cancellation waiting period, the Secret cannot be searched.

      To cancel Secrets Manager, follow the steps below.

      1. All Services > Security > Secrets Manager 메뉴를 클릭하세요. Secrets Manager의 Service Home 페이지로 이동합니다.
      2. Click the Secrets Manager menu on the Service Home page. Go to the Secrets Manager List page.
      3. Click the resource to view detailed information on the Secrets Manager list page. It navigates to the Secrets Manager details page.
      4. Click the Cancel Service button on the Secrets Manager Details page. You will be taken to the Cancel Service popup.
      5. Service termination in the popup window, enter the cancellation waiting period and click the Confirm button.
        • The termination waiting period can be entered within the range of 7 - 30 days.
      6. After termination is complete, check on the Secrets Manager List page whether the resource has been terminated.
      Notice
      If you want to reuse the Secret during the termination waiting period, click Cancel Termination in the context menu of the desired Secret item on the Secrets Manager List page. If the termination cancellation succeeds, you can use the Secret again.

      12.3 - Release Note

      Secrets Manager

      2025.12.16
      NEW Secrets Manager Service Official Version Release
      • We have launched a service that encrypts customers’ sensitive information in the form of Secret (secure information) and safely stores and manages it.
      • You can remove hardcoding of security information in the application source code and call the securely stored Secret to retrieve it.

      13 - Log Transmission

      13.1 - Overview

      Service Overview

      Log Transmission collects and stores logs in real time from firewalls, IPS, DDoS security devices, and transmits them to the area needed by the customer as a service. It provides a foundation for performing security monitoring of the user area using those logs.

      Features

      • Security event log collection/transmission: Collect/store logs from security devices in real time and transmit security events.
      • Secure Log Storage/Transmission: Log data can be stored securely, and backup and recovery are possible when needed. Collected logs are safely stored in a redundant storage, and data is utilized using VPN services, etc. Sending safely.

      Diagram

      Diagram
      Figure. Log Transmission Concept Diagram

      Provided Features

      We provide the following features.

      • Various security log source integration
        • Real-time log collection from various log sources such as firewalls, IPS, DDoS security devices, etc.
      • Log filtering and processing
        • Filter out unnecessary logs or extract only the logs requested by the customer

      Components

      Log Transmission sends service log sources from Samsung Cloud Platform to the equipment or system desired by the customer.

      • The service runs by connecting via VPN to the customer’s office (server room) where the device that receives the log source is located.

      Constraints

      To use Log Transmission, please check the following items in advance.

      • Collect and send logs targeting Security products provided by Samsung Cloud Platform.
      • To send logs, you must be connected via VPN to the device that will receive the logs.

      Region-wise Provision Status

      Log Transmission is available in the environment below.

      RegionAvailability
      Korea West (kr-west1)Provided
      Korea East (kr-east1)Not provided
      South Korea South1(kr-south1)Not provided
      South Korea South2(kr-south2)Not provided
      South Korea 3 (kr-south3)Not provided
      Table. Log Transmission Regional Provision Status

      Preliminary Service

      This is a list of services that must be pre-configured before creating the Log Transmission service. For details, refer to the guide provided for each service and prepare in advance.

      Service CategoryServiceDetailed Description
      NetworkingDirect ConnectA service that safely and quickly connects the customer’s network with Samsung Cloud Platform.
      SecurityDDoS ProtectionLarge-scale network traffic attack detection and response service
      SecurityIPSA service that detects and responds to intrusions on websites and application servers in real time.
      SecuritySecured FirewallNext-generation firewall service that meets high security requirement levels
      Table. Log Transmission Pre-service
      • Log Transmission when executed, you must select the service to which logs should be sent. When the log transmission service target is determined, a VPN connection is required for secure log transmission.
      • Log Transmission service usage requires configuration work for communication between the client company’s Office (On-premise) and the client VPC within Samsung Cloud Platform. Please follow the process below, such as external integration software and VPN settings, Direct Connect firewall opening, to apply for an uplink line.
      1. Direct Connect Create the service.
      2. Create a connection between the client company’s VPC and DCon-VPN.
      3. Apply for an uplink line for communication between the client company’s on-premise and VPC.
        • Application path: Support Center > Service Request List > Service Request
        • Select Service: Networking > Direct Connect
        • Task type: Uplink line request
      4. Proceed with the routing configuration of the VPN path.
        • Firewall, Security Group, Direct Connect etc. configure the necessary routing information.
      Reference
      Direct Connect creation and Uplink line application must be completed to use the Log Transmission service.

      13.2 - How-to guides

      The user can create the service by entering the required information for using the Log Transmission service through the Samsung Cloud Platform Console.

      Log Transmission Create

      You can apply for and use the Log Transmission service from the Samsung Cloud Platform Console.

      To request the creation of the Log Transmission service, follow the steps below.

      1. All Services > Security > Log Transmission Click the menu. Navigate to Log Transmission’s Service Home page.

      2. Click the Log Transmission Service Request button on the Service Home page. Navigate to the Support Center > Service Request List > Service Request page.

      3. Service Request page, enter or select the relevant information in the required input fields.

        • In the work classification, select Create Log Transmission.
          Input ItemDetailed Description
          TitleEnter the title of the service request content
          • Example: Log Transmission Service Creation Request
          RegionSelect the location of Samsung Cloud Platform
          • Automatically filled with the region corresponding to the Account
          ServiceSelect the service category and service. Log Transmission service request button is pressed, it is entered automatically
          • Service Category: Security
          • Service: Log Transmission
          Task ClassificationSelect the type you want to request
          • Create Log Transmission: select when requesting a new service
          ContentGuidance on creating and applying basic customer information
          • Content to write: End customer/MSP information
          AttachmentUpload the completed Log Transmission service application form (required) and any additional files you wish to share
          • Each attached file must be within 5MB, and up to 5 files can be attached
          • Only doc, docx, xls, xlsx, ppt, ppts, hwp, txt, pdf, jpg, jpeg, png, gif, tif files can be attached
          Table. Log Transmission Service Creation Request Items
      4. After checking the application process and reference information, click the Form Download > Service Request Form Download button to download the Log Transmission Service Application Form.

      5. Log Transmission service application form please fill out.

        • Refer to the item descriptions in the Application Information and Control Information tabs, and fill out the required items.
          CategoryDetailed Content
          Application InformationWrite required items such as application type, usage period, recipient information, etc.
          • Application type: select application
          • Usage period: enter desired start date
          • Basic information: enter Account name, Project name, recipient information
          Monitoring InformationWrite required items such as log transmission target, client company usage IP (range), etc.
          • Write all items except special cases
          Table. Main contents of Log Transmission service creation application form
      6. Attach the completed application form in the attachment area.

      7. On the service request page, click the Request button.

        • When the application is completed, check the applied content on the Support Center > Service Request List page.
      8. After the monitoring officer verifies the submitted service request, the process for using the service proceeds.

      9. Log Transmission service will be launched.

      Log Transmission Check detailed information

      Log Transmission service proceeds with procedures after applying through SR. Unlike other services, Log Transmission detailed information cannot be viewed in the Console.

      • To view detailed information, click the Support Center > Inquiry List page’s Inquiry button. On the Inquiry page, you can write and submit your questions.

      Log Transmission Cancel

      To request cancellation of the Log Transmission service, follow the steps below.

      1. All Services > Management > Support Center Click the menu. Support Center > Service Home Navigate to the page.
      2. Support Center Service Home on the page, click the Service Request button. Navigate to the Service Request List page.
      3. Service Request List page, click the Service Request button. Service Request page will be opened.
      4. Service Request on the page, enter or select the relevant information in the required input fields.
        • In the work classification, select Log Transmission cancellation.
          Input ItemDetailed Description
          TitleEnter the title of the service request content
          • Example: Log Transmission Service Termination Request
          RegionSelect the location of Samsung Cloud Platform
          • Automatically filled with the region corresponding to the Account
          ServiceSelect service category and service
          • Service Category: Security
          • Service: Log Transmission
          Task ClassificationSelect the type you want to request
          • Log Transmission termination: select if you are terminating the service
          ContentGuidance on creating and applying basic customer information
          • Content to write: End customer/MSP information
          AttachmentUpload the completed Log Transmission service application form (required) and any additional files you wish to share
          • Each attached file can be up to 5 MB, with a maximum of 5 files
          • Only doc, docx, xls, xlsx, ppt, ppts, hwp, txt, pdf, jpg, jpeg, png, gif, tif files can be attached
          Table. Table. Log Transmission Service Termination Request Items
      5. After checking the Application Process and Reference Information, click the Form Download > Service Request Form Download button to download the Log Transmission Service Application Form.
      6. Log Transmission service application form please fill out.
        • Refer to the item descriptions in the Application Information and Control Information tabs, and fill out the required items.
          CategoryDetails
          Application InformationFill in required items such as application type, usage period, recipient information, etc.
          • Application Type: Select Application
          • Usage Period: Enter desired service termination date
          • Basic Information: Enter Account name, Project name, recipient information
          • Usage amount does not need to be filled
          Control InformationWrite required items such as log transmission target, client company usage IP (range) etc.
          • Write all items except special cases
          Table. Log Transmission Service Termination Application Form Main Contents
      7. Attach the completed application form in the attachment area.
      8. On the service request page, click the Request button.
        • When the application is completed, check the submitted details on the Support Center > Service Request list page.
      9. After the monitoring officer confirms the submitted service request, if the log transmission target and the customer’s used IP (range) are deleted, the termination process is completed.
        • Service termination takes 2-3 business days, including the cancellation request date.

      13.3 - Release Note

      Log Transmission

      2025.10.23
      NEW Log Transmission Service Official Version Release
      • We have released a Log Transmission service that can execute security monitoring of the user area on Samsung Cloud Platform.