在 Azure Data Factory 中資料移動的安全性考量

適用于: Azure Data Factory Azure Synapse Analytics

提示

試用 Microsoft Fabric 中的 Data Factory,這是適用于企業的單一分析解決方案。 Microsoft Fabric 涵蓋從資料移動到資料科學、即時分析、商業智慧和報告等所有專案。 瞭解如何 免費啟動新的試用版

本文說明 Azure Data Factory 中資料移動服務用來協助保護資料的基本安全性基礎結構。 Data Factory 管理資源是以 Azure 安全性基礎結構為基礎所建置,並使用 Azure 所提供的所有可能安全性措施。

在 Data Factory 解決方案中,您會建立一或多個資料 管線 。 管線是共同執行一項工作的多個活動邏輯群組。 這些管線位於建立 Data Factory 的區域中。

雖然 Data Factory 僅適用于少數區域,但全球 仍可使用資料移動服務 ,以確保資料合規性、效率及降低網路輸出成本。

Azure Data Factory,包括 Azure Integration Runtime 和自我裝載整合執行時間,不會儲存任何暫存資料、快取資料或記錄,但雲端資料存放區的連結服務認證除外,這些認證是使用憑證加密的。 使用 Data Factory,您可以建立資料驅動工作流程,以協調所支援資料存放區 之間的 資料移動,以及使用 其他區域或內部部署環境中的計算服務 處理資料。 您也可以藉由使用 SDK 和 Azure 監視器來監視和管理工作流程。

Data Factory 已通過下列各項規範的認證:

CSA STAR 認證
ISO 20000-1:2011
ISO 22301:2012
ISO 27001:2013
ISO 27017:2015
ISO 27018:2014
ISO 9001:2015
SOC 1、2、3
HIPAA BAA
HITRUST

如果您對 Azure 合規性以及 Azure 如何保護自己的基礎結構感興趣,請造訪 Microsoft 信任中心 。 如需所有 Azure 合規性供應專案的最新清單,請參閱 - https://aka.ms/AzureCompliance

在本文中,我們會在下列兩個數據移動案例中檢閱安全性考慮:

  • 雲端案例 :在此案例中,您的來源和目的地都可透過網際網路公開存取。 其中包括受控雲端儲存體服務,例如Azure 儲存體、Azure Synapse Analytics、Azure SQL 資料庫、Azure Data Lake Store、Amazon S3、Amazon Redshift、SaaS 服務,例如 Salesforce,以及 FTP 和 OData 等 Web 通訊協定。 在支援的資料存放區和格式 尋找支援資料來源的完整清單。
  • 混合式案例 :在此案例中,您的來源或目的地位於防火牆後方或內部部署公司網路內。 或者,資料存放區位於私人網路或虛擬網路中(通常是來源),而且無法公開存取。 裝載于虛擬機器上的資料庫伺服器也屬於此案例。

注意

建議您使用 Azure Az PowerShell 模組來與 Azure 互動。 請參閱安裝 Azure PowerShell 以開始使用。 若要了解如何移轉至 Az PowerShell 模組,請參閱將 Azure PowerShell 從 AzureRM 移轉至 Az

雲端案例

保護資料存放區認證

  • 將加密認證儲存在 Azure Data Factory 受控存放區 中。 Data Factory 透過使用 Microsoft 管理的憑證加密資料存放區認證,以協助保護您的資料存放區認證。 這些憑證每兩年輪替一次(包括憑證更新和認證移轉)。 如需Azure 儲存體安全性的詳細資訊,請參閱 Azure 儲存體安全性概觀
  • 將認證儲存在 Azure 金鑰保存庫 。 您也可以將資料存放區的認證儲存在 Azure 金鑰保存庫 。 Data Factory 會在活動執行期間擷取認證。 如需詳細資訊,請參閱 在 Azure Key Vault 中儲存認證

