將複製作業的來源限制為儲存體帳戶
出於安全性考量,對於可將資料複製到安全帳戶的環境,儲存體管理員可能必須對此進行限制。 藉由限制複製作業的允許範圍,可以阻擋來自不受信任租用戶或虛擬網路的非必要資料。
本文會說明如何將複製作業的來源帳戶限制為與目的地帳戶位於同一租用戶,或具有相同虛擬網路私人連結的帳戶。
重要
複製作業的允許範圍目前為預覽版。 請參閱 Microsoft Azure 預覽版增補使用規定,以了解適用於 Azure 功能 (搶鮮版 (Beta)、預覽版,或尚未正式發行的版本) 的法律條款。
有關複製作業的允許範圍 (預覽)
儲存體帳戶的 AllowedCopyScope 屬性可用來指定能將資料複製到目的地帳戶的環境。 在 Azure 入口網站中,會顯示為 [複製作業的允許範圍 (預覽)] 組態設定。 預設情況下不會設定屬性,而且在您明確設定之後,才會傳回值。 屬性可能的值包含以下三種:
- (null) (預設值):允許從任何儲存體帳戶複製到目的地帳戶。
- Microsoft Entra ID:只有與目的地帳戶相同的 Microsoft Entra 租用戶,才允許從其中的帳戶進行複製。
- PrivateLink:只有與目的地帳戶擁有相同虛擬網路私人連結的儲存體帳戶,才允許從其中的帳戶進行複製。
此設定適用於複製 Blob 與從 URL 複製 Blob 作業。
若複製要求的來源不符合此設定的指定需求,要求將會失敗,並顯示 HTTP 狀態碼 403 (禁止)。
只有使用 Azure Resource Manager 部署模型的儲存體帳戶才支援 AllowedCopyScope 屬性。 如需哪些儲存體帳戶使用 Azure Resource Manager 部署模型的詳細資訊,請參閱儲存體帳戶類型。
識別複製作業的來源儲存體帳戶
在變更儲存體帳戶的 AllowedCopyScope 值之前,請先識別可能會受此變更影響的使用者、應用程式或服務。 根據結果,可能必須將範圍設定調整為包含所有所需複製來源,或調整部分來源儲存體帳戶的網路或 Microsoft Entra 設定。
Azure 儲存體記錄會針對 Azure 監視器中對儲存體帳戶提出的要求,擷取其詳細資料,包括複製作業的來源與目的地。 如需詳細資訊,請參閱監視 Azure 儲存體。 啟用並分析記錄,以識別因變更目的地儲存體帳戶的 AllowedCopyScope,而可能受到影響的複製作業。
在 Azure 入口網站中建立診斷設定
若要使用 Azure 監視器記錄 Azure 儲存體資料,並使用 Azure Log Analytics 進行分析,您必須先建立診斷設定,指出您想要記錄資料的要求類型和記憶體服務。 設定儲存體帳戶的記錄之後,記錄會出現在 Log Analytics 工作區中。 若要建立工作區,請參閱在 Azure 入口網站中建立 Log Analytics 工作區。
若要在 Azure 入口網站中了解如何建立診斷設定,請參閱 建立 Azure 監視器中的診斷設定。
如需 Azure 儲存體記錄在 Azure 監視器中的可用欄位參考,請參閱資源記錄。
複製要求的查詢記錄
Azure 儲存體記錄包含將資源從另一個來源複製到儲存體帳戶的所有要求。 記錄項目包括目的地儲存體帳戶的名稱、來源物件的 URI,以及能協助識別要求複製的客戶端資訊。 如需 Azure 儲存體記錄在 Azure 監視器中可用欄位的完整參考,請參閱資源記錄。
若要取得過去七天內複製 Blob 之要求的記錄,請執行以下步驟:
瀏覽至您的儲存體帳戶。
在 [監視] 區段中,選取 [記錄]。
將下列查詢貼入新的記錄查詢中,然後執行。 此查詢會顯示將資料複製到指定儲存體帳戶的要求中,最常參考的來源物件。 在下列範例中,將預留位置文字
<account-name>
取代為您的儲存體帳戶名稱。StorageBlobLogs | where OperationName has "CopyBlobSource" and TimeGenerated > ago(7d) and AccountName == "<account-name>" | summarize count() by Uri, CallerIpAddress, UserAgentHeader
查詢結果應該會類似以下內容:
URI 是要複製之來源物件的完整路徑,其中包含儲存體帳戶名稱、容器名稱和檔案名稱。 如果套用了特定了 AllowedCopyScope 設定,則可從 URI 清單中判斷複製作業是否會遭封鎖。
您也可以根據此查詢來設定警示規則,以通知您帳戶的複製 Blob 要求。 如需詳細資訊,請參閱使用 Azure 監視器建立、檢視和管理記錄警示。
限制複製作業的允許範圍 (預覽)
若您確信可以安全將複製作業的來源限制於特定範圍,則可以將儲存體帳戶的 AllowedCopyScope 屬性設定為該範圍。
變更複製作業允許範圍的權限 (預覽)
若要設定儲存體帳戶的 AllowedCopyScope 屬性,使用者必須具有建立及管理儲存體帳戶的權限。 提供這些權限的 Azure 角色型存取控制 (Azure RBAC) 角色包括 Microsoft.Storage/storageAccounts/write 或 Microsoft.Storage/storageAccounts/* 動作。 具有此動作的內建角色包括:
- Azure Resource Manager 擁有者角色
- Azure Resource Manager 參與者角色
- 儲存體帳戶參與者角色
這些角色無法透過 Microsoft Entra ID 提供儲存體帳戶中資料的存取權。 不過,這些角色包含 Microsoft.Storage/storageAccounts/listkeys/action,可授與帳戶存取金鑰的存取權。 使用此權限時,使用者可以使用帳戶存取金鑰來存取儲存體帳戶中的所有資料。
角色指派的範圍必須設定為儲存體帳戶或更高層級,以允許使用者限制帳戶的複製作業範圍。 如需角色範圍的詳細資訊,請參閱了解 Azure RBAC 的範圍。
請小心將這些角色的指派限制為需要建立儲存體帳戶或更新其屬性的使用者。 使用最低權限原則,以確保使用者具有完成其工作所需的最低權限。 如需使用 Azure RBAC 管理存取權的詳細資訊,請參閱 Azure RBAC 的最佳做法。
注意
傳統訂用帳戶管理員角色「服務管理員」和「共同管理員」含有 Azure Resource Manager 擁有者角色的相等權限。 擁有者角色包含所有動作,因此具有其中一個系統管理角色的使用者也可以建立和管理儲存體帳戶。 如需詳細資訊,請參閱 Azure 角色、Microsoft Entra 角色和傳統訂用帳戶管理員角色。
設定複製作業的允許範圍 (預覽)
使用具有必要權限的帳戶時,在 Azure 入口網站中、透過 PowerShell 或使用 Azure CLI 設定複製作業的允許範圍。
若要在 Azure 入口網站中為現有的儲存體帳戶設定複製作業的允許範圍,請遵循下列步驟: