全部产品
Search
文档中心

云原生多模数据库 Lindorm:S3协议权限管理

更新时间:Jul 25, 2023

本文介绍如何管理S3兼容协议的访问权限。

桶的权限说明

S3兼容协议的访问控制功能支持桶(bucket)级别的权限设置,共有五种权限类型:READ,WRITE,TRASH,ADMIN和SYSTEM,对应桶的读、写、删除和所有权限。其中AMDIN权限等同于SYSTEM权限。

桶的访问权限固定由名为lfsdata的Namespace控制,桶名即表名。例如,桶testbucket的写权限,等同于表testbucket的WRITE权限,且对应的Namespace为lfsdata。如需创建桶,则需先获取lfsdata的Namespace写权限。

桶的权限说明及支持的操作语法如下:

分类

描述

支持的操作语法

WRITE

桶的写入权限。

putObject、Multipart上传、setTagging、setLifecycle等。

READ

桶的读取权限。

listObjects、getObject、headBucket、setTagging、getLifecycle等。

TRASH

桶的删除权限。

deleteObject、deleteTagging、deleteLifecycle等。

ADMIN

桶的所有权限。

支持WRITE、READ和TRASH的所有语法。

SYSTEM

桶的所有权限。

支持WRITE、READ和TRASH的所有语法。

管理桶的访问权限

说明
  • 宽表引擎的root用户默认具有所有桶的ADMIN和SYSTEM权限。

  • 新创建的用户默认无访问权限,需要手动添加权限。

您可以通过以下两种方式管理桶的访问权限:

  • 方式一:通过集群管理系统,为指定用户添加权限。该方式仅支持Namespace及以上级别的访问控制,控制用户对所有桶的权限。例如,为用户user1添加命名空间namespace1的READ权限,则该用户将拥有namespace1下所有桶的读取权限。如何添加权限,请参见为指定用户添加权限

    重要

    在集群管理系统中为指定用户添加命名空间权限时,namespace必须选择lfsdata

  • 方式二:通过Lindorm-cli连接宽表引擎并使用GRANTREVOKE命令添加或收回指定用户的权限。该方式支持Table及以上级别的访问控制,控制用户对桶的访问权限。如何连接宽表引擎,请参见通过Lindorm-cli连接并使用宽表引擎

    GRANTREVOKE命令的使用示例如下:

    • 示例一:为用户user1添加桶testbucket的写权限。

      GRANT WRITE ON TABLE lfsdata.testbucket TO user1;
    • 示例二:回收用户user1所有桶的管理权限。

      REVOKE ADMIN ON SCHEMA lfsdata FROM user1;

    GRANTREVOKE命令的更多说明,请参见GRANT PRIVILEGEREVOKE PRIVILEGE