Access control
Data types for permissions, access relationships, and control tags.
All data types support standard serialization methods (to_json, from_json, to_dict, from_dict, to_str) which are omitted from the tables below.
AccessRelation
PUBLIC: Relation types that can be assigned between a subject and a resource by a user of Istari.
Attributes:
| Name | Type | Description |
|---|---|---|
| VIEWER | — | |
| EDITOR | — | |
| OWNER | — | |
| ADMINISTRATOR | — | |
| EXECUTOR | — | |
| UPSTREAMREMOTEOWNER | — |
AccessRelationship
PUBLIC: An access relationship that can be viewed/modified by a user of Istari.
Attributes:
| Name | Type | Description |
|---|---|---|
| subject_type | AccessSubjectType | |
| subject_id | str | |
| relation | AccessRelation | |
| resource_type | AccessResourceType | |
| resource_id | str | |
| subject_info | Optional[SubjectInfo ] |
AccessResourceType
Public: permission resource types that can the the target of API / UI user role assignments.
Attributes:
| Name | Type | Description |
|---|---|---|
| MODEL | — | |
| ARTIFACT | — | |
| JOB | — | |
| FILE | — | |
| FILEREVISION | — | |
| TOOL | — | |
| FUNCTION | — | |
| FUNCTIONVERSION | — | |
| TENANT | — | |
| SYSTEM | — | |
| FUNCTIONAUTHSECRET | — | |
| AUTHINTEGRATION | — |
AccessSubjectType
Public: permission subject types that can be the subject of access role assignment in UI / API.
Attributes:
| Name | Type | Description |
|---|---|---|
| USER | — |
Permission
Permission types defined in permissions schema.
Attributes:
| Name | Type | Description |
|---|---|---|
| MEMBER | — | |
| MANAGE | — | |
| VIEW | — | |
| EDIT | — | |
| EXECUTE | — | |
| ARCHIVE | — | |
| TENANT_ACCESS | — | |
| CONTROLTAG_ACCESS | — | |
| CONTROLTAG_MANAGE | — | |
| ACCESS_MANAGE | — | |
| ACCESS_VIEW_MANAGE | — | |
| UPSTREAM_REMOTE_SYNC | — | |
| ACCESS | — |
PermissionResourceType
INTERNAL: Resource types that can have permissions assigned to them.
Attributes:
| Name | Type | Description |
|---|---|---|
| MODEL | — | |
| AGENT | — | |
| AGENTPOOL | — | |
| ARTIFACT | — | |
| FILE | — | |
| COMMENT | — | |
| FILEREVISION | — | |
| TOKEN | — | |
| JOB | — | |
| TOOL | — | |
| FUNCTION | — | |
| FUNCTIONVERSION | — | |
| SYSTEM | — | |
| TENANT | — | |
| CONTROLTAG | — | |
| FUNCTIONAUTHSECRET | — | |
| UPSTREAMREMOTE | — | |
| AUTHINTEGRATION | — |
PermissionSubjectType
INTERNAL: Subject types that can have permissions assigned to them.
Attributes:
| Name | Type | Description |
|---|---|---|
| USER | — | |
| MODEL | — | |
| AGENT | — | |
| AGENTPOOL | — | |
| ARTIFACT | — | |
| FILE | — | |
| COMMENT | — | |
| FILEREVISION | — | |
| TOKEN | — | |
| JOB | — | |
| TOOL | — | |
| FUNCTION | — | |
| FUNCTIONVERSION | — | |
| SYSTEM | — | |
| TENANT | — | |
| CONTROLTAG | — | |
| FUNCTIONAUTHSECRET | — | |
| AUTHINTEGRATION | — | |
| UPSTREAMREMOTE | — |
Permissionship
Attributes:
| Name | Type | Description |
|---|---|---|
| subject_type | PermissionSubjectType | |
| subject_id | str | |
| permission | Permission | |
| resource_type | PermissionResourceType | |
| resource_id | str |
ControlTag
A control (essentially a tag) that is assigned to resource, files, and users. To have access to a resource or file that has one or more controls assigned, the user must have been assigned all the controls applied to the item.
Attributes:
| Name | Type | Description |
|---|---|---|
| id | str | |
| created | datetime.datetime | |
| created_by_id | str | |
| name | str | |
| status | ControlTagStatus | |
| description | Optional[str] | |
| display_color | Optional[str] | |
| upstream_remote_info | Optional[UpstreamRemoteInfo] |
ControlTagRevision
A control (essentially a tag) that is assigned to resource, files, and users. To have access to a resource or file that has one or more controls assigned, the user must have been assigned all the controls applied to the item.
Attributes:
| Name | Type | Description |
|---|---|---|
| id | str | |
| created | datetime.datetime | |
| created_by_id | str | |
| control_tag_id | str | |
| name | str | |
| status | ControlTagStatus | |
| description | Optional[str] | |
| display_color | Optional[str] |
ControlTagStatus
Attributes:
| Name | Type | Description |
|---|---|---|
| ARCHIVED | — | |
| ACTIVE | — |
ControlTaggingObjectType
Attributes:
| Name | Type | Description |
|---|---|---|
| MODEL | — | |
| ARTIFACT | — | |
| FILE | — | |
| USER | — | |
| SYSTEM | — | |
| RESOURCE | — | |
| UNKNOWN | — |
ControlTaggingStatus
Attributes:
| Name | Type | Description |
|---|---|---|
| ARCHIVED | — | |
| ACTIVE | — |
NewControlTag
Add a new control with optional description and display color.
Attributes:
| Name | Type | Description |
|---|---|---|
| name | str | |
| description | Optional[Annotated[str, Field(min_length=0, strict=True, max_length=255)]] | |
| display_color | Optional[str] |
UpdateControlTag
Update an existing control.
Attributes:
| Name | Type | Description |
|---|---|---|
| id | str | |
| name | Optional[str] | |
| description | Optional[Annotated[str, Field(min_length=0, strict=True, max_length=255)]] | |
| status | Optional[ControlTagStatus] | |
| display_color | Optional[str] |
BulkSharingAccessRelation
Access relation types for resource bulk sharing operations. This enum contains only the access relations needed for bulk sharing to avoid circular import issues with the permission module.
Attributes:
| Name | Type | Description |
|---|---|---|
| VIEWER | — | |
| EDITOR | — |
UpdateAccessRelationship
Attributes:
| Name | Type | Description |
|---|---|---|
| relation | AccessRelation |
UpdateAccessRelationshipList
Attributes:
| Name | Type | Description |
|---|---|---|
| resources | List[UpdateAccessRelationshipListItem] |
UpdateAccessRelationshipListItem
Attributes:
| Name | Type | Description |
|---|---|---|
| relation | AccessRelation | |
| resource_id | str |
ResourceControlTagging
A control assignment on a resource.
Attributes:
| Name | Type | Description |
|---|---|---|
| id | str | |
| created | datetime.datetime | |
| created_by_id | str | |
| control_tag | ControlTag | |
| status | ControlTaggingStatus | |
| reason | Optional[str] | |
| object_type | ControlTaggingObjectType | |
| object_id | str | |
| inherited_from_object_id | Optional[str] | |
| inherited_from_object_type | Optional[ControlTaggingObjectType] |
UserControlTagging
A control assignment to a user.
Attributes:
| Name | Type | Description |
|---|---|---|
| id | str | |
| created | datetime.datetime | |
| created_by_id | str | |
| control_tag | ControlTag | |
| status | ControlTaggingStatus | |
| reason | Optional[str] | |
| user_id | str |
SubjectInfo
Attributes:
| Name | Type | Description |
|---|---|---|
| username | Optional[str] | |
| Optional[str] | ||
| cross_tenant_user | Optional[bool] |