使用 Unity 目錄管理雲端記憶體的存取權
本文提供如何使用 Unity 目錄來管理從 Azure Databricks 存取雲端記憶體的概觀。 它介紹外部位置、記憶體認證和受控記憶體的概念。
注意
如果您想要使用 Unity 目錄來管理外部服務的存取權,而不是雲端記憶體,請參閱 使用服務認證管理外部雲端服務的存取權。
外部位置和記憶體認證
Unity 目錄所控管的所有數據都必須位於雲端提供者帳戶的雲端記憶體中。 Unity 目錄會使用稱為 外部位置的安全性實體物件來管理雲端記憶體的存取權,該物件會定義雲端儲存位置的路徑,以及存取該位置所需的認證。 這些認證接著會在稱為 記憶體認證的 Unity 目錄安全性實體物件中定義。 藉由授與和撤銷 Unity 目錄中外部位置安全性實體的存取權,您可以控制雲端儲存位置中數據的存取權。 藉由授與和撤銷 Unity 目錄中記憶體認證安全性實體的存取權,您可以控制建立外部位置物件的能力。
以下是這兩個安全性實體物件的更多詳細數據:
- 儲存體認證代表一種驗證和授權機制,用於使用 Azure Data Lake Storage Gen2 容器的 Azure 受控識別或服務主體,或者 Cloudflare R2 貯體的 R2 API 權杖,來存取儲存在雲端租用戶上的資料。 Unity 目錄授與的許可權可控制哪些使用者和群組可以使用認證來定義外部位置。 建立和使用記憶體認證的許可權應該只授與需要建立外部位置對象的使用者。 請參閱建立儲存體認證以連線到 Azure Data Lake Storage Gen2 和建立用於連線至 Cloudflare R2 的儲存體認證。
- 外部位置會結合雲端記憶體路徑與可授權存取雲端記憶體路徑的記憶體認證。 Unity 目錄中授與的許可權可控制哪些使用者和群組可以存取外部位置所定義的雲端記憶體路徑。 建立和使用外部位置的權限應該只授與需要建立外部資料表、外部磁碟區或受控儲存位置的使用者。 如需相關資訊,請參閱建立外部位置以將雲端儲存連線到 Azure Databricks。
外部位置用於外部數據資產的 Unity 目錄,例如 外部數據表 和 外部磁碟區,以及受控數據資產,例如 Managed 資料表 和 受控磁碟區。 如需 Unity 目錄中外部與受控數據資產差異的詳細資訊,請參閱 什麼是數據表和檢視? 以及 什麼是 Unity 目錄磁碟區?。
若要瞭解使用外部位置的最佳做法,請參閱 管理外部位置、外部數據表和外部磁碟區。
當您建立外部數據表和磁碟區時,使用外部位置
在 Unity 目錄中註冊的外部數據表和外部磁碟區基本上是您在 Azure Databricks 外部管理之雲端記憶體中的數據指標。 當您在 Unity 目錄中建立外部資料表或外部磁碟區時,您必須參考已授與適當許可權的外部位置物件中包含的雲端記憶體路徑。 如需 Unity 目錄中外部與受控數據資產差異的詳細資訊,請參閱 什麼是數據表和檢視? 以及 什麼是 Unity 目錄磁碟區?。 如需許可權,請參閱 授與外部位置的許可權。
當您建立受控記憶體時,使用外部位置
受控數據表和受控磁碟區完全由 Unity 目錄管理。 它們預設會儲存在 受控記憶體位置,其可在中繼存放區、目錄或架構層級定義。 當您將受控記憶體位置指派給中繼存放區、目錄或架構時,您必須參考外部位置物件,而且您必須有足夠的許可權才能使用它。 請參閱在 Unity Catalog 中指定受控儲存位置和 Unity Catalog 最佳做法。
管理 Unity 目錄中雲端記憶體存取的工作流程
若要使用 Unity 目錄管理雲端記憶體的存取權,請執行下列動作:
- 建立記憶體認證物件,此物件會封裝可存取雲端記憶體路徑的 Azure 受控識別。
- 建立參考記憶體路徑和記憶體認證物件的外部位置物件。
- 當您建立外部數據表、外部磁碟區或預設受控儲存位置時,參考外部位置中包含的路徑。 這可以是外部位置或子路徑中定義的確切路徑。