共用方式為


Hive 中繼存放區中的許可權和安全性實體物件

適用於:核取記號為「是」Databricks SQL 核取記號為「是」Databricks Runtime

許可權是授與主體對中繼存放區中安全性實體物件運作的許可權。

許可權模型與可保護物件會因您使用 Unity Catalog 元數據存儲或舊版 Hive 元數據存儲而有所不同。 本文說明舊版Hive中繼存放區的許可權模型。 如果您使用 Unity ,請參閱 Unity 中的 權限和安全性物件。

Hive 中繼存放區中的安全性實體物件

安全性實體物件是在中繼存放區中定義的物件,其許可權可以授與主體

若要管理任何對象的許可權,您必須是其擁有者或系統管理員。

語法

  securable_object
    { ANY FILE |
      CATALOG [ catalog_name ] |
      { SCHEMA | DATABASE } schema_name |
      FUNCTION function_name |
      [ TABLE ] table_name |
      VIEW view_name
      }

Parameters

  • ANY FILE

    控制基礎文件系統的存取。

  • CATALOG catalog_name

    控制對整個資料的存取 catalog。

  • { SCHEMA | DATABASE } schema_name

    控制對 schema的存取。

  • FUNCTION function_name

    控制具名函式的存取。

  • [ TABLE ] table_name

    控制對管理的或外部 table的存取。

  • VIEW view_name

    控制對 SQL views的存取。

繼承模型

Hive 中繼存放區中的安全性實體對像是階層式物件,且許可權會向下繼承。 這表示授與或拒絕 CATALOG 的許可權會自動授與或拒絕 catalog中的所有架構許可權。 同樣地,schema 物件上賦予的權限會被該 schema中的所有物件繼承。 此模式適用於所有安全性實體物件。

如果您在 table上 deny 設定用戶權限,則該用戶無法通過嘗試 listschema中的所有 tables 來查看 table。 如果您在 schema上 deny 用戶許可權,則使用者無法藉由嘗試 listcatalog中的所有架構來看到 schema 存在。

許可權類型

下列 table 顯示哪些許可權與哪些具有安全性設定的實體對象相關聯。

權限類型 ANONYMOUS 函式 ANY FILE CATALOG SCHEMA FUNCTION TABLE VIEW
CREATE
MODIFY
READ_METADATA
SELECT
USAGE
  • ALL PRIVILEGES

    用來 grant 或 revoke 所有適用於安全性實體及其子對象的許可權,而不需要明確指定這些許可權。 這會擴充至進行權限檢查時的所有可用權限。

  • CREATE

    在 catalog 或 schema中建立物件。

  • MODIFY

    COPY INTOUPDATEDELETEINSERTMERGE INTOtable。

    如果可保護物件是包含的 hive_metastore 或 schema,則授予 MODIFY 會在該可保護物件內的所有目前和未來 tables 和 views 上 grantMODIFY

  • READ_METADATA

    在 SHOW 中探索安全性實體物件,並在 DESCRIBE 中審訊物件

    如果安全性實體物件是 hive_metastorecatalog 或其中的 schema,那麼授與 READ_METADATA 會對安全性實體物件內所有目前和未來的 tables 和 views 進行 grantREAD_METADATA

  • READ FILES

    使用 記憶體認證外部位置直接查詢檔案。

  • SELECT

    查詢 table 或檢視、叫用使用者定義或匿名函式,或 selectANY FILE。 使用者需要在 table、檢視或函式上具有 SELECT,以及物件的 schema 和 catalog上具有 USAGE

    如果安全性實體對像是安全性實體物件內的 hive_metastore 或 schema,則授與 SELECT 會在安全性實體物件內的所有目前和未來 tables 和 views 上 grantSELECT

  • USAGE

    必要,但不足以參考 catalog 或 schema中的任何物件。 主體也必須擁有個別安全性實體對象的許可權。

  • WRITE FILES

    依據 儲存認證外部位置直接控制的 COPY INTO 檔案。

範例

-- Grant a privilege to the user alf@melmak.et
> GRANT SELECT ON TABLE t TO `alf@melmak.et`;

-- Revoke a privilege from the general public group.
> REVOKE USAGE ON SCHEMA some_schema FROM `alf@melmak.et`;