mirror of
https://github.com/langgenius/dify.git
synced 2026-08-30 20:43:55 +08:00
Signed-off-by: kenwoodjw <blackxin55+@gmail.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: zxhlyh <jasonapring2015@outlook.com> Co-authored-by: 起岚 <155608604+xiaoyaoqilan@users.noreply.github.com> Co-authored-by: Parman Mohammadalizadeh <prmma23@gmail.com> Co-authored-by: Escape0707 <tothesong@gmail.com> Co-authored-by: Xin Zhang <zhangxin@dify.ai> Co-authored-by: iridescentWen <66297467+iridescentWen@users.noreply.github.com> Co-authored-by: Bond Zhu <37842169+MRZHUH@users.noreply.github.com> Co-authored-by: KVOJJJin <jzongcode@gmail.com> Co-authored-by: Joel <iamjoel007@gmail.com> Co-authored-by: 非法操作 <hjlarry@163.com> Co-authored-by: yyh <92089059+lyzno1@users.noreply.github.com> Co-authored-by: Asuka Minato <i@asukaminato.eu.org> Co-authored-by: Chester <superdiao6@gmail.com> Co-authored-by: WH-2099 <wh2099@pm.me> Co-authored-by: Jony <619963502@qq.com> Co-authored-by: Jony <13896935+zyz619963502zyz@users.noreply.github.com> Co-authored-by: Harsh Kashyap <harsh.kashyap2001@gmail.com> Co-authored-by: Harsh Kashyap <Harsh23Kashyap@users.noreply.github.com> Co-authored-by: kenwoodjw <blackxin55+@gmail.com> Co-authored-by: csurong <csurong1@gmail.com> Co-authored-by: caosurong <surong.cao@thinkingdata.cn> Co-authored-by: Taranum Wasu <81034301+Taranum01@users.noreply.github.com> Co-authored-by: Taranum01 <50813317+Taranum01@users.noreply.github.com> Co-authored-by: Pranav Agarwal <agarwalpranav0711@gmail.com> Co-authored-by: Stephen Zhou <hi@hyoban.cc> Co-authored-by: zl86790 <marshal_li_b@163.com> Co-authored-by: QuantumGhost <obelisk.reg+git@gmail.com> Co-authored-by: yunlu.wen <yunlu.wen@dify.ai> Co-authored-by: yyh <yuanyouhuilyz@gmail.com>
86 lines
2.9 KiB
Python
86 lines
2.9 KiB
Python
from enum import StrEnum
|
|
|
|
|
|
class RBACResourceScope(StrEnum):
|
|
"""Resource scopes accepted by the ``rbac_permission_required`` decorator.
|
|
|
|
``WORKSPACE`` denotes a workspace-level check that carries no concrete
|
|
resource id; ``APP`` and ``DATASET`` are resource-scoped checks.
|
|
"""
|
|
|
|
APP = "app"
|
|
DATASET = "dataset"
|
|
WORKSPACE = "workspace"
|
|
|
|
|
|
class RBACResourceWhitelistScope(StrEnum):
|
|
"""Whitelist scopes accepted by RBAC app and dataset access config APIs."""
|
|
|
|
ALL = "all"
|
|
SPECIFIC = "specific"
|
|
ONLY_ME = "only_me"
|
|
|
|
|
|
class RBACPermission(StrEnum):
|
|
"""Permission points (RBAC scenes) checked by ``rbac_permission_required``.
|
|
|
|
Each member's value is the scene name forwarded to the RBAC
|
|
``check-access`` endpoint.
|
|
"""
|
|
|
|
APP_VIEW_LAYOUT = "app_view_layout"
|
|
APP_TEST_AND_RUN = "app_test_and_run"
|
|
APP_PREVIEW = "app_preview"
|
|
APP_CREATE_AND_MANAGEMENT = "app_create_and_management"
|
|
APP_RELEASE_AND_VERSION = "app_release_and_version"
|
|
APP_IMPORT_EXPORT_DSL = "app_import_export_dsl"
|
|
APP_EDIT = "app_edit"
|
|
APP_MONITOR = "app_monitor"
|
|
APP_TRACING_CONFIG = "app_tracing_config"
|
|
APP_LOG_AND_ANNOTATION = "app_log_and_annotation"
|
|
APP_DELETE = "app_delete"
|
|
APP_ACCESS_CONFIG = "app_access_config"
|
|
|
|
DATASET_PREVIEW = "dataset_preview"
|
|
DATASET_READONLY = "dataset_readonly"
|
|
DATASET_EDIT = "dataset_edit"
|
|
DATASET_CREATE_AND_MANAGEMENT = "dataset_create_and_management"
|
|
DATASET_PIPELINE_TEST = "dataset_pipeline_test"
|
|
DATASET_DOCUMENT_DOWNLOAD = "dataset_document_download"
|
|
DATASET_RETRIEVAL_RECALL = "dataset_retrieval_recall"
|
|
DATASET_USE = "dataset_use"
|
|
DATASET_DELETE_FILE = "dataset_delete_file"
|
|
DATASET_PIPELINE_RELEASE = "dataset_pipeline_release"
|
|
DATASET_DELETE = "dataset_delete"
|
|
DATASET_ACCESS_CONFIG = "dataset_access_config"
|
|
DATASET_API_KEY_MANAGE = "dataset_api_key_manage"
|
|
DATASET_EXTERNAL_CONNECT = "dataset_external_connect"
|
|
DATASET_IMPORT_EXPORT_DSL = "dataset_import_export_dsl"
|
|
|
|
WORKSPACE_MEMBER_MANAGE = "workspace_member_manage"
|
|
WORKSPACE_ROLE_MANAGE = "workspace_role_manage"
|
|
API_EXTENSION_MANAGE = "api_extension_manage"
|
|
CUSTOMIZATION_MANAGE = "customization_manage"
|
|
AGENT_MANAGE = "agent_manage"
|
|
SKILL_VIEW = "skill_view"
|
|
SKILL_EDIT = "skill_edit"
|
|
SKILL_PUBLISH = "skill_publish"
|
|
SKILL_DELETE = "skill_delete"
|
|
|
|
SNIPPETS_CREATE_AND_MODIFY = "snippets_create_and_modify"
|
|
SNIPPETS_MANAGE = "snippets_management"
|
|
|
|
PLUGIN_INSTALL = "plugin_install"
|
|
PLUGIN_PREFERENCES = "plugin_preferences"
|
|
PLUGIN_MODEL_CONFIG = "plugin_model_config"
|
|
PLUGIN_MANAGE = "plugin_manage"
|
|
PLUGIN_DELETE = "plugin_delete"
|
|
PLUGIN_DEBUG = "plugin_debug"
|
|
|
|
CREDENTIAL_USE = "credential_use"
|
|
CREDENTIAL_CREATE = "credential_create"
|
|
CREDENTIAL_MANAGE = "credential_manage"
|
|
|
|
TOOL_MANAGE = "tool_manage"
|
|
MCP_MANAGE = "mcp_manage"
|