diff --git a/backend/src/ee/services/gateway/gateway-service.ts b/backend/src/ee/services/gateway/gateway-service.ts index 8f3ab3f9f..1d3b87e15 100644 --- a/backend/src/ee/services/gateway/gateway-service.ts +++ b/backend/src/ee/services/gateway/gateway-service.ts @@ -230,7 +230,7 @@ export const gatewayServiceFactory = ({ orgPermission.authMethod, orgPermission.orgId ); - ForbiddenError.from(permission).throwUnlessCan(OrgGatewayPermissionActions.Create, OrgPermissionSubjects.Gateway); + ForbiddenError.from(permission).throwUnlessCan(OrgGatewayPermissionActions.Read, OrgPermissionSubjects.Gateway); const rootCa = await orgGatewayRootCaDAL.findOne({ orgId: orgPermission.orgId }); if (!rootCa) return []; @@ -248,7 +248,7 @@ export const gatewayServiceFactory = ({ orgPermission.authMethod, orgPermission.orgId ); - ForbiddenError.from(permission).throwUnlessCan(OrgGatewayPermissionActions.Create, OrgPermissionSubjects.Gateway); + ForbiddenError.from(permission).throwUnlessCan(OrgGatewayPermissionActions.Read, OrgPermissionSubjects.Gateway); const rootCa = await orgGatewayRootCaDAL.findOne({ orgId: orgPermission.orgId }); if (!rootCa) throw new NotFoundError({ message: `Gateway with ID ${id} not found.` }); @@ -265,7 +265,7 @@ export const gatewayServiceFactory = ({ orgPermission.authMethod, orgPermission.orgId ); - ForbiddenError.from(permission).throwUnlessCan(OrgGatewayPermissionActions.Create, OrgPermissionSubjects.Gateway); + ForbiddenError.from(permission).throwUnlessCan(OrgGatewayPermissionActions.Delete, OrgPermissionSubjects.Gateway); const rootCa = await orgGatewayRootCaDAL.findOne({ orgId: orgPermission.orgId }); if (!rootCa) throw new NotFoundError({ message: `Gateway with ID ${id} not found.` }); diff --git a/backend/src/ee/services/permission/org-permission.ts b/backend/src/ee/services/permission/org-permission.ts index c83a30f25..272dc6de4 100644 --- a/backend/src/ee/services/permission/org-permission.ts +++ b/backend/src/ee/services/permission/org-permission.ts @@ -274,6 +274,10 @@ const buildAdminPermission = () => { can(OrgPermissionAppConnectionActions.Delete, OrgPermissionSubjects.AppConnections); can(OrgPermissionAppConnectionActions.Connect, OrgPermissionSubjects.AppConnections); + can(OrgGatewayPermissionActions.Read, OrgPermissionSubjects.Gateway); + can(OrgGatewayPermissionActions.Edit, OrgPermissionSubjects.Gateway); + can(OrgGatewayPermissionActions.Delete, OrgPermissionSubjects.Gateway); + can(OrgPermissionAdminConsoleAction.AccessAllProjects, OrgPermissionSubjects.AdminConsole); can(OrgPermissionKmipActions.Setup, OrgPermissionSubjects.Kmip); @@ -310,6 +314,7 @@ const buildMemberPermission = () => { can(OrgPermissionActions.Read, OrgPermissionSubjects.AuditLogs); can(OrgPermissionAppConnectionActions.Connect, OrgPermissionSubjects.AppConnections); + can(OrgGatewayPermissionActions.Read, OrgPermissionSubjects.Gateway); return rules; };