The Data Hub plugin defines custom permissions for fine-grained access control.
| Permission | Description |
|---|---|
CreateDataHubPipeline |
Create new pipelines |
ReadDataHubPipeline |
View pipelines and definitions |
UpdateDataHubPipeline |
Modify existing pipelines |
DeleteDataHubPipeline |
Delete pipelines |
RunDataHubPipeline |
Execute pipelines |
PublishDataHubPipeline |
Publish pipeline versions |
ReviewDataHubPipeline |
Review and approve pipelines |
| Permission | Description |
|---|---|
CreateDataHubSecret |
Create new secrets |
ReadDataHubSecret |
View secret metadata (not values) |
UpdateDataHubSecret |
Modify secrets |
DeleteDataHubSecret |
Delete secrets |
| Permission | Description |
|---|---|
ViewDataHubRuns |
View execution history |
RetryDataHubRecord |
Retry failed records |
ManageDataHubConnections |
Manage external connections |
ManageDataHubAdapters |
Configure adapters |
UpdateDataHubSettings |
Modify plugin settings |
| Permission | Description |
|---|---|
ViewQuarantine |
View quarantined records |
EditQuarantine |
Modify quarantined records |
ReplayRecord |
Replay processed records |
import { bootstrap } from '@vendure/core';
const config: VendureConfig = {
// ...
};
bootstrap(config).then(async app => {
const roleService = app.get(RoleService);
await roleService.create({
code: 'data-hub-operator',
description: 'Can run and monitor pipelines',
permissions: [
'ReadDataHubPipeline',
'RunDataHubPipeline',
'ViewDataHubRuns',
'ViewQuarantine',
],
});
});
View pipelines and runs without making changes:
Permissions:
- ReadDataHubPipeline
- ViewDataHubRuns
- ViewQuarantine
Run pipelines and handle errors:
Permissions:
- ReadDataHubPipeline
- RunDataHubPipeline
- ViewDataHubRuns
- ViewQuarantine
- RetryDataHubRecord
Create and modify pipelines:
Permissions:
- CreateDataHubPipeline
- ReadDataHubPipeline
- UpdateDataHubPipeline
- DeleteDataHubPipeline
- RunDataHubPipeline
- ViewDataHubRuns
- ViewQuarantine
- RetryDataHubRecord
Full access to all features:
Permissions:
- CreateDataHubPipeline
- ReadDataHubPipeline
- UpdateDataHubPipeline
- DeleteDataHubPipeline
- RunDataHubPipeline
- PublishDataHubPipeline
- ReviewDataHubPipeline
- CreateDataHubSecret
- ReadDataHubSecret
- UpdateDataHubSecret
- DeleteDataHubSecret
- ViewDataHubRuns
- RetryDataHubRecord
- ManageDataHubConnections
- ManageDataHubAdapters
- UpdateDataHubSettings
- ViewQuarantine
- EditQuarantine
- ReplayRecord
The plugin uses Vendure’s @Allow decorator:
@Allow(Permission.ReadDataHubPipeline)
@Query()
dataHubPipelines() { ... }
@Allow(Permission.RunDataHubPipeline)
@Mutation()
startDataHubPipelineRun() { ... }
import { RequestContext, PermissionGuard } from '@vendure/core';
async function checkCanRun(ctx: RequestContext): Promise<boolean> {
return ctx.userHasPermission('RunDataHubPipeline');
}
The Super Admin role automatically has all permissions, including Data Hub permissions.
Permissions are scoped to channels. An administrator with ReadDataHubPipeline in Channel A cannot view pipelines in Channel B.
To allow cross-channel access, assign the permission in each required channel or use the global channel.