Variables and Audit Logs
This section covers two critical administrative features: Customer Variables for managing sensitive data and Audit Logs for tracking system activity.
Customer Variables
Customer Variables provide a secure way to store sensitive information that needs to be accessed by your custom components during the image build process.
Managing Variables
The Customer Variables page displays a table of all defined variables. For security reasons, the values of these variables are never displayed in the interface after they are created.
- Add Variable: When adding a new variable, you provide a name and a value. The value is encrypted immediately. It is only shown during the creation process, so ensure you have the correct information before saving.
- Delete Variable: You can remove variables that are no longer needed. Note that any components or templates relying on a deleted variable will fail during their next build attempt.
Common Use Cases
- Secrets for Custom Components: Store API keys, passwords, or license strings required by your installation scripts.
- UEFI Signing Keys: Manage keys used for Azure trusted launch or other secure boot configurations.
- Environment-Specific Settings: Define variables that differ between your development and production image factories.
Audit Logs
The Audit Logs page provides a comprehensive, searchable record of all state-changing operations performed within your ImageFactory environment. This is a vital tool for security auditing, troubleshooting, and compliance.
The Audit Table
The table displays key information for every logged event:
- Timestamp: The exact time the operation occurred.
- User/Identity: The email of the user or the name of the API key that initiated the action.
- Operation Type: A description of the action performed (e.g., CREATE_TEMPLATE, UPDATE_COMPONENT).
- HTTP Method: The underlying request method (e.g., POST, PUT, DELETE).
- Response Status: The result of the operation (e.g., 200 OK, 403 Forbidden).
Searching and Filtering
To locate specific events, you can use the built-in search and filter tools:
- Date Range: Narrow down logs to a specific period.
- Operation Type: Filter by specific actions to investigate changes to certain resources.
- User Filter: View all actions performed by a specific individual or API key.
Event Details
Clicking on any entry in the audit table opens a detail view. This view includes the full request payload and the ID of the resource that was affected. This level of detail is invaluable for understanding exactly what changed and why.
You can query variables and audit logs using the GraphQL API. This allows you to integrate audit data into your centralized logging or SIEM systems.
query GetAuditLogs($filter: AuditLogFilter) {
auditLogs(filter: $filter) {
items {
timestamp
identity
operation
status
}
}
}
query ListVariables {
variables {
name
# Value is not retrievable via API for security
}
}
By effectively using Customer Variables, you can keep your component scripts clean and secure. Meanwhile, the Audit Logs provide the transparency needed to maintain a secure and compliant image building pipeline.