全部產品
Search
文件中心

Lindorm:S3協議許可權管理

更新時間:Jul 06, 2024

本文介紹如何管理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