mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2026-10-09 07:47:54 +02:00
Add IAM gRPC service definition
- Add GetConfiguration/PutConfiguration for config management - Add CreateUser/GetUser/UpdateUser/DeleteUser/ListUsers for user management - Add CreateAccessKey/DeleteAccessKey/GetUserByAccessKey for access key management - Methods mirror existing IAM HTTP API functionality
This commit is contained in:
1 parent
59d40f7186
commit
94157f4bb3
1 file changed
+98
@@ -9,7 +9,105 @@ option java_outer_classname = "IamProto";
|
||||
//////////////////////////////////////////////////
|
||||
|
||||
service SeaweedIdentityAccessManagement {
|
||||
// Configuration Management
|
||||
rpc GetConfiguration (GetConfigurationRequest) returns (GetConfigurationResponse);
|
||||
rpc PutConfiguration (PutConfigurationRequest) returns (PutConfigurationResponse);
|
||||
|
||||
// User Management
|
||||
rpc CreateUser (CreateUserRequest) returns (CreateUserResponse);
|
||||
rpc GetUser (GetUserRequest) returns (GetUserResponse);
|
||||
rpc UpdateUser (UpdateUserRequest) returns (UpdateUserResponse);
|
||||
rpc DeleteUser (DeleteUserRequest) returns (DeleteUserResponse);
|
||||
rpc ListUsers (ListUsersRequest) returns (ListUsersResponse);
|
||||
|
||||
// Access Key Management
|
||||
rpc CreateAccessKey (CreateAccessKeyRequest) returns (CreateAccessKeyResponse);
|
||||
rpc DeleteAccessKey (DeleteAccessKeyRequest) returns (DeleteAccessKeyResponse);
|
||||
rpc GetUserByAccessKey (GetUserByAccessKeyRequest) returns (GetUserByAccessKeyResponse);
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////
|
||||
// Configuration Management Messages
|
||||
|
||||
message GetConfigurationRequest {
|
||||
}
|
||||
|
||||
message GetConfigurationResponse {
|
||||
S3ApiConfiguration configuration = 1;
|
||||
}
|
||||
|
||||
message PutConfigurationRequest {
|
||||
S3ApiConfiguration configuration = 1;
|
||||
}
|
||||
|
||||
message PutConfigurationResponse {
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////
|
||||
// User Management Messages
|
||||
|
||||
message CreateUserRequest {
|
||||
Identity identity = 1;
|
||||
}
|
||||
|
||||
message CreateUserResponse {
|
||||
}
|
||||
|
||||
message GetUserRequest {
|
||||
string username = 1;
|
||||
}
|
||||
|
||||
message GetUserResponse {
|
||||
Identity identity = 1;
|
||||
}
|
||||
|
||||
message UpdateUserRequest {
|
||||
string username = 1;
|
||||
Identity identity = 2;
|
||||
}
|
||||
|
||||
message UpdateUserResponse {
|
||||
}
|
||||
|
||||
message DeleteUserRequest {
|
||||
string username = 1;
|
||||
}
|
||||
|
||||
message DeleteUserResponse {
|
||||
}
|
||||
|
||||
message ListUsersRequest {
|
||||
}
|
||||
|
||||
message ListUsersResponse {
|
||||
repeated string usernames = 1;
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////
|
||||
// Access Key Management Messages
|
||||
|
||||
message CreateAccessKeyRequest {
|
||||
string username = 1;
|
||||
Credential credential = 2;
|
||||
}
|
||||
|
||||
message CreateAccessKeyResponse {
|
||||
}
|
||||
|
||||
message DeleteAccessKeyRequest {
|
||||
string username = 1;
|
||||
string access_key = 2;
|
||||
}
|
||||
|
||||
message DeleteAccessKeyResponse {
|
||||
}
|
||||
|
||||
message GetUserByAccessKeyRequest {
|
||||
string access_key = 1;
|
||||
}
|
||||
|
||||
message GetUserByAccessKeyResponse {
|
||||
Identity identity = 1;
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////
|
||||
|
||||
Reference in new issue
Block a user