Service to manage Users and Teams in TSB
Teams
The Teams service provides methods to manage the Users and Teams that exist in an Organization.
Users and Teams are periodically synchronized from the Identity Provider (IdP) configured for the Organization, but TSB allows creating local teams to provide extended flexibility in how Users and Teams are grouped, and to provide a comprehensive way of creating more fine-grained access control policies.
GetUser
rpc GetUser (tetrateio.api.tsb.v2.GetUserRequest) returns (tetrateio.api.tsb.v2.User)
Requires READ
Get the details of an existing user.
ListUsers
rpc ListUsers (tetrateio.api.tsb.v2.ListUsersRequest) returns (tetrateio.api.tsb.v2.ListUsersResponse)
List existing users.
GenerateTokens
rpc GenerateTokens (tetrateio.api.tsb.v2.GenerateTokensRequest) returns (tetrateio.api.tsb.v2.TokenResponse)
Requires CreateUser
Deprecated. This method will be removed in future versions of TSB. Use Service Accounts instead.
Generate the tokens for a local user account so it can authenticate against management plane. This method will return an error if the user account is not of type MANUAL. Credentials for normal platform users must be configured in the corresponding Identity Provider.
CreateTeam
rpc CreateTeam (tetrateio.api.tsb.v2.CreateTeamRequest) returns (tetrateio.api.tsb.v2.Team)
Requires CREATE
Create a new team.
GetTeam
rpc GetTeam (tetrateio.api.tsb.v2.GetTeamRequest) returns (tetrateio.api.tsb.v2.Team)
Requires READ
Get the details of an existing team.
UpdateTeam
rpc UpdateTeam (tetrateio.api.tsb.v2.Team) returns (tetrateio.api.tsb.v2.Team)
Requires WRITE
Modify an existing team.
ListTeams
rpc ListTeams (tetrateio.api.tsb.v2.ListTeamsRequest) returns (tetrateio.api.tsb.v2.ListTeamsResponse)
List all existing teams.
DeleteTeam
rpc DeleteTeam (tetrateio.api.tsb.v2.DeleteTeamRequest) returns (google.protobuf.Empty)
Requires DELETE
Delete a team. Note that deleting a team only deletes the team itself, but not its members.
CreateServiceAccount
rpc CreateServiceAccount (tetrateio.api.tsb.v2.CreateServiceAccountRequest) returns (tetrateio.api.tsb.v2.ServiceAccount)
Requires CREATE
Create Service Account in TSB. Service Accounts are local to TSB and can be used to access the platform using JWT tokens signed with the Service Account’s private key for authentication.
GetServiceAccount
rpc GetServiceAccount (tetrateio.api.tsb.v2.GetServiceAccountRequest) returns (tetrateio.api.tsb.v2.ServiceAccount)
Requires READ
Get the details of an existing Service Account.
GetServiceAccountJWKS
rpc GetServiceAccountJWKS (tetrateio.api.tsb.v2.GetServiceAccountJWKSRequest) returns (tetrateio.api.tsb.v2.JWKS)
Get all the public keys available in the service account and return them in a JWKS document. See: https://datatracker.ietf.org/doc/html/rfc7517 Requests to this endpoint require read permissions on the service account, or a token signed with one of the service account keys.
UpdateServiceAccount
rpc UpdateServiceAccount (tetrateio.api.tsb.v2.ServiceAccount) returns (tetrateio.api.tsb.v2.ServiceAccount)
Requires WRITE
Update the details of a service account. Updating the details of the service account does not regenerate its keys.
ListServiceAccounts
rpc ListServiceAccounts (tetrateio.api.tsb.v2.ListServiceAccountsRequest) returns (tetrateio.api.tsb.v2.ListServiceAccountsResponse)
List existing Service Accounts.
DeleteServiceAccount
rpc DeleteServiceAccount (tetrateio.api.tsb.v2.DeleteServiceAccountRequest) returns (google.protobuf.Empty)
Requires DELETE
Delete the given Service account.
GenerateServiceAccountKey
rpc GenerateServiceAccountKey (tetrateio.api.tsb.v2.GenerateServiceAccountKeyRequest) returns (tetrateio.api.tsb.v2.ServiceAccount)
Requires WriteServiceAccount
Generate a new key-pair for the service account. Note that TSB does not store the generated private key, so the client must read it and store it securely.
DeleteServiceAccountKey
rpc DeleteServiceAccountKey (tetrateio.api.tsb.v2.DeleteServiceAccountKeyRequest) returns (tetrateio.api.tsb.v2.ServiceAccount)
Requires WriteServiceAccount
Delete a key-pair associated the service account.
CreateServiceAccountRequest
Request to create a ServiceAccount.
Field | Description | Validation Rule |
---|---|---|
parent |
string |
string = { |
name |
string |
string = { |
serviceAccount |
tetrateio.api.tsb.v2.ServiceAccount |
message = { |
keyEncoding |
tetrateio.api.tsb.v2.ServiceAccount.KeyPair.Encoding |
– |
CreateTeamRequest
Request to create a Team.
Field | Description | Validation Rule |
---|---|---|
parent |
string |
string = { |
name |
string |
string = { |
team |
tetrateio.api.tsb.v2.Team |
message = { |
DeleteServiceAccountKeyRequest
Delete a key-pair associated with the Service Account.
Field | Description | Validation Rule |
---|---|---|
fqn |
string |
string = { |
id |
string |
string = { |
DeleteServiceAccountRequest
Request to delete a ServiceAccount.
Field | Description | Validation Rule |
---|---|---|
fqn |
string |
string = { |
DeleteTeamRequest
Request to delete a Team.
Field | Description | Validation Rule |
---|---|---|
fqn |
string |
string = { |
GenerateServiceAccountKeyRequest
Request to generate a new key-pair for the Service Account.
Field | Description | Validation Rule |
---|---|---|
fqn |
string |
string = { |
keyEncoding |
tetrateio.api.tsb.v2.ServiceAccount.KeyPair.Encoding |
– |
GetServiceAccountJWKSRequest
Request to retrieve all the public keys under a service account.
Field | Description | Validation Rule |
---|---|---|
fqn |
string |
string = { |
GetServiceAccountRequest
Request to retrieve a Service Account.
Field | Description | Validation Rule |
---|---|---|
fqn |
string |
string = { |
keyEncoding |
tetrateio.api.tsb.v2.ServiceAccount.KeyPair.Encoding |
– |
GetTeamRequest
Request to retrieve a Team.
Field | Description | Validation Rule |
---|---|---|
fqn |
string |
string = { |
GetUserRequest
Request to retrieve a User.
Field | Description | Validation Rule |
---|---|---|
fqn |
string |
string = { |
JWKS
JSON Web Key Set. Refer to https://datatracker.ietf.org/doc/html/rfc7517
Field | Description | Validation Rule |
---|---|---|
keys |
List of tetrateio.api.tsb.v2.JWKS.JWK |
– |
JWK
JSON Web Key. Refer to https://datatracker.ietf.org/doc/html/rfc7517
Field | Description | Validation Rule |
---|---|---|
alg |
string |
– |
kty |
string |
– |
use |
string |
– |
n |
string |
– |
e |
string |
– |
kid |
string |
– |
ListServiceAccountsRequest
Request to list Service Accounts.
Field | Description | Validation Rule |
---|---|---|
parent |
string |
string = { |
keyEncoding |
tetrateio.api.tsb.v2.ServiceAccount.KeyPair.Encoding |
– |
ListServiceAccountsResponse
List of existing Service Accounts.
Field | Description | Validation Rule |
---|---|---|
serviceAccounts |
– |
ListTeamsRequest
Request to list Teams.
Field | Description | Validation Rule |
---|---|---|
parent |
string |
string = { |
ListTeamsResponse
List of existing teams.
Field | Description | Validation Rule |
---|---|---|
teams |
List of tetrateio.api.tsb.v2.Team |
– |
ListUsersRequest
Request to list Users.
Field | Description | Validation Rule |
---|---|---|
parent |
string |
string = { |
ListUsersResponse
List of existing Users.
Field | Description | Validation Rule |
---|---|---|
users |
List of tetrateio.api.tsb.v2.User |
– |
TokenResponse
Contains a pair of tokens for a user that can be used to authenticate against TSB.
Field | Description | Validation Rule |
---|---|---|
accessToken |
string |
– |
refreshToken |
string |
– |