共用方式為


什麼是 OneLake 共用存取簽章 (SAS)? (預覽)

OneLake 共用存取簽章 (SAS) 提供 OneLake 中資源的安全、短期和委派存取權。 透過 OneLake SAS,您可以更細微地控制用戶端如何存取您的資料。 例如:

  • 用戶端可以存取哪些資源。
  • 他們對資源具有哪些許可權。
  • SAS 的有效期間。

每個 OneLake SAS(和使用者委派密鑰)一律受到Microsoft Entra Identity 的支援,其存留期上限為 1 小時,而且只能授與數據項內資料夾和檔案的存取權,例如 Lakehouse。

重要

此功能處於預覽

共用存取簽章的運作方式

共用存取簽章是附加至 OneLake 資源的 URI 的令牌。 令牌包含一組特殊的查詢參數,指出用戶端如何存取資源。 其中一個查詢參數是簽章。 它會從 SAS 參數建構,並使用用來建立 SAS 的金鑰進行簽署。 OneLake 會使用此簽章來授權存取 OneLake 中的資料夾或檔案。 OneLake SAS 使用與 Azure 儲存體 使用者委派 SAS 相同的格式和屬性,但其存留期和範圍具有更多安全性限制。

OneLake SAS 會以使用者委派密鑰 (UDK) 簽署,該密鑰是由 Microsoft Entra 認證所支援。 您可以使用取得使用者委派金鑰作業來要求使用者委派金鑰。 然後,您可以使用此金鑰(雖然它仍然有效)來建置 OneLake SAS。 該Microsoft Entra 帳戶的許可權,以及明確授與SAS的許可權,決定客戶端對資源的存取權。

授權 OneLake SAS

當用戶端或應用程式使用 OneLake SAS 存取 OneLake 時,會使用要求用來建立 SAS 之 UDK 的 Microsoft Entra 認證來授權要求該要求。 因此,授與該Microsoft Entra 身分識別的所有 OneLake 許可權都會套用至 SAS,這表示 SAS 永遠不能超過建立 SAS 的用戶許可權。 此外,建立 SAS 時,您會明確授與許可權,讓您為 SAS 提供更限範圍的許可權。 在 Microsoft Entra 身分識別、明確授與的許可權和短期存留期之間,OneLake 遵循安全性最佳做法,提供數據的委派存取權。

使用 OneLake SAS 的時機

OneLake SAS 會將安全且暫時的存取權委派給 OneLake,由 Microsoft Entra 身分識別所支援。 沒有原生Microsoft Entra 支援的應用程式可以使用 OneLake SAS 來取得載入數據的暫時存取權,而不需要複雜的設定和整合工作。

OneLake SASs 也支援在使用者與其數據之間做為 Proxy 的應用程式。 例如,某些獨立軟體廠商 (ISV) 會在使用者與其網狀架構工作區之間執行,提供額外的功能,而且可能有不同的驗證模型。 透過委派 OneLake SAS 的存取權,這些 ISV 可以管理基礎數據的存取權,並提供數據的直接存取權,即使他們的用戶沒有Microsoft Entra 身分識別也一樣。

管理 OneLake SAS

Fabric 租使用者中的兩個設定會管理 OneLake SAS 的使用。 第一個是租用戶層級設定, 使用短期的使用者委派 SAS 令牌,以管理產生使用者委派密鑰。 因為使用者委派密鑰是在租用戶層級產生,所以是由租用戶設定所控制。 默認會開啟此設定,因為這些使用者委派密鑰具有要求它們的Microsoft Entra 身分識別的對等許可權,而且一律為短期。

注意

關閉此功能可防止所有工作區使用 OneLake SAS,因為所有使用者都無法產生使用者委派密鑰。

第二個設定是委派的工作區設定: 使用 OneLake 使用者委派的 SAS 令牌進行驗證,可控制工作區是否接受 OneLake SAS。 默認會關閉此設定,而且可由想要在其工作區中使用 OneLake SAS 進行驗證的工作區系統管理員開啟。 租使用者管理員可以透過租用戶設定為所有工作區開啟此設定,或將它保留給工作區管理員以開啟。

您也可以透過 Microsoft Purview 合規性入口網站 監視使用者委派金鑰的建立。 您可以搜尋作業名稱 generateonelakeudk ,以檢視租用戶中產生的所有密鑰。 因為建立 SAS 是用戶端作業,您無法監視或限制 OneLake SAS 的建立,而只能產生 UDK。

OneLake SAS 的最佳做法

  • 請一律使用 HTTPS 來建立或散發 SAS,以防止攔截 SAS 的中間人攻擊。
  • 追蹤您的令牌、金鑰和 SAS 令牌到期時間。 OneLake 使用者委派密鑰和 SAS 的存留期上限為 1 小時。 嘗試要求 UDK 或建置存留期超過 1 小時的 SAS 會導致要求失敗。 若要防止 SAS 用來延長過期 OAuth 令牌的存留期,令牌的存留期也必須超過使用者委派密鑰和 SAS 的到期時間。
  • 請小心 SAS 的開始時間。 將 SAS 的開始時間設定為目前時間可能會導致前幾分鐘的失敗,因為電腦之間的開始時間不同(時鐘扭曲)。 將開始時間設定為過去幾分鐘有助於防止這些錯誤。
  • 將最不可行的許可權授與 SAS。 為最少可能的資源提供最低必要許可權是安全性最佳作法,如果 SAS 遭到入侵,則會降低影響。
  • 監視使用者委派金鑰的產生。 您可以稽核在 Microsoft Purview 合規性入口網站 中建立使用者委派金鑰。 搜尋作業名稱 'generateonelakeudk',以檢視租用戶中產生的密鑰。
  • 瞭解 OneLake SAS 的限制。 因為 OneLake SAS 不能有工作區層級的許可權,所以它們與某些預期容器層級許可權周遊數據的 Azure 儲存體 工具不相容,例如 Azure 儲存體 Explorer。