Security Secrets (Reference)let you securely store sensitive values : Securely store and manage sensitive credentials such as passwords or keys. These secrets can then be reused in Datasets and Device/TagProvider configurations , API keys, and connection strings without exposing plain-text credentialsvalues in your configuration.
Security Secrets provide:
Table of Contents maxLevel 2 minLevel 2 indent 10px exclude Steps style none
Each Secret has the following properties:
PropertyDescriptionRequired
NameUnique identifier for the secretYes
SecretTypeDefines type of secret (e.g., Password)Yes
SecretValueEncrypted credential valueYes
DescriptionOptional notes or purposeNo
Access at: Security → Secrets
Property | Description | Required | Access Control |
---|---|---|---|
Name | Unique identifier for the secret | Yes | All users |
SecretType | Type of credential (Password, APIKey, Token) | Yes | All users |
SecretValue | Encrypted credential value | Yes | Administrators only |
Description | Documentation of usage/purpose | No | All users |
Important: Only administrators can view or
Only administrators canedit SecretValue. Standard users can reference
existingsecrets
but not view them.Name | SecretType | SecretValue | Description |
---|---|---|---|
Secret1 | Password | ****** | Used for Runtime Users DB connection |
/secret-<name>
.Example: Assigning Secret1
to RuntimeUsers database login password.
DBRuntimePass
instead of Secret1
).in configurations but cannot see the actual values.
Type | Use Case | Example |
---|---|---|
Password | Database connections, user authentication | SQL Server password |
APIKey | Web service authentication | REST API key |
Token | Bearer tokens, OAuth tokens | JWT token |
Certificate | SSL/TLS certificates | Client certificate |
ConnectionString | Full connection strings | MongoDB connection |
When configuring database connections:
Example:
Database: RuntimeUsers
Authentication: SQL Server Auth
Username: dbuser
Password: [Secret: DBRuntimePass]
For MQTT, OPC UA, and other protocols:
/secret-<SecretName>
Example:
MQTT Broker Authentication:
Username: mqttuser
Password: /secret-MQTTBrokerPass
Secrets can be referenced in scripts:
csharp
// Get secret value (requires admin permission)
string password = @Security.GetSecret("DBPassword");
// Use in connection string
string connStr = $"Server=localhost;User={user};Password={password}";
Name | SecretType | SecretValue | Description |
---|---|---|---|
DBProductionPass | Password | ******** | Production SQL Server |
MQTTBrokerKey | APIKey | ******** | MQTT cloud broker API |
OPCServerCert | Certificate | ******** | OPC UA client certificate |
AzureStorageKey | Token | ******** | Azure blob storage access |
RuntimeUsersDBPass
Password
[encrypted]
RuntimeUsers SQL authentication
[Secret: RuntimeUsersDBPass]
Action | Administrator | Engineer | Operator |
---|---|---|---|
Create Secret | ? | ? | ? |
Edit SecretValue | ? | ? | ? |
View SecretValue | ? | ? | ? |
Reference in Config | ? | ? | ? |
View Secret List | ? | ? | ? |
Pattern | Example | Use For |
---|---|---|
DB<System>Pass | DBHistorianPass | Database passwords |
API<Service>Key | APIWeatherKey | API keys |
MQTT<Broker>Pass | MQTTAzurePass | MQTT credentials |
OPC<Server>Cert | OPCPlantCert | OPC certificates |
ProductionSQLPass
Secret1
DevDBPass
, ProdDBPass
When exporting solutions:
For containerized deployments:
FRAMEWORKX_SECRET_DBPassword=actualpassword
FRAMEWORKX_SECRET_MQTTKey=actualkey
Issue | Cause | Solution |
---|---|---|
"Secret not found" | Typo in reference | Check exact secret name |
"Access denied" | Insufficient permissions | Use administrator account |
Connection fails | Wrong secret value | Verify and re-enter value |
Secret list empty | Filter applied | Check module filter settings |
Test secret configuration:
Secret operations are logged:
Page Tree | ||||
---|---|---|---|---|
|