Enforcing Read-Only Access for External OPC Clients in SIMATIC OpenPCS 7 (OPC UA and OPC DA)
In SIMATIC OpenPCS 7, denying write access to process tags for external OPC UA and OPC DA clients is achieved through layered security controls: 1) Configuring OPC UA user role permissions with digital certificates and User Token authentication, 2) Restricting Windows user group privileges via SIMATIC Logon by excluding external client accounts from the 'SIMATIC HMI' operator groups, and 3) Configuring the WinCC Tag Management access rights or removing write attributes on AS technological block parameters.
Table of Contents
- OpenPCS 7 Interface Security Architecture (OPC UA and OPC DA)
- Restricting OPC UA Client Write Access via User Roles and Certificates
- Enforcing Read-Only Authorization via SIMATIC Logon and Windows Groups
- Tag-Level and Block-Level Protection in PCS 7 Engineering
- Verification
- Limitations and Operational Precautions
- Engineer FAQ
- Technical References
- Related Articles
- Related Tags
OpenPCS 7 Interface Security Architecture (OPC UA and OPC DA)
SIMATIC OpenPCS 7 serves as the standardized, manufacturer-supported gateway connecting PCS 7 automation systems to higher-level Manufacturing Execution Systems (MES), Enterprise Resource Planning (ERP), and third-party data historians.
OpenPCS 7 exposes plant data through four standard specifications:
1. OPC DA (Data Access): Classic COM/DCOM-based real-time process value streaming.
2. OPC HDA (Historical Data Access): Queries historical Tag Logging archives.
3. OPC A&E (Alarms & Events): Real-time alarm and event notifications.
4. OPC UA (Unified Architecture): Cross-platform, firewall-friendly binary protocol with integrated cryptographic signing and encryption.
In many industrial security architectures, external business networks require full read visibility of plant telemetry but must be strictly prohibited from commanding valves, motors, or modifying setpoints.
Restricting OPC UA Client Write Access via User Roles and Certificates
In OpenPCS 7 OPC UA server configuration:
* Certificate Authentication: External OPC UA clients must exchange X.509 digital certificates with the OpenPCS 7 server. Unsigned or unapproved client certificates are placed into the Rejected certificate store, preventing connection.
* User Identity Tokens: Rather than allowing anonymous access, configure the OPC UA server to enforce Username / Password authentication.
* Role-Based Access Control: In the OpenPCS 7 OPC UA configuration file (OpcUaServerWinCC.xml), map the authenticated external user credentials to a Read-Only role, revoking WriteAttribute and WriteValue permissions across all address space nodes.
Enforcing Read-Only Authorization via SIMATIC Logon and Windows Groups
For classic OPC DA and OpenPCS 7 integration, access permissions are governed by Windows User Management and SIMATIC Logon:
[Windows User Accounts on OpenPCS 7 Station]
│
├─► Create Dedicated User Account: "MES_OPC_Client"
│
├─► Assign Group Memberships:
│ • Add to: "SIMATIC HMI Viewer" (Grants read/browse permissions)
│ • DO NOT ADD TO: "SIMATIC HMI" (Operator write permission)
│ • DO NOT ADD TO: "SIMATIC HMI Administrators" (Full administrative write)
│
▼
[WinCC User Administrator Configuration]
│ • Verify that Authorization Level 5 ("Process Controlling / Writing")
│ is denied to the MES_OPC_Client role
▼
[Runtime Enforcement]
│ • External OPC client authenticates via DCOM or OPC UA
│ • Read requests (OPC_READ) return STATUS_OK
│ • Write requests (OPC_WRITE) are intercepted and rejected with E_ACCESSDENIED
Tag-Level and Block-Level Protection in PCS 7 Engineering
The table below outlines security mechanisms across the DCS architecture:
SIMATIC HMI Viewer)E_ACCESSDENIED).VAR_OUTPUT onlyVerification
To confirm that write access is properly blocked for external OPC clients:
1. Connect to the OpenPCS 7 server using a diagnostic OPC UA client (such as UAExpert or Siemens OPC Scout) utilizing the external client credentials.
2. Browse the tag hierarchy; verify that all plant variables, analog values, and binary states are readable and update dynamically.
3. Select an operational analog setpoint (e.g. TIC101.SP) and execute a synchronous write command (OPC_WRITE).
4. Verify that the OPC client receives an explicit error response: BadUserAccessDenied (0x801F0000) or E_ACCESSDENIED (0x80070005).
5. Open the WinCC and OpenPCS 7 diagnostic logs; confirm that an unauthorized write attempt was recorded in the security audit trail without altering controller memory.
Limitations and Operational Precautions
Never use classic DCOM authentication with blank passwords or anonymous guest accounts for OpenPCS 7 OPC DA. Anonymous access bypasses SIMATIC Logon role verification and may permit unauthenticated write requests. Always assign dedicated, password-protected Windows service accounts with strict minimal privileges for external software integrations.
Engineer FAQ
Can I make only specific tags read-only while allowing writes to others?
Yes. In the WinCC User Administrator, assign different authorization levels to specific tag groups or pictures. Users lacking the authorization level assigned to a specific tag will be denied write access to that tag.
Why does OPC DA write fail silently in some third-party clients?
Some legacy OPC DA clients execute asynchronous writes (IOPCAsyncIO2) without evaluating write complete callbacks. In OpenPCS 7, unauthorized writes return an error callback, but poorly designed clients may fail to display the rejection.
Does OpenPCS 7 require a separate license?
Yes. OpenPCS 7 requires an engineering and runtime license (OpenPCS 7 V8.x) installed on the OpenPCS 7 station via Automation License Manager.
Is OPC UA more secure than OPC DA for external connections?
Yes, significantly. OPC UA incorporates native cryptographic signing, 256-bit AES encryption, user authentication tokens, and traverses corporate firewalls using a single configurable TCP port (typically 4862), eliminating fragile DCOM configurations.
Technical References
- SIMATIC Process Control System PCS 7 OpenPCS 7 Manual (V8.1 / V8.2) - A5E36188448-AA
- OPC Unified Architecture Specification Part 4 - Services
- Siemens Industry Online Support (SIOS) Entry ID 109780813 - OpenPCS 7 Security Guidelines
Related Articles
- Interfacing Emerson Rosemount Systems with SIMATIC PCS 7 S7-400H Controllers - OPC DA-UA vs Modbus TCP and Fieldbus Bridges
- Implementing FDA 21 CFR Part 11 Audit Trails in SIMATIC PCS 7 - Standard Operation List vs WinCC Audit
- Architectural Sizing and Scalability Limits of SIMATIC Process Historian - WinCC OS Servers and OPC Clients
Related Tags
- OpenPCS 7
- OPC UA
- OPC DA
- Read-Only Access
- SIMATIC Logon