在 Azure Key Vault 中集中儲存應用程式祕密,可讓您控制其散發。 Key Vault 可大幅降低不小心洩露祕密的風險。 您可以在 Key Vault 中妥善儲存連接字串,而不用在應用程式的程式碼中儲存連接字串。 您的應用程式可以使用 URI 安全地存取其所需的資訊。 這些 URI 可讓應用程式擷取特定版本的祕密。 您不需要撰寫自訂程式碼來保護 Key Vault 中儲存的任何祕密資訊。

傳輸中資料加密

如果雲端資料存放區支援 HTTPS 或 TLS,Data Factory 中的資料移動服務與雲端資料存放區之間的所有資料傳輸都是透過安全通道 HTTPS 或 TLS。

注意

所有與 Azure SQL 資料庫和 Azure Synapse Analytics 的連線都需要加密(SSL/TLS),而資料則傳輸至資料庫或從資料庫傳輸。 當您使用 JSON 撰寫管線時,請在連接字串中新增加密屬性並將它設定為 true 。 針對Azure 儲存體,您可以在 連接字串中使用 HTTPS

注意

若要在從 Oracle 移動資料時啟用傳輸中的加密,請遵循下列其中一個選項:

  1. 在 Oracle 伺服器中,移至 Oracle 進階安全性 (OAS)並設定加密設定,其支援三重 DES 加密 (3DES) 和進階加密標準 (AES),請參閱 這裡 以取得詳細資料。 ADF 會自動交涉加密方法,以在建立與 Oracle 的連線時,使用您在 OAS 中設定的加密方法。
  2. 在 ADF 中,您可以在 連接字串 (連結服務) 中新增 EncryptionMethod=1。 這會使用 SSL/TLS 作為加密方法。 若要使用此功能,您必須停用 Oracle 伺服器端 OAS 中的非 SSL 加密設定,以避免加密衝突。

注意

使用的 TLS 版本是 1.2。

待用資料加密

某些資料存放區支援待用資料的加密。 建議您啟用這些資料存放區的資料加密機制。

Azure Synapse Analytics

Azure Synapse Analytics 中的透明資料加密 (TDE)藉由執行待用資料的即時加密和解密,協助防範惡意活動的威脅。 此行為對用戶端而言是透明的。 如需詳細資訊,請參閱 保護 Azure Synapse Analytics 中的資料庫。

Azure SQL Database

Azure SQL 資料庫也支援透明資料加密 (TDE),其可藉由執行資料的即時加密和解密來協助防範惡意活動的威脅,而不需要變更應用程式。 此行為對用戶端而言是透明的。 如需詳細資訊,請參閱 SQL 資料庫 和資料倉儲 的透明資料加密。

Azure Data Lake Store

Azure Data Lake Store 也提供帳戶中所儲存資料的加密。 啟用時,Data Lake Store 會在擷取之前先自動加密資料,讓存取資料的用戶端變得透明。 如需詳細資訊,請參閱 Azure Data Lake Store 中的安全性。

Azure Blob 儲存體和 Azure 資料表儲存體

Azure Blob 儲存體和 Azure 資料表儲存體支援儲存體服務加密 (SSE),其會在擷取之前先自動加密您的資料,再保存至儲存體並解密。 如需詳細資訊,請參閱 Azure 儲存體待 用資料的服務加密。

Amazon S3

Amazon S3 同時支援待用資料的用戶端和伺服器加密。 如需詳細資訊,請參閱 使用加密 保護資料。

Amazon Redshift

Amazon Redshift 支援待用資料的叢集加密。 如需詳細資訊,請參閱 Amazon Redshift 資料庫加密

Salesforce

Salesforce 支援盾牌平臺加密,允許加密所有檔案、附件和自訂欄位。 如需詳細資訊,請參閱 瞭解 Web 服務器 OAuth 驗證流程

混合式案例

混合式案例需要自我裝載整合執行時間安裝在內部部署網路、虛擬網路 (Azure) 或虛擬私人雲端內 (Amazon) 內。 自我裝載整合執行時間必須能夠存取本機資料存放區。 如需自我裝載整合執行時間的詳細資訊,請參閱 如何建立及設定自我裝載整合執行時間

