Azure Synapse Analytics 安全性白皮書:存取控制

注意

本文是 Azure Synapse Analytics 安全性白皮書 系列文章的一部分 。 如需系列的概觀,請參閱 Azure Synapse Analytics 安全性白皮書

根據資料的模型化和儲存方式,資料控管和安全性存取控制可能需要開發人員和安全性系統管理員使用不同的方法,或技術組合,以實作健全的安全性基礎。

Azure Synapse 支援各種不同的功能,以控制誰可以存取哪些資料。 這些功能是以一組進階存取控制功能為基礎所建置,包括:

物件層級安全性

專用 SQL 集區中的每個物件都有可授與主體的相關許可權。 在使用者和服務帳戶的內容中,這就是個別資料表、檢視表、預存程式和函式受到保護的方式。 物件使用權限,例如 SELECT,可以授與使用者帳戶(SQL 登入、Microsoft Entra 使用者或群組)和 資料庫角色 ,為資料庫管理員提供彈性。 此外,授與資料表和檢視的許可權可以與其他存取控制機制結合(如下所述),例如資料行層級安全性、資料列層級安全性,以及動態資料遮罩。

在 Azure Synapse 中,擁有權限都會授與資料庫層級使用者和角色。 此外,在工作區層級授與內 建 Synapse 管理員istrator RBAC 角色 的任何使用者,都會自動授與所有專用 SQL 集區的完整存取權。

除了保護 Azure Synapse 中的 SQL 資料表之外,還可以保護專用 SQL 集區(先前稱為 SQL DW)、無伺服器 SQL 集區和 Spark 資料表。 根據預設,指派給連線至 工作區之 Data Lake 儲存體 Blob 資料參與者 角色的使用者,在使用者以互動方式在筆記本 中執行程式碼時,具有所有 Spark 建立資料表 的 READ、WRITE 和 EXECUTE 許可權。 它稱為 Microsoft Entra 傳遞 ,且會套用至連線至工作區的所有資料湖。 不過,如果相同的使用者透過管線 執行相同的筆記本 ,則會使用工作區受控服務識別 (MSI) 進行驗證。 因此,若要讓管線成功執行工作區 MSI,它也必須屬於 存取之 Data Lake 的 儲存體 Blob 資料參與者 角色。

資料列層級安全性

資料列層級安全性 可讓安全性系統管理員根據執行查詢的使用者設定檔,建立和控制特定資料表資料列的精細存取。 設定檔或使用者特性可能是指群組成員資格或執行內容。 當使用者從相同資料表查詢資料,但必須看到不同的資料子集時,資料列層級安全性有助於防止未經授權的存取。

注意

Azure Synapse 和專用 SQL 集區支援資料列層級安全性(先前稱為 SQL DW),但不支援 Apache Spark 集區和無伺服器 SQL 集區。

資料行層級安全性

資料行層級安全性 可讓安全性系統管理員設定許可權,以限制誰可以在資料表中存取敏感性資料行。 它會設定在資料庫層級,而且不需要變更資料模型或應用層的設計即可實作。

注意

Azure Synapse、無伺服器 SQL 集區檢視和專用 SQL 集區(先前稱為 SQL DW)支援資料行層級安全性,但不支援無伺服器 SQL 集區外部資料表和 Apache Spark 集區。 在無伺服器 SQL 集區外部資料表因應措施的情況下,可以藉由在外部資料表頂端建立檢視來套用。

動態資料遮罩

動態資料遮罩 可讓安全性系統管理員藉由遮罩讀取給非特殊許可權的使用者來限制敏感性資料暴露。 它可讓系統管理員判斷資料在查詢時間的顯示方式,有助於防止未經授權的敏感性資料存取。 根據已驗證的使用者身分識別及其在 SQL 集區中的群組指派,查詢會傳回已遮罩或未遮罩的資料。 不論資料是直接從資料表存取,還是使用檢視或預存程式,都一律套用遮罩。

注意

Azure Synapse 和專用 SQL 集區(先前稱為 SQL DW)支援動態資料遮罩,但 Apache Spark 集區和無伺服器 SQL 集區不支援。

Synapse 角色型存取控制

Azure Synapse 也包含 Synapse 角色型存取控制 (RBAC) 角色 ,以管理 Synapse Studio 的不同層面。 利用這些內建角色將許可權指派給使用者、群組或其他安全性主體,以管理誰可以:

  • 發佈程式碼成品並列出或存取已發佈的程式碼成品。
  • 在 Apache Spark 集區和整合執行時間上執行程式碼。
  • 存取受認證保護的連結(資料)服務。
  • 監視或取消作業執行、檢閱作業輸出和執行記錄。

下一步

在本白皮書系列中的 下一篇文章 中,瞭解驗證。