Selaa lähdekoodia

[libsentry] Switch to V2 of the Sentry API

Romain Rigaux 10 vuotta sitten
vanhempi
commit
6b3e3a8

+ 13 - 13
desktop/libs/libsentry/gen-py/sentry_policy_service/ttypes.py

@@ -271,7 +271,7 @@ class TCreateSentryRoleRequest(object):
 
   thrift_spec = (
     None, # 0
-    (1, TType.I32, 'protocol_version', None, 1, ), # 1
+    (1, TType.I32, 'protocol_version', None, 2, ), # 1
     (2, TType.STRING, 'requestorUserName', None, None, ), # 2
     (3, TType.STRING, 'roleName', None, None, ), # 3
   )
@@ -424,7 +424,7 @@ class TDropSentryRoleRequest(object):
 
   thrift_spec = (
     None, # 0
-    (1, TType.I32, 'protocol_version', None, 1, ), # 1
+    (1, TType.I32, 'protocol_version', None, 2, ), # 1
     (2, TType.STRING, 'requestorUserName', None, None, ), # 2
     (3, TType.STRING, 'roleName', None, None, ), # 3
   )
@@ -578,7 +578,7 @@ class TAlterSentryRoleAddGroupsRequest(object):
 
   thrift_spec = (
     None, # 0
-    (1, TType.I32, 'protocol_version', None, 1, ), # 1
+    (1, TType.I32, 'protocol_version', None, 2, ), # 1
     (2, TType.STRING, 'requestorUserName', None, None, ), # 2
     (3, TType.STRING, 'roleName', None, None, ), # 3
     None, # 4
@@ -755,7 +755,7 @@ class TAlterSentryRoleDeleteGroupsRequest(object):
 
   thrift_spec = (
     None, # 0
-    (1, TType.I32, 'protocol_version', None, 1, ), # 1
+    (1, TType.I32, 'protocol_version', None, 2, ), # 1
     (2, TType.STRING, 'requestorUserName', None, None, ), # 2
     (3, TType.STRING, 'roleName', None, None, ), # 3
     None, # 4
@@ -933,7 +933,7 @@ class TAlterSentryRoleGrantPrivilegeRequest(object):
 
   thrift_spec = (
     None, # 0
-    (1, TType.I32, 'protocol_version', None, 1, ), # 1
+    (1, TType.I32, 'protocol_version', None, 2, ), # 1
     (2, TType.STRING, 'requestorUserName', None, None, ), # 2
     (3, TType.STRING, 'roleName', None, None, ), # 3
     None, # 4
@@ -1155,7 +1155,7 @@ class TAlterSentryRoleRevokePrivilegeRequest(object):
 
   thrift_spec = (
     None, # 0
-    (1, TType.I32, 'protocol_version', None, 1, ), # 1
+    (1, TType.I32, 'protocol_version', None, 2, ), # 1
     (2, TType.STRING, 'requestorUserName', None, None, ), # 2
     (3, TType.STRING, 'roleName', None, None, ), # 3
     None, # 4
@@ -1341,7 +1341,7 @@ class TListSentryRolesRequest(object):
 
   thrift_spec = (
     None, # 0
-    (1, TType.I32, 'protocol_version', None, 1, ), # 1
+    (1, TType.I32, 'protocol_version', None, 2, ), # 1
     (2, TType.STRING, 'requestorUserName', None, None, ), # 2
     (3, TType.STRING, 'groupName', None, None, ), # 3
   )
@@ -1723,7 +1723,7 @@ class TListSentryPrivilegesRequest(object):
 
   thrift_spec = (
     None, # 0
-    (1, TType.I32, 'protocol_version', None, 1, ), # 1
+    (1, TType.I32, 'protocol_version', None, 2, ), # 1
     (2, TType.STRING, 'requestorUserName', None, None, ), # 2
     None, # 3
     (4, TType.STRING, 'roleName', None, None, ), # 4
@@ -1910,7 +1910,7 @@ class TDropPrivilegesRequest(object):
 
   thrift_spec = (
     None, # 0
-    (1, TType.I32, 'protocol_version', None, 1, ), # 1
+    (1, TType.I32, 'protocol_version', None, 2, ), # 1
     (2, TType.STRING, 'requestorUserName', None, None, ), # 2
     (3, TType.STRUCT, 'authorizable', (TSentryAuthorizable, TSentryAuthorizable.thrift_spec), None, ), # 3
   )
@@ -2065,7 +2065,7 @@ class TRenamePrivilegesRequest(object):
 
   thrift_spec = (
     None, # 0
-    (1, TType.I32, 'protocol_version', None, 1, ), # 1
+    (1, TType.I32, 'protocol_version', None, 2, ), # 1
     (2, TType.STRING, 'requestorUserName', None, None, ), # 2
     (3, TType.STRUCT, 'oldAuthorizable', (TSentryAuthorizable, TSentryAuthorizable.thrift_spec), None, ), # 3
     (4, TType.STRUCT, 'newAuthorizable', (TSentryAuthorizable, TSentryAuthorizable.thrift_spec), None, ), # 4
@@ -2318,7 +2318,7 @@ class TListSentryPrivilegesForProviderRequest(object):
 
   thrift_spec = (
     None, # 0
-    (1, TType.I32, 'protocol_version', None, 1, ), # 1
+    (1, TType.I32, 'protocol_version', None, 2, ), # 1
     (2, TType.SET, 'groups', (TType.STRING,None), None, ), # 2
     (3, TType.STRUCT, 'roleSet', (TSentryActiveRoleSet, TSentryActiveRoleSet.thrift_spec), None, ), # 3
     (4, TType.STRUCT, 'authorizableHierarchy', (TSentryAuthorizable, TSentryAuthorizable.thrift_spec), None, ), # 4
@@ -2597,7 +2597,7 @@ class TListSentryPrivilegesByAuthRequest(object):
 
   thrift_spec = (
     None, # 0
-    (1, TType.I32, 'protocol_version', None, 1, ), # 1
+    (1, TType.I32, 'protocol_version', None, 2, ), # 1
     (2, TType.STRING, 'requestorUserName', None, None, ), # 2
     (3, TType.SET, 'authorizableSet', (TType.STRUCT,(TSentryAuthorizable, TSentryAuthorizable.thrift_spec)), None, ), # 3
     (4, TType.SET, 'groups', (TType.STRING,None), None, ), # 4
@@ -2814,7 +2814,7 @@ class TSentryConfigValueRequest(object):
 
   thrift_spec = (
     None, # 0
-    (1, TType.I32, 'protocol_version', None, 1, ), # 1
+    (1, TType.I32, 'protocol_version', None, 2, ), # 1
     (2, TType.STRING, 'propertyName', None, None, ), # 2
     (3, TType.STRING, 'defaultValue', None, None, ), # 3
   )

+ 4 - 1
desktop/libs/libsentry/thrift/sentry_common_service.thrift

@@ -25,7 +25,9 @@ namespace php sentry.service.thrift
 namespace cpp Apache.Sentry.Service.Thrift
 
 const i32 TSENTRY_SERVICE_V1 = 1;
-const i32 TSENTRY_SERVICE_V2 = 1;
+// Made a backward incompatible change when adding column level privileges.
+// We also added generalized model in this version
+const i32 TSENTRY_SERVICE_V2 = 2;
 
 const i32 TSENTRY_STATUS_OK = 0;
 const i32 TSENTRY_STATUS_ALREADY_EXISTS = 1;
@@ -33,6 +35,7 @@ const i32 TSENTRY_STATUS_NO_SUCH_OBJECT = 2;
 const i32 TSENTRY_STATUS_RUNTIME_ERROR = 3;
 const i32 TSENTRY_STATUS_INVALID_INPUT = 4;
 const i32 TSENTRY_STATUS_ACCESS_DENIED = 5;
+const i32 TSENTRY_STATUS_THRIFT_VERSION_MISMATCH = 6;
 
 struct TSentryResponseStatus {
 1: required i32 value,

+ 14 - 14
desktop/libs/libsentry/thrift/sentry_policy_service.thrift

@@ -41,7 +41,7 @@ enum TSentryGrantOption {
 
 # Represents a Privilege in transport from the client to the server
 struct TSentryPrivilege {
-1: required string privilegeScope, # Valid values are SERVER, DATABASE, TABLE
+1: required string privilegeScope, # Valid values are SERVER, DATABASE, TABLE, COLUMN, URI
 3: required string serverName,
 4: optional string dbName = "",
 5: optional string tableName = "",
@@ -59,7 +59,7 @@ struct TSentryGroup {
 
 # CREATE ROLE r1
 struct TCreateSentryRoleRequest {
-1: required i32 protocol_version = sentry_common_service.TSENTRY_SERVICE_V1,
+1: required i32 protocol_version = sentry_common_service.TSENTRY_SERVICE_V2,
 2: required string requestorUserName, # user on whose behalf the request is issued
 3: required string roleName, # TSentryRole is not required for this request
 }
@@ -69,7 +69,7 @@ struct TCreateSentryRoleResponse {
 
 # DROP ROLE r1
 struct TDropSentryRoleRequest {
-1: required i32 protocol_version = sentry_common_service.TSENTRY_SERVICE_V1,
+1: required i32 protocol_version = sentry_common_service.TSENTRY_SERVICE_V2,
 2: required string requestorUserName, # user on whose behalf the request is issued
 3: required string roleName # role to drop
 }
@@ -79,7 +79,7 @@ struct TDropSentryRoleResponse {
 
 # GRANT ROLE r1 TO GROUP g1
 struct TAlterSentryRoleAddGroupsRequest {
-1: required i32 protocol_version = sentry_common_service.TSENTRY_SERVICE_V1,
+1: required i32 protocol_version = sentry_common_service.TSENTRY_SERVICE_V2,
 2: required string requestorUserName, # user on whose behalf the request is issued
 3: required string roleName,
 5: required set<TSentryGroup> groups
@@ -91,7 +91,7 @@ struct TAlterSentryRoleAddGroupsResponse {
 
 # REVOLE ROLE r1 FROM GROUP g1
 struct TAlterSentryRoleDeleteGroupsRequest {
-1: required i32 protocol_version = sentry_common_service.TSENTRY_SERVICE_V1,
+1: required i32 protocol_version = sentry_common_service.TSENTRY_SERVICE_V2,
 2: required string requestorUserName, # user on whose behalf the request is issued
 3: required string roleName,
 5: required set<TSentryGroup> groups
@@ -102,7 +102,7 @@ struct TAlterSentryRoleDeleteGroupsResponse {
 
 # GRANT ... ON ... TO ROLE ...
 struct TAlterSentryRoleGrantPrivilegeRequest {
-1: required i32 protocol_version = sentry_common_service.TSENTRY_SERVICE_V1,
+1: required i32 protocol_version = sentry_common_service.TSENTRY_SERVICE_V2,
 2: required string requestorUserName, # user on whose behalf the request is issued
 3: required string roleName,
 5: optional TSentryPrivilege privilege,
@@ -116,7 +116,7 @@ struct TAlterSentryRoleGrantPrivilegeResponse {
 
 # REVOKE ... ON ... FROM ROLE ...
 struct TAlterSentryRoleRevokePrivilegeRequest {
-1: required i32 protocol_version = sentry_common_service.TSENTRY_SERVICE_V1,
+1: required i32 protocol_version = sentry_common_service.TSENTRY_SERVICE_V2,
 2: required string requestorUserName, # user on whose behalf the request is issued
 3: required string roleName,
 5: optional TSentryPrivilege privilege,
@@ -128,7 +128,7 @@ struct TAlterSentryRoleRevokePrivilegeResponse {
 
 # SHOW ROLE GRANT
 struct TListSentryRolesRequest {
-1: required i32 protocol_version = sentry_common_service.TSENTRY_SERVICE_V1,
+1: required i32 protocol_version = sentry_common_service.TSENTRY_SERVICE_V2,
 2: required string requestorUserName, # user on whose behalf the request is issued
 3: optional string groupName # for this group, or all roles for all groups if null
 }
@@ -153,7 +153,7 @@ struct TSentryAuthorizable {
 
 # SHOW GRANT
 struct TListSentryPrivilegesRequest {
-1: required i32 protocol_version = sentry_common_service.TSENTRY_SERVICE_V1,
+1: required i32 protocol_version = sentry_common_service.TSENTRY_SERVICE_V2,
 2: required string requestorUserName, # user on whose behalf the request is issued
 4: required string roleName, # get privileges assigned for this role
 5: optional TSentryAuthorizable authorizableHierarchy # get privileges assigned for this role
@@ -165,7 +165,7 @@ struct TListSentryPrivilegesResponse {
 
 # Drop privilege
 struct TDropPrivilegesRequest {
-1: required i32 protocol_version = sentry_common_service.TSENTRY_SERVICE_V1,
+1: required i32 protocol_version = sentry_common_service.TSENTRY_SERVICE_V2,
 2: required string requestorUserName, # user on whose behalf the request is issued
 3: required TSentryAuthorizable authorizable
 }
@@ -175,7 +175,7 @@ struct TDropPrivilegesResponse {
 }
 
 struct TRenamePrivilegesRequest {
-1: required i32 protocol_version = sentry_common_service.TSENTRY_SERVICE_V1,
+1: required i32 protocol_version = sentry_common_service.TSENTRY_SERVICE_V2,
 2: required string requestorUserName, # user on whose behalf the request is issued
 3: required TSentryAuthorizable oldAuthorizable
 4: required TSentryAuthorizable newAuthorizable
@@ -194,7 +194,7 @@ struct TSentryActiveRoleSet {
 2: required set<string> roles,
 }
 struct TListSentryPrivilegesForProviderRequest {
-1: required i32 protocol_version = sentry_common_service.TSENTRY_SERVICE_V1,
+1: required i32 protocol_version = sentry_common_service.TSENTRY_SERVICE_V2,
 2: required set<string> groups,
 3: required TSentryActiveRoleSet roleSet,
 4: optional TSentryAuthorizable authorizableHierarchy,
@@ -210,7 +210,7 @@ struct TSentryPrivilegeMap {
 1: required map<string, set<TSentryPrivilege>> privilegeMap
 }
 struct TListSentryPrivilegesByAuthRequest {
-1: required i32 protocol_version = sentry_common_service.TSENTRY_SERVICE_V1,
+1: required i32 protocol_version = sentry_common_service.TSENTRY_SERVICE_V2,
 2: required string requestorUserName, # user on whose behalf the request is issued
 3: required set<TSentryAuthorizable> authorizableSet,
 4: optional set<string> groups,
@@ -223,7 +223,7 @@ struct TListSentryPrivilegesByAuthResponse {
 
 # Obtain a config value from the Sentry service
 struct TSentryConfigValueRequest {
-1: required i32 protocol_version = sentry_common_service.TSENTRY_SERVICE_V1,
+1: required i32 protocol_version = sentry_common_service.TSENTRY_SERVICE_V2,
 2: required string propertyName, # Config attribute to obtain
 3: optional string defaultValue # Value if propertyName not found
 }