self-hosted integration runtime channels

命令通道允許 Data Factory 中的資料移動服務與自我裝載整合執行時間之間的通訊。 通訊包含與活動相關的資訊。 資料通道用於在內部部署資料存放區與雲端資料存放區之間傳輸資料。

內部部署資料存放區認證

認證可以儲存在 Data Factory 中,或在 Azure 金鑰保存庫 執行時間期間由資料處理站 參考。 如果將認證儲存在資料處理站內,則一律會在自我裝載整合執行時間上加密。

  • 將認證儲存在本機 。 如果您直接使用 Set-AzDataFactoryV2LinkedService Cmdlet 搭配 JSON 中的連接字串和認證,則連結的服務會加密並儲存在自我裝載整合執行時間上。 在此情況下,認證會流經極其安全的 Azure 後端服務,流向最終加密並儲存的自我裝載整合電腦。 自我裝載整合執行時間會使用 Windows DPAPI 來加密敏感性資料和認證資訊。

  • 將認證儲存在 Azure 金鑰保存庫 。 您也可以將資料存放區的認證儲存在 Azure 金鑰保存庫 。 Data Factory 會在活動執行期間擷取認證。 如需詳細資訊,請參閱 在 Azure Key Vault 中儲存認證

  • 將認證儲存在本機,而不需要透過 Azure 後端將認證流向自我裝載整合執行時間 。 如果您想要在自我裝載整合執行時間本機加密和儲存認證,而不需要透過 Data Factory 後端流動認證,請遵循在 Azure Data Factory 中加密內部部署資料存放區認證中的 步驟。 所有連接器都支援此選項。 自我裝載整合執行時間會使用 Windows DPAPI 來加密敏感性資料和認證資訊。

  • 使用 New-AzDataFactoryV2LinkedServiceEncryptedCredential Cmdlet 來加密連結服務認證和連結服務中的敏感性詳細資料。 接著,您可以使用傳回的 JSON(搭配 連接字串 中的 EncryptedCredential 元素),使用 Set-AzDataFactoryV2LinkedService Cmdlet 來建立連結的服務。

在自我裝載整合執行時間加密連結服務時所使用的埠

根據預設,啟用從內部網路進行遠端存取時,PowerShell 會在具有自我裝載整合執行時間的電腦上使用埠 8060 進行安全通訊。 如有必要,您可以從 [設定] 索引標籤上的 [Integration Runtime Configuration Manager] 變更此埠:

Integration Runtime Configuration Manager's Settings tab

HTTPS port for the gateway

傳輸中加密

所有資料傳輸都是透過安全通道 HTTPS 和 TLS over TCP 傳輸,以防止在與 Azure 服務通訊期間發生攔截式攻擊。

您也可以使用 IPSec VPN Azure ExpressRoute ,進一步保護內部部署網路與 Azure 之間的通道。

Azure 虛擬網絡是雲端中您網路的邏輯標記法。 您可以設定 IPSec VPN(站對站)或 ExpressRoute(私人對等互連),將內部部署網路連線到您的虛擬網路。

下表摘要說明根據混合式資料移動來源和目的地位置的不同組合,提供網路和自我裝載整合執行時間組態建議。

來源 Destination 網路組態 整合執行階段設定
內部部署 在虛擬網路中部署的虛擬機器和雲端服務 IPSec VPN (點對站或站對站) 自我裝載整合執行時間應該安裝在虛擬網路中的 Azure 虛擬機器上。
內部部署 在虛擬網路中部署的虛擬機器和雲端服務 ExpressRoute (私人對等互連) 自我裝載整合執行時間應該安裝在虛擬網路中的 Azure 虛擬機器上。
內部部署 具有公用端點的 Azure 服務 ExpressRoute (Microsoft 對等互連) 自我裝載整合執行時間可以安裝在內部部署或 Azure 虛擬機器上。

下列影像顯示使用 ExpressRoute 和 IPSec VPN 在內部部署資料庫與 Azure 服務之間移動資料的自我裝載整合執行時間(搭配 Azure 虛擬網絡):

