hbase/hbase-protocol/src/main/protobuf/AccessControl.proto

100 lines
2.4 KiB
Protocol Buffer
Raw Normal View History

/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
option java_package = "org.apache.hadoop.hbase.protobuf.generated";
option java_outer_classname = "AccessControlProtos";
option java_generic_services = true;
option java_generate_equals_and_hash = true;
option optimize_for = SPEED;
message Permission {
enum Action {
READ = 0;
WRITE = 1;
EXEC = 2;
CREATE = 3;
ADMIN = 4;
}
repeated Action action = 1;
optional bytes table = 2;
optional bytes family = 3;
optional bytes qualifier = 4;
}
message UserPermission {
required bytes user = 1;
required Permission permission = 2;
}
/**
* Content of the /hbase/acl/<table> znode.
*/
message UserTablePermissions {
message UserPermissions {
required bytes user = 1;
repeated Permission permissions = 2;
}
repeated UserPermissions permissions = 1;
}
message GrantRequest {
required UserPermission permission = 1;
}
message GrantResponse {
}
message RevokeRequest {
required UserPermission permission = 1;
}
message RevokeResponse {
}
message UserPermissionsRequest {
required bytes table = 1;
}
message UserPermissionsResponse {
repeated UserPermission permission = 1;
}
message CheckPermissionsRequest {
repeated Permission permission = 1;
}
message CheckPermissionsResponse {
}
service AccessControlService {
rpc grant(GrantRequest)
returns (GrantResponse);
rpc revoke(RevokeRequest)
returns (RevokeResponse);
rpc getUserPermissions(UserPermissionsRequest)
returns (UserPermissionsResponse);
rpc checkPermissions(CheckPermissionsRequest)
returns (CheckPermissionsResponse);
}