@cubejs-backend/api-gateway 0.30.42 → 0.30.43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [0.30.43](https://github.com/cube-js/cube.js/compare/v0.30.42...v0.30.43) (2022-07-28)
7
+
8
+
9
+ ### Features
10
+
11
+ * **cubesql:** Security Context switching (Row Access) ([731e1ab](https://github.com/cube-js/cube.js/commit/731e1ab6d9362fb9a1857f5276e22a565f79781c))
12
+
13
+
14
+
15
+
16
+
6
17
  ## [0.30.42](https://github.com/cube-js/cube.js/compare/v0.30.41...v0.30.42) (2022-07-27)
7
18
 
8
19
  **Note:** Version bump only for package @cubejs-backend/api-gateway
@@ -2,9 +2,9 @@ import type { Request as ExpressRequest, Response as ExpressResponse, NextFuncti
2
2
  import { QueryTimeDimensionGranularity } from './types/strings';
3
3
  import { QueryType } from './types/enums';
4
4
  import { QueryFilter, LogicalAndFilter, LogicalOrFilter, QueryTimeDimension, Query, NormalizedQueryFilter, NormalizedQuery } from './types/query';
5
- import { JWTOptions, CheckAuthFn, CheckSQLAuthSuccessResponse, CheckSQLAuthFn } from './types/auth';
5
+ import { JWTOptions, CheckAuthFn, CheckSQLAuthSuccessResponse, CheckSQLAuthFn, CanSwitchSQLUserFn } from './types/auth';
6
6
  import { RequestContext, RequestExtension, ExtendedRequestContext, Request, QueryRewriteFn, SecurityContextExtractorFn, ExtendContextFn } from './types/request';
7
- export { QueryTimeDimensionGranularity, QueryType, QueryFilter, LogicalAndFilter, LogicalOrFilter, QueryTimeDimension, Query, NormalizedQueryFilter, NormalizedQuery, JWTOptions, CheckAuthFn, CheckSQLAuthSuccessResponse, CheckSQLAuthFn, RequestContext, RequestExtension, ExtendedRequestContext, Request, QueryRewriteFn, SecurityContextExtractorFn, ExtendContextFn, };
7
+ export { QueryTimeDimensionGranularity, QueryType, QueryFilter, LogicalAndFilter, LogicalOrFilter, QueryTimeDimension, Query, NormalizedQueryFilter, NormalizedQuery, JWTOptions, CheckAuthFn, CheckSQLAuthSuccessResponse, CheckSQLAuthFn, CanSwitchSQLUserFn, RequestContext, RequestExtension, ExtendedRequestContext, Request, QueryRewriteFn, SecurityContextExtractorFn, ExtendContextFn, };
8
8
  /**
9
9
  * Auth middleware.
10
10
  * @deprecated
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,IAAI,cAAc,EACzB,QAAQ,IAAI,eAAe,EAC3B,YAAY,IAAI,mBAAmB,EACpC,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,6BAA6B,EAC9B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,SAAS,EACV,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,KAAK,EACL,qBAAqB,EACrB,eAAe,EAChB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,UAAU,EACV,WAAW,EACX,2BAA2B,EAC3B,cAAc,EACf,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,OAAO,EACP,cAAc,EACd,0BAA0B,EAC1B,eAAe,EAChB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,6BAA6B,EAC7B,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,KAAK,EACL,qBAAqB,EACrB,eAAe,EACf,UAAU,EACV,WAAW,EACX,2BAA2B,EAC3B,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,OAAO,EACP,cAAc,EACd,0BAA0B,EAC1B,eAAe,GAChB,CAAC;AAEF;;;GAGG;AACH,oBAAY,qBAAqB,GAChC,CACE,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,mBAAmB,KACtB,IAAI,CAAC;AAEX;;;GAGG;AACH,oBAAY,yBAAyB,GACnC,CACE,GAAG,EAAE,cAAc,EACnB,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,mBAAmB,KACtB,IAAI,CAAC"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,IAAI,cAAc,EACzB,QAAQ,IAAI,eAAe,EAC3B,YAAY,IAAI,mBAAmB,EACpC,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,6BAA6B,EAC9B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,SAAS,EACV,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,KAAK,EACL,qBAAqB,EACrB,eAAe,EAChB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,UAAU,EACV,WAAW,EACX,2BAA2B,EAC3B,cAAc,EACd,kBAAkB,EACnB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,OAAO,EACP,cAAc,EACd,0BAA0B,EAC1B,eAAe,EAChB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,6BAA6B,EAC7B,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,KAAK,EACL,qBAAqB,EACrB,eAAe,EACf,UAAU,EACV,WAAW,EACX,2BAA2B,EAC3B,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,OAAO,EACP,cAAc,EACd,0BAA0B,EAC1B,eAAe,GAChB,CAAC;AAEF;;;GAGG;AACH,oBAAY,qBAAqB,GAChC,CACE,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,mBAAmB,KACtB,IAAI,CAAC;AAEX;;;GAGG;AACH,oBAAY,yBAAyB,GACnC,CACE,GAAG,EAAE,cAAc,EACnB,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,mBAAmB,KACtB,IAAI,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":";;;AAUA,yCAEuB;AA+BrB,0FAhCA,iBAAS,OAgCA"}
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":";;;AAUA,yCAEuB;AAgCrB,0FAjCA,iBAAS,OAiCA"}
@@ -1,12 +1,14 @@
1
- import { SqlInterfaceInstance, Request as NativeRequest } from '@cubejs-backend/native';
1
+ import { SqlInterfaceInstance, Request as NativeRequest, LoadRequestMeta } from '@cubejs-backend/native';
2
2
  import type { ApiGateway } from './gateway';
3
- import type { CheckSQLAuthFn, ExtendedRequestContext } from './interfaces';
3
+ import type { CheckSQLAuthFn, ExtendedRequestContext, CanSwitchSQLUserFn } from './interfaces';
4
4
  export declare type SQLServerOptions = {
5
5
  checkSqlAuth?: CheckSQLAuthFn;
6
+ canSwitchSqlUser?: CanSwitchSQLUserFn;
6
7
  sqlPort?: number;
7
8
  pgSqlPort?: number;
8
9
  sqlNonce?: string;
9
10
  sqlUser?: string;
11
+ sqlSuperUser?: string;
10
12
  sqlPassword?: string;
11
13
  };
12
14
  export declare class SQLServer {
@@ -15,8 +17,9 @@ export declare class SQLServer {
15
17
  constructor(apiGateway: ApiGateway);
16
18
  init(options: SQLServerOptions): Promise<void>;
17
19
  protected wrapCheckSqlAuthFn(checkSqlAuth: CheckSQLAuthFn): CheckSQLAuthFn;
20
+ protected createDefaultCanSwitchSqlUserFn(options: SQLServerOptions): CanSwitchSQLUserFn;
18
21
  protected createDefaultCheckSqlAuthFn(options: SQLServerOptions): CheckSQLAuthFn;
19
- protected contextByNativeReq(req: NativeRequest, securityContext: any, requestId: string): Promise<ExtendedRequestContext>;
22
+ protected contextByNativeReq(req: NativeRequest<LoadRequestMeta>, securityContext: any, requestId: string): Promise<ExtendedRequestContext>;
20
23
  close(): Promise<void>;
21
24
  }
22
25
  //# sourceMappingURL=sql-server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sql-server.d.ts","sourceRoot":"","sources":["../../src/sql-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,oBAAoB,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAIxH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAE3E,oBAAY,gBAAgB,GAAG;IAC7B,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,qBAAa,SAAS;IAIlB,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU;IAH3C,SAAS,CAAC,oBAAoB,EAAE,oBAAoB,GAAG,IAAI,CAAQ;gBAG9C,UAAU,EAAE,UAAU;IAQ9B,IAAI,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgE3D,SAAS,CAAC,kBAAkB,CAAC,YAAY,EAAE,cAAc,GAAG,cAAc;IAe1E,SAAS,CAAC,2BAA2B,CAAC,OAAO,EAAE,gBAAgB,GAAG,cAAc;cAkChE,kBAAkB,CAAC,GAAG,EAAE,aAAa,EAAE,eAAe,KAAA,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAS9G,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAGpC"}
1
+ {"version":3,"file":"sql-server.d.ts","sourceRoot":"","sources":["../../src/sql-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,oBAAoB,EACpB,OAAO,IAAI,aAAa,EACxB,eAAe,EAChB,MAAM,wBAAwB,CAAC;AAIhC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAE/F,oBAAY,gBAAgB,GAAG;IAC7B,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,gBAAgB,CAAC,EAAE,kBAAkB,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,qBAAa,SAAS;IAIlB,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU;IAH3C,SAAS,CAAC,oBAAoB,EAAE,oBAAoB,GAAG,IAAI,CAAQ;gBAG9C,UAAU,EAAE,UAAU;IAQ9B,IAAI,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiF3D,SAAS,CAAC,kBAAkB,CAAC,YAAY,EAAE,cAAc,GAAG,cAAc;IAe1E,SAAS,CAAC,+BAA+B,CAAC,OAAO,EAAE,gBAAgB,GAAG,kBAAkB;IAYxF,SAAS,CAAC,2BAA2B,CAAC,OAAO,EAAE,gBAAgB,GAAG,cAAc;cAkChE,kBAAkB,CAAC,GAAG,EAAE,aAAa,CAAC,eAAe,CAAC,EAAE,eAAe,KAAA,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAS/H,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAGpC"}
@@ -35,20 +35,23 @@ class SQLServer {
35
35
  }
36
36
  const checkSqlAuth = (options.checkSqlAuth && this.wrapCheckSqlAuthFn(options.checkSqlAuth))
37
37
  || this.createDefaultCheckSqlAuthFn(options);
38
+ const canSwitchSqlUser = options.canSwitchSqlUser
39
+ || this.createDefaultCanSwitchSqlUserFn(options);
38
40
  this.sqlInterfaceInstance = await native_1.registerInterface({
39
41
  port: options.sqlPort,
40
42
  pgPort: options.pgSqlPort,
41
43
  nonce: options.sqlNonce,
42
44
  checkAuth: async ({ request, user }) => {
43
- const { password } = await checkSqlAuth(request, user);
45
+ const { password, superuser } = await checkSqlAuth(request, user);
44
46
  // Strip securityContext to improve speed deserialization
45
47
  return {
46
- password
48
+ password,
49
+ superuser: superuser || false,
47
50
  };
48
51
  },
49
- meta: async ({ request, user }) => {
52
+ meta: async ({ request, session }) => {
50
53
  // @todo Store security context in native
51
- const { securityContext } = await checkSqlAuth(request, user);
54
+ const { securityContext } = await checkSqlAuth(request, session.user);
52
55
  const context = await this.apiGateway.contextByReq(request, securityContext, request.id);
53
56
  // eslint-disable-next-line no-async-promise-executor
54
57
  return new Promise(async (resolve, reject) => {
@@ -65,10 +68,20 @@ class SQLServer {
65
68
  }
66
69
  });
67
70
  },
68
- load: async ({ request, user, query }) => {
69
- // @todo Store security context in native
70
- const { securityContext } = await checkSqlAuth(request, user);
71
- const context = await this.contextByNativeReq(request, securityContext, request.id);
71
+ load: async ({ request, session, query }) => {
72
+ let userForContext = session.user;
73
+ if (request.meta.changeUser && request.meta.changeUser !== session.user) {
74
+ const canSwitch = session.superuser || await canSwitchSqlUser(session.user, request.meta.changeUser);
75
+ if (canSwitch) {
76
+ userForContext = request.meta.changeUser;
77
+ }
78
+ else {
79
+ throw new Error(`You cannot change security context via __user from ${session.user} to ${request.meta.changeUser}, because it's not allowed.`);
80
+ }
81
+ }
82
+ // @todo Store security context in native for session's user, but not for switching
83
+ const current = await checkSqlAuth(request, userForContext);
84
+ const context = await this.contextByNativeReq(request, current.securityContext, request.id);
72
85
  // eslint-disable-next-line no-async-promise-executor
73
86
  return new Promise(async (resolve, reject) => {
74
87
  try {
@@ -101,6 +114,15 @@ class SQLServer {
101
114
  return response;
102
115
  };
103
116
  }
117
+ createDefaultCanSwitchSqlUserFn(options) {
118
+ const superUser = options.sqlSuperUser || shared_1.getEnv('sqlSuperUser');
119
+ return async (current, _user) => {
120
+ if (superUser) {
121
+ return current === superUser;
122
+ }
123
+ return false;
124
+ };
125
+ }
104
126
  createDefaultCheckSqlAuthFn(options) {
105
127
  let allowedUser = options.sqlUser || shared_1.getEnv('sqlUser');
106
128
  let allowedPassword = options.sqlPassword || shared_1.getEnv('sqlPassword');
@@ -116,7 +138,7 @@ class SQLServer {
116
138
  }
117
139
  return async (req, user) => {
118
140
  if (allowedUser && user !== allowedUser) {
119
- throw new Error('Incorrect user name or password');
141
+ throw new Error(`Incorrect user name "${user}" or password`);
120
142
  }
121
143
  return {
122
144
  password: allowedPassword,
@@ -1 +1 @@
1
- {"version":3,"file":"sql-server.js","sourceRoot":"","sources":["../../src/sql-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sql-server.js","sourceRoot":"","sources":["../../src/sql-server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@cubejs-backend/api-gateway",
3
3
  "description": "Cube.js API Gateway",
4
4
  "author": "Cube Dev, Inc.",
5
- "version": "0.30.42",
5
+ "version": "0.30.43",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "https://github.com/cube-js/cube.js.git",
@@ -27,8 +27,8 @@
27
27
  "dist/src/*"
28
28
  ],
29
29
  "dependencies": {
30
- "@cubejs-backend/native": "^0.30.42",
31
- "@cubejs-backend/shared": "^0.30.34",
30
+ "@cubejs-backend/native": "^0.30.43",
31
+ "@cubejs-backend/shared": "^0.30.43",
32
32
  "@hapi/joi": "^15.1.1",
33
33
  "@ungap/structured-clone": "^0.3.4",
34
34
  "body-parser": "^1.19.0",
@@ -81,5 +81,5 @@
81
81
  ".*\\.d\\.ts"
82
82
  ]
83
83
  },
84
- "gitHead": "7500c4565a250aefa3b15b31096118952e7a9ff0"
84
+ "gitHead": "52877ac0ea70657a49f155b5b68bee53ef779bd5"
85
85
  }