◇ OpenCyber Academy
Engineering · Chapter 13 · English

Chapter 13 — Data systems

Open, free learning for anyone who wants to protect people and technology. No account is required to read this text or its worked answers.

Chapter 13 — Data systems

Lesson map

Lesson 13 published. Map, example, EX037.

flowchart TD
  N0["Learning outcomes"]
  N1["13.1 Historians are crown jewels"]
  N2["13.2 Minimize extracts"]
  N3["13.3 Synthetic process data"]
  N4["Practice note"]
  N5["13.1b Row-level and column-level controls"]
  N6["Synthesis"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6
  N6 --> EX["Worked example"]
  EX --> Q["Exercise EX037"]

Logical drawing

flowchart LR
  N0["Learning outcomes"]
  N1["13.1 Historians are crown jewels"]
  N2["13.2 Minimize extracts"]
  N3["13.3 Synthetic process data"]
  N4["Practice note"]
  N5["13.1b Row-level and column-level controls"]
  N6["Synthesis"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> Q["EX037"]
[Learning outcomes]
    |
    v
[13.1 Historians are crown jewels]
    |
    v
[13.2 Minimize extracts]
    |
    v
[13.3 Synthetic process data]
    |
    v
[Practice note]
    |
    v
[13.1b Row-level and column-level controls]
    |
    v
[Synthesis]
    |
    v
[Worked example] --> [Exercise EX037]

Learning outcomes

You will (1) protect historian and recipe data without blocking operations; (2) scope database assessment without extracting proprietary batches; (3) design synthetic datasets for labs.

13.1 Historians are crown jewels

Historians hold process values that reveal production rates, recipes and sometimes quality data. Unauthorized writes can corrupt batch records; unauthorized reads can leak commercial data. Zone them (L3), allow read paths through controlled replicas, and never expose SQL to L4.

At ABP, HIST-1 sits in L3 and office users read from the DMZ replica, never from the control-zone historian. Write access to HIST-1 is limited to the collection service, and every change to batch records is logged. Lena checks both paths during each conduit review.

13.2 Minimize extracts

Authorized database work uses synthetic or masked copies. Exporting real batch genealogy into a student laptop is a confidentiality incident. The work permit must state: no full dumps, column allow-lists, row limits, destroy-by date.

Lena's work permit for historian access lists the allowed columns and the row limit in plain words. Extracts go to an approved analysis host, not a personal laptop, and their deletion is recorded. A request for more data than the question needs is narrowed before any query runs.

13.3 Synthetic process data

Generate deterministic tank levels and setpoints with fixed seeds so labs reproduce. The CUSUM and PI labs do this; never copy a production historian into the course repository.

Synthetic case — Ashford Batch Plant. Ops provided Lena with a week of synthetic T-1/T-2/R-101 values at 1 Hz for detector trials — no customer order numbers, no operator names.

ABP's week of synthetic T-1, T-2 and R-101 values at one-hertz resolution was generated this way, and its seed is recorded with the dataset. Lena reruns the generator to confirm the file matches before each trial.

13.4 Errors and limits

Masking that leaves unique rare recipes can still identify production runs. Prefer synthetic generation for teaching.

A recipe that ABP runs only twice a year can identify the batch even with names removed. Lena therefore uses synthetic data for teaching and keeps masked real data only for investigations that truly need it, with access limited to the investigators. Masking choices are recorded and reviewed with the quality team. Rare-batch cases are listed in the extract request. The quality team reviews those cases before release.

Practice note

Draw the data-flow: sensor to PLC to historian to replica to L4 reports. Every arrow needs an owner and a protocol. Mystery arrows are where exfiltration and accidental exposure live.

13.1b Row-level and column-level controls

Modern historians and warehouses offer row and column policies. Assessment questions become: does role R see column C? Does row filter F apply? Test with the role itself. Document the historian's policy engine version; "we queried the historian as an administrator" proves little about what a CNHP analyst account can see. Record each role-and-column result with the account used and the date, so the next review repeats exactly the same checks.

Lena tests ABP's replica with an analyst account before each review. Results go in the review notes.

13.5 Worked example — a minimised historian extract (synthetic ABP)

Quality engineers request "all R-101 data for last year". Lena's extract contains only the four tags the deviation investigation needs (reactor temperature, jacket temperature, agitator speed, feed valve position) at one-minute resolution, for the 11 batches under review, with batch IDs replaced by study codes and the operator-name column dropped. The extract is a read from the DMZ replica, never from the control-zone historian, and the query text and a SHA-256 hash of the output file go into the request ticket so the same rows can be reproduced or deleted later. The result is 11 × 4 tags × about 480 minutes ≈ 21,000 rows instead of tens of millions.

Exercises

Synthesis

Minimize data, test roles, synthesize for teaching. The historian is not a trophy store.

Continue studying — chapter 13 of 50

← Chapter 12 (draft) · Course chapter index · Chapter 14 (draft) →