Seldon PermissionManagementService API
The PermissionManagementService API from Seldon — 11 operation(s) for permissionmanagementservice.
The PermissionManagementService API from Seldon — 11 operation(s) for permissionmanagementservice.
openapi: 3.0.0
info:
description: 'API to interact and manage the lifecycle of your machine learning models
deployed through Seldon Deploy.'
title: Seldon Deploy AlertingService PermissionManagementService API
version: v1alpha1
servers:
- url: http://X.X.X.X/seldon-deploy/api/v1alpha1
- url: https://X.X.X.X/seldon-deploy/api/v1alpha1
security:
- OAuth2:
- '[]'
tags:
- name: PermissionManagementService
paths:
/iam/groups:
get:
summary: Endpoint is available only when user management is enabled configured - refer to the docs for how to do this. List all groups. The caller must have `read` permission on `system/iam`.
operationId: PermissionManagementService_GetGroups
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/v1GetGroupsResponse'
'400':
description: Bad Request
content:
application/json:
schema: {}
'403':
description: Forbidden
content:
application/json:
schema: {}
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
tags:
- PermissionManagementService
post:
summary: Endpoint is available only when user management is enabled configured - refer to the docs for how to do this. Create a group. The caller must have `write` permission on `system/iam`.
operationId: PermissionManagementService_CreateGroup
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/v1CreateGroupResponse'
'400':
description: Bad Request
content:
application/json:
schema: {}
'403':
description: Forbidden
content:
application/json:
schema: {}
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/v1CreateGroupRequest'
required: true
tags:
- PermissionManagementService
/iam/groups/{groupName}/members:
get:
summary: Endpoint is available only when user management is enabled configured - refer to the docs for how to do this. List all members of a group. The caller must have `read` permission on `system/iam`.
operationId: PermissionManagementService_GetGroupMembers
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/v1GetGroupMembersResponse'
'400':
description: Bad Request
content:
application/json:
schema: {}
'403':
description: Forbidden
content:
application/json:
schema: {}
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
parameters:
- name: groupName
description: The name of the group for which to get members.
in: path
required: true
schema:
type: string
tags:
- PermissionManagementService
/iam/groups/{name}:
delete:
summary: Endpoint is available only when user management is enabled configured - refer to the docs for how to do this. Delete a group. The caller must have `write` permission on `system/iam`.
operationId: PermissionManagementService_DeleteGroup
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/v1DeleteGroupResponse'
'400':
description: Bad Request
content:
application/json:
schema: {}
'403':
description: Forbidden
content:
application/json:
schema: {}
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
parameters:
- name: name
description: The name of the group to be deleted.
in: path
required: true
schema:
type: string
tags:
- PermissionManagementService
/iam/policy:
delete:
summary: Delete an authorization policy. The user must have `grant` permissions on the resource in the policy.
operationId: PermissionManagementService_DeletePolicy
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/v1DeletePolicyResponse'
'400':
description: Bad Request
content:
application/json:
schema: {}
'403':
description: Forbidden
content:
application/json:
schema: {}
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
parameters:
- name: users
description: The user IDs from which to revoke the given resource/action permission.
in: query
required: false
explode: true
schema:
type: array
items:
type: string
- name: groups
description: The groups from which to revoke the given resource/action permission.
in: query
required: false
explode: true
schema:
type: array
items:
type: string
- name: action
description: The action part of the resource/action permission to revoke.
in: query
required: true
schema:
type: string
- name: resource
description: The resource part of the resource/action permission to revoke.
in: query
required: true
schema:
type: string
tags:
- PermissionManagementService
post:
summary: Create an authorization policy. The user must have `grant` permissions on the resource in the policy.
operationId: PermissionManagementService_CreatePolicy
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/v1CreatePolicyResponse'
'400':
description: Bad Request
content:
application/json:
schema: {}
'403':
description: Forbidden
content:
application/json:
schema: {}
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/v1Policy'
required: true
tags:
- PermissionManagementService
/iam/policy/permissions:
get:
summary: List all permissions associated with the given users and groups. A regular user will be able to see only their permissions and the permissions of their groups. A user with `read` permission on `system/iam` can see all permissions.
operationId: PermissionManagementService_GetPermissions
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/v1GetPermissionsResponse'
'400':
description: Bad Request
content:
application/json:
schema: {}
'403':
description: Forbidden
content:
application/json:
schema: {}
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
parameters:
- name: users
description: The user IDs for which to list permission.
in: query
required: false
explode: true
schema:
type: array
items:
type: string
- name: groups
description: The groups for which to list permission.
in: query
required: false
explode: true
schema:
type: array
items:
type: string
- name: callerPermissions
description: If true will list the permissions of the user making the request. All users have permissions to check their permissions.
in: query
required: false
schema:
type: boolean
tags:
- PermissionManagementService
/iam/policy/targets:
get:
summary: List all users and groups who have access to the given resource/action pair. The user calling this endpoint must have `grant` access to the given resource.
operationId: PermissionManagementService_GetPolicyTargets
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/v1GetPolicyTargetsResponse'
'400':
description: Bad Request
content:
application/json:
schema: {}
'403':
description: Forbidden
content:
application/json:
schema: {}
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
parameters:
- name: action
description: The action a target should be able to perform on the given resource.
in: query
required: true
schema:
type: string
- name: resource
description: The resource a target should have access to.
in: query
required: true
schema:
type: string
tags:
- PermissionManagementService
/iam/users:
get:
summary: Endpoint is available only when user management is enabled configured - refer to the docs for how to do this. List users. The caller must have `read` permission on `system/iam`.
operationId: PermissionManagementService_GetUsers
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/v1GetUsersResponse'
'400':
description: Bad Request
content:
application/json:
schema: {}
'403':
description: Forbidden
content:
application/json:
schema: {}
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
parameters:
- name: username
description: The username of the user to fetch. It must consist of only letters, numbers, underscores, and dashes, and be at most 30 characters.
in: query
required: false
schema:
type: string
- name: email
description: The email of the user to fetch. It must be a valid email.
in: query
required: false
schema:
type: string
- name: firstName
in: query
required: false
schema:
type: string
- name: lastName
in: query
required: false
schema:
type: string
tags:
- PermissionManagementService
post:
summary: Endpoint is available only when user management is enabled configured - refer to the docs for how to do this. Create a user. The caller must have `write` permission on `system/iam`.
operationId: PermissionManagementService_CreateUser
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/v1CreateUserResponse'
'400':
description: Bad Request
content:
application/json:
schema: {}
'403':
description: Forbidden
content:
application/json:
schema: {}
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/v1CreateUserRequest'
required: true
tags:
- PermissionManagementService
/iam/users/{username}:
delete:
summary: Endpoint is available only when user management is enabled configured - refer to the docs for how to do this. Delete a user. The caller must have `write` permission on `system/iam`.
operationId: PermissionManagementService_DeleteUser
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/v1DeleteUserResponse'
'400':
description: Bad Request
content:
application/json:
schema: {}
'403':
description: Forbidden
content:
application/json:
schema: {}
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
parameters:
- name: username
description: The username of the user to be deleted.
in: path
required: true
schema:
type: string
tags:
- PermissionManagementService
/iam/users/{username}/groups:
get:
summary: Endpoint is available only when user management is enabled configured - refer to the docs for how to do this. List all groups of a user. The caller must have `read` permission on `system/iam`.
operationId: PermissionManagementService_GetUserGroups
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/v1GetUserGroupsResponse'
'400':
description: Bad Request
content:
application/json:
schema: {}
'403':
description: Forbidden
content:
application/json:
schema: {}
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
parameters:
- name: username
description: The name of the user for who to get groups.
in: path
required: true
schema:
type: string
tags:
- PermissionManagementService
/iam/users/{username}/groups/{group}:
delete:
summary: Endpoint is available only when user management is enabled configured - refer to the docs for how to do this. Delete user from a group. The caller must have `write` permission on `system/iam`.
operationId: PermissionManagementService_DeleteUserFromGroup
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/v1DeleteUserFromGroupResponse'
'400':
description: Bad Request
content:
application/json:
schema: {}
'403':
description: Forbidden
content:
application/json:
schema: {}
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
parameters:
- name: username
description: The name of the user to be removed from a group.
in: path
required: true
schema:
type: string
- name: group
description: The name of the group from which to remove a user.
in: path
required: true
schema:
type: string
tags:
- PermissionManagementService
put:
summary: Endpoint is available only when user management is enabled configured - refer to the docs for how to do this. Add user to a group. The caller must have `write` permission on `system/iam`.
operationId: PermissionManagementService_AddUserToGroup
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/v1AddUserToGroupResponse'
'400':
description: Bad Request
content:
application/json:
schema: {}
'403':
description: Forbidden
content:
application/json:
schema: {}
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
parameters:
- name: username
description: The name of the user to be added to a group.
in: path
required: true
schema:
type: string
- name: group
description: The name of the group to which to add a user.
in: path
required: true
schema:
type: string
tags:
- PermissionManagementService
/iam/users/{username}/resetPassword:
post:
summary: Endpoint is available only when user management is enabled configured - refer to the docs for how to do this. Sends an email to the user with a link to reset their password. The caller must have `write` permission on `system/iam`.
operationId: PermissionManagementService_ResetUserPassword
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/v1ResetUserPasswordResponse'
'400':
description: Bad Request
content:
application/json:
schema: {}
'403':
description: Forbidden
content:
application/json:
schema: {}
default:
description: An unexpected error response.
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
parameters:
- name: username
description: The username of the user to be deleted.
in: path
required: true
schema:
type: string
tags:
- PermissionManagementService
components:
schemas:
v1CreateGroupResponse:
type: object
v1ResourceActionPair:
type: object
properties:
action:
type: string
resource:
type: string
v1Policy:
type: object
properties:
userGrants:
type: array
items:
$ref: '#/components/schemas/v1UserPolicy'
groupGrants:
type: array
items:
$ref: '#/components/schemas/v1GroupPolicy'
v1Group:
type: object
properties:
name:
type: string
v1GetPermissionsResponse:
type: object
properties:
permissions:
type: array
items:
$ref: '#/components/schemas/v1ResourceActionPair'
v1DeleteGroupResponse:
type: object
v1CreateUserResponse:
type: object
v1DeletePolicyResponse:
type: object
v1GroupPolicy:
type: object
properties:
group:
type: string
permission:
$ref: '#/components/schemas/v1ResourceActionPair'
protobufAny:
type: object
properties:
'@type':
type: string
additionalProperties: {}
v1UserPolicy:
type: object
properties:
user:
type: string
permission:
$ref: '#/components/schemas/v1ResourceActionPair'
v1CreatePolicyResponse:
type: object
v1AddUserToGroupResponse:
type: object
v1DeleteUserFromGroupResponse:
type: object
v1GetUsersResponse:
type: object
properties:
users:
type: array
items:
$ref: '#/components/schemas/v1User'
v1GetPolicyTargetsResponse:
type: object
properties:
users:
type: array
items:
type: string
groups:
type: array
items:
type: string
v1GetGroupMembersResponse:
type: object
properties:
members:
type: array
items:
$ref: '#/components/schemas/v1User'
v1DeleteUserResponse:
type: object
v1GetUserGroupsResponse:
type: object
properties:
groups:
type: array
items:
$ref: '#/components/schemas/v1Group'
v1ResetUserPasswordResponse:
type: object
v1CreateGroupRequest:
type: object
properties:
name:
type: string
description: The name of the group to be created.
required:
- name
v1User:
type: object
properties:
username:
type: string
email:
type: string
firstName:
type: string
lastName:
type: string
enabled:
type: boolean
emailVerified:
type: boolean
creationTime:
type: string
format: date-time
v1GetGroupsResponse:
type: object
properties:
groups:
type: array
items:
$ref: '#/components/schemas/v1Group'
rpcStatus:
type: object
properties:
code:
type: integer
format: int32
message:
type: string
details:
type: array
items:
$ref: '#/components/schemas/protobufAny'
v1CreateUserRequest:
type: object
properties:
username:
type: string
description: The username of the user. It must consist of only letters, numbers, underscores, and dashes, and be at most 30 characters. It can be used for login and be part of policies.
email:
type: string
description: The email of the user. It must be a valid email. The user will receive instructions for setting credentials on this email.
firstName:
type: string
lastName:
type: string
required:
- username
- email
securitySchemes:
OAuth2:
type: oauth2
flows:
password:
tokenUrl: https://Y.Y.Y.Y
scopes:
email: ''
groups: ''
openid: ''
profile: ''