import { Environment } from '../environment'; import { ModifyResourcePermissionOptions, ModifyResourcePermissionResp, DescribeResourcePermissionOptions, DescribeResourcePermissionResp, CreateRoleOptions, CreateRoleResp, DescribeRoleListOptions, DescribeRoleListResp, ModifyRoleOptions, ModifyRoleResp, DeleteRolesOptions, DeleteRolesResp, DescribeResourcePolicyListOptions, DescribeResourcePolicyListResp, DescribeEnvAuthzConfigOptions, DescribeEnvAuthzConfigResp, ModifyEnvAuthzConfigOptions } from './types'; export declare class PermissionService { private environment; private tcbService; private lowcodeService; constructor(environment: Environment); /** * @deprecated 已废弃,网关鉴权策略已由 OPA 接管,请使用 modifyEnvAuthzConfig 替代 */ modifyResourcePermission(options: ModifyResourcePermissionOptions): Promise<{ Data: ModifyResourcePermissionResp; RequestId: string; }>; /** * @deprecated 已废弃,网关鉴权策略已由 OPA 接管,请使用 describeResourcePolicyList 或 describeEnvAuthzConfig 替代 */ describeResourcePermission(options: DescribeResourcePermissionOptions): Promise<{ Data: DescribeResourcePermissionResp; RequestId: string; }>; createRole(options: CreateRoleOptions): Promise<{ Data: CreateRoleResp; RequestId: string; }>; describeRoleList(options?: DescribeRoleListOptions): Promise<{ Data: DescribeRoleListResp; RequestId: string; }>; modifyRole(options: ModifyRoleOptions): Promise<{ Data: ModifyRoleResp; RequestId: string; }>; deleteRoles(options: DeleteRolesOptions): Promise<{ Data: DeleteRolesResp; RequestId: string; }>; /** * 拉取环境下的所有用户自定义的网关鉴权策略列表 * 注意:PG 环境无需调用,直接按照无存量策略处理; * 若环境 meta 中 authz_engine 值为 opa,则网关策略不生效,无需调用 */ describeResourcePolicyList(options?: DescribeResourcePolicyListOptions): Promise<{ Data: DescribeResourcePolicyListResp; RequestId: string; }>; /** * 拉取环境下的鉴权策略配置 * key: authz.platform.extension.rego - 单独为该环境配置的策略 * key: authz.user.rego - 用户配置的策略 */ describeEnvAuthzConfig(options: DescribeEnvAuthzConfigOptions): Promise<{ Item: DescribeEnvAuthzConfigResp; RequestId: string; }>; /** * 保存用户编写的 rego 策略,保存后旧网关鉴权将直接失效 */ modifyEnvAuthzConfig(options: ModifyEnvAuthzConfigOptions): Promise<{ AffectedRows: number; RequestId: string; }>; /** * 获取完整的环境基础信息(含 PostgreSQL、Meta 等字段) */ private getEnvBaseInfo; /** * 判断当前环境是否为 PostgreSQL 环境 */ private isPostgresqlEnv; /** * 判断当前环境的 authz_engine 是否为 opa * 从环境 Meta 中查找 Key 为 authz_engine 的标签,Value 为 opa 表示已切到 OPA */ private isOpaAuthzEngine; }