Express Route

Use ExpressRoute with gateway

IPSec VPN

IPSec VPN with gateway

防火牆組態和允許 IP 位址的清單設定

注意

您可能需要管理埠,或設定個別資料來源所需的公司防火牆層級網域允許清單。 下表僅使用 Azure SQL 資料庫、Azure Synapse Analytics 和 Azure Data Lake Store 作為範例。

注意

如需透過 Azure Data Factory 存取策略的詳細資訊,請參閱 這篇文章

內部部署/私人網路的防火牆需求

在企業中,公司防火牆會在組織的中央路由器上執行。 Windows 防火牆會在安裝自我裝載整合執行時間的本機電腦上,以精靈身分執行。

下表提供公司防火牆的輸出埠和網域需求:

網域名稱 輸出埠 描述
*.servicebus.windows.net 443 自我裝載整合執行時間需要互動式撰寫。
{datafactory}.{region}.datafactory.azure.net
*.frontend.clouddatahub.net
443 自我裝載整合執行時間需要連線到 Data Factory 服務。
針對新建立的 Data Factory,請從自我裝載整合執行時間金鑰中尋找 FQDN,格式為 {datafactory}。{region}.datafactory.azure.net。 針對舊的 Data Factory,如果您在自我裝載整合金鑰中看不到 FQDN,請改用 *.frontend.clouddatahub.net。
download.microsoft.com 443 自我裝載整合執行時間需要下載更新。 如果您已停用自動更新,您可以略過設定此網域。
*.core.windows.net 443 當您使用分段複製 功能時,自我裝載整合執行時間會用來 連線到 Azure 儲存體帳戶。
*.database.windows.net 1433 只有在您從 Azure SQL 資料庫 或 Azure Synapse Analytics 複製或複製到 Azure 時,才需要 ,否則為選擇性。 使用分段複製功能將資料複製到SQL 資料庫或 Azure Synapse Analytics,而不需開啟埠 1433。
*.azuredatalakestore.net
login.microsoftonline.com/<tenant>/oauth2/token
443 只有在您從 Azure Data Lake Store 複製或複製到 Azure Data Lake Store 時才需要 ,否則為選擇性。

注意

您可能需要管理埠,或設定個別資料來源所需的公司防火牆層級網域允許清單。 下表僅使用 Azure SQL 資料庫、Azure Synapse Analytics 和 Azure Data Lake Store 作為範例。

下表提供 Windows 防火牆的輸入埠需求:

輸入埠 描述
8060 (TCP) PowerShell 加密 Cmdlet 的必要專案,如 加密 Azure Data Factory 中內部部署資料存放區的認證,以及認證管理員應用程式為自我裝載整合執行時間上的內部部署資料存放區安全地設定認證中所述。

Gateway port requirements

資料存放區中的 IP 組態和允許清單設定

雲端中的某些資料存放區也要求您允許存取存放區的機器 IP 位址。 請確定防火牆中允許或設定自我裝載整合執行時間電腦的 IP 位址。

下列雲端資料存放區會要求您允許自我裝載整合執行時間電腦的 IP 位址。 根據預設,這些資料存放區中有些可能不需要允許清單。

常見問題集

可以跨不同資料處理站共用自我裝載整合執行時間嗎?

是。 如需詳細資訊 ,請參閱這裡

自我裝載整合執行時間運作的埠需求為何?

自我裝載整合執行時間會建立 HTTP 型連線以存取網際網路。 必須開啟輸出埠 443,自我裝載整合執行時間才能進行此連線。 只在認證管理員應用程式的機器層級(而非公司防火牆層級)開啟輸入埠 8060。 如果 Azure SQL 資料庫或 Azure Synapse Analytics 作為來源或目的地,您也必須開啟埠 1433。 如需詳細資訊,請參閱 IP 位址 防火牆組態和允許清單設定一節。

如需 Azure Data Factory 複製活動效能的相關資訊,請參閱 複製活動效能和微調指南