首批通过分布式安全可靠测评,为关键业务系统打造
AI 函数服务权限
更新时间:2026-06-28 08:29:30
本文档介绍 AI 函数服务权限,包括 AI MODEL 和 ACCESS AI MODEL 权限,分别用于管理 AI 模型和调用 AI 函数。
注意
使用 AI_SPLIT_DOCUMENT 函数不需要授予 AI 模型权限。
AI MODEL
AI MODEL 相关权限用于管理 AI 模型,包含 CREATE AI MODEL、ALTER AI MODEL和DROP AI MODEL三个权限。
语法
授予权限的语法如下:
-- 授予 创建 AI 模型权限
GRANT CREATE AI MODEL ON *.* TO 'username'@'host';
-- 授予 修改 AI 模型权限
GRANT ALTER AI MODEL ON *.* TO 'username'@'host';
-- 授予 删除 AI 模型权限
GRANT DROP AI MODEL ON *.* TO 'username'@'host';
GRANT CREATE AI MODEL, ALTER AI MODEL, DROP AI MODEL ON *.* TO 'username'@'host';
撤销权限的语法如下:
-- 撤销 创建 AI 模型权限
REVOKE CREATE AI MODEL ON *.* FROM 'username'@'host';
-- 撤销 修改 AI 模型权限
REVOKE ALTER AI MODEL ON *.* FROM 'username'@'host';
-- 撤销 删除 AI 模型权限
REVOKE DROP AI MODEL ON *.* FROM 'username'@'host';
-- 检查权限
SHOW GRANTS FOR 'username'@'host';
示例
创建用户
CREATE USER test_ai_user@'%' IDENTIFIED BY '123456';登录到 test_ai_user 用户
obclient -h 127.0.0.1 -P 2881 -u test_ai_user@'%' -p *** -A -D test;调用
CREATE_AI_MODEL_ENDPOINT程序CALL DBMS_AI_SERVICE.CREATE_AI_MODEL_ENDPOINT ( 'user_ai_model_endpoint_1', '{ "ai_model_name": "my_model1", "url": "https://api.deepseek.com", "access_key": "sk-xxxxxxxxxxxx", "request_model_name": "deepseek-chat", "provider": "deepseek" }');因没有
CREATE AI MODEL权限,所以报错。ERROR 42501: Access denied; you need (at least one of) the create ai model endpoint privilege(s) for this operation授予
test_ai_user用户CREATE AI MODEL权限GRANT CREATE AI MODEL ON *.* TO test_ai_user@'%';验证权限
CALL DBMS_AI_SERVICE.CREATE_AI_MODEL_ENDPOINT ( 'user_ai_model_endpoint_1', '{ "ai_model_name": "my_model1", "url": "https://https://api.deepseek.com", "access_key": "sk-xxxxxxxxxxxx", "request_model_name": "deepseek-caht", "provider": "deepseek" }');执行成功。
ACCESS AI MODEL
ACCESS AI MODEL 权限用于调用 AI 函数,包含 AI_COMPLETE、AI_EMBED、AI_RERANK、AI_PROMPT 四个函数。
语法
授予权限的语法如下:
GRANT ACCESS AI MODEL ON *.* TO 'username'@'host';
撤销权限的语法如下:
REVOKE ACCESS AI MODEL ON *.* FROM 'username'@'host';
示例
调用
AI_COMPLETE函数SELECT AI_COMPLETE("ob_complete","你是一个翻译大师,请将以下文本翻译成英文:{{你好世界.}},输出仅包含翻译结果") as ans;因没有
ACCESS AI MODEL权限,所以报错。ERROR 42501: Access denied; you need (at least one of) the access ai model endpoint privilege(s) for this operation授予
test_ai_user用户ACCESS AI MODEL权限GRANT ACCESS AI MODEL ON *.* TO test_ai_user@'%';验证权限
SELECT AI_COMPLETE("ob_complete","你是一个翻译大师,请将以下文本翻译成英文:{{你好世界.}},输出仅包含翻译结果") as ans;执行成功。
```shell +----------------+ | ans | +----------------+ | "Hello world." | +----------------+ 1 row in set