租户下创建只读用户,授予只能查询指定表的权限,以下权限最合适的是? A. SELECT ON db.table B. READ C. ALL PRIVILEGES D. SELECT ANY TABLE

租户下创建只读用户,授予只能查询指定表的权限,以下权限最合适的是?
A. SELECT ON db.table
B. READ
C. ALL PRIVILEGES
D. SELECT ANY TABLE

正确答案是:A. SELECT ON db.table

解析:

  • A. SELECT ON db.table(:heavy_check_mark: 正确)
    这是最精确、最符合最小权限原则的授权方式。它明确将权限限定在指定数据库下的指定表 ,仅授予查询(SELECT)权限,完全满足“只读用户”和“只能查询指定表”的需求。
  • B. READ(✘ 错误)
    READ 是 OceanBase 中的一种角色(Role) 或某些系统中的宏观权限,通常包含多个操作(如 SHOW、SELECT 等),且作用范围可能为整个租户或整个库,不够精确到“指定表”。
  • C. ALL PRIVILEGES(✘ 错误)
    这授予了该表或该库的全部操作权限(INSERT、UPDATE、DELETE、ALTER 等),远超出“只读”需求,违背最小权限原则。
  • D. SELECT ANY TABLE(✘ 错误)
    该权限通常意味着可以查询租户下所有表 (无论属于哪个用户或哪个库),无法限定为“指定表”,范围过大。