Azure Container Registry 使用專用資料端點,可減輕資料外流的風險
Azure Container Registry 引進專用的資料端點。 此功能可針對特定登錄啟用嚴格範圍的用戶端防火牆規則,將資料外流擔憂降至最低。
可在進階服務層級取得專用資料端點功能。 如需定價資訊,請參閱 Container Registry 定價。
從登錄提取內容牽涉到兩個端點:
登錄端點,通常稱為登入 URL,用於驗證和內容探索。 docker 提取 contoso.azurecr.io/hello-world
之類的命令會提出 REST 要求,以驗證並交涉代表所要求成品的層。
資料端點提供代表內容層的 Blob。
登錄受控儲存體帳戶
Azure Container Registry 是一種多租用戶服務。 登錄服務會管理資料端點儲存體帳戶。 受控儲存體帳戶的優點包括負載平衡、有爭議的內容分割、多個複本以進行較高的並行內容傳遞,以及具有異地複寫功能的多區域支援。
Azure Private Link 虛擬網路支援
Azure Private Link 虛擬網路支援可從 Azure 虛擬網路啟用受控登錄服務的私人端點。 在此案例中,您可以使用私人 IP,從虛擬網路內部存取登錄與資料端點。
當受控登錄服務和儲存體帳戶都受到保護,可以從虛擬網路儲存體存取,就會移除公用端點。
很抱歉,不一定總是能使用虛擬網路連線。
重要
Azure Private Link 是控制用戶端與登錄之間網路存取的最安全方式,因為網路流量僅限於使用私人 IP 的 Azure 虛擬網路。 當無法使用 Private Link 時,專用的資料端點可以提供安全的知識,了解每個用戶端可存取哪些資源。
用戶端防火牆規則和資料外流風險
用戶端防火牆規則會限制存取特定資源。 從內部部署主機、IoT 裝置、自訂組建代理程式連線到登錄時,會套用防火牆規則。 當無法使用 Private Link 支援時,也會套用規則。
當客戶鎖定其用戶端防火牆設定時,他們意識到他們必須為所有儲存體帳戶建立具有萬元字元的規則,這引發了資料外流的擔憂。 不良執行者可以部署能夠寫入其儲存體帳戶的程式碼。
因此,為了解決資料外流的擔憂,Azure Container Registry 提供專用的資料端點。
專用資料端點
專用資料端點有助於從 Azure Container Registry 服務擷取層,並使用代表登錄網域的完整網域名稱。
因為任何登錄可能會變成異地複寫,因此會使用區域模式:[registry].[region].data.azurecr.io
。
針對 Contoso 範例,會新增多個區域資料端點,以支援具有鄰近複本的本機區域。
使用專用的資料端點時,不良執行者會遭到封鎖,無法寫入其他儲存體帳戶。
啟用專用資料端點
注意
切換到專用資料端點將影響已設定防火牆存取現有 *.blob.core.windows.net
端點的用戶端,導致提取失敗。 若要確保用戶端具有一致的存取權,請將新的資料端點新增至用戶端防火牆規則。 完成之後,現有的登錄就可以透過 az cli
啟用專用的資料端點。
若要使用本文中的 Azure CLI 步驟,需要 Azure CLI 2.4.0 版或更新版本。 如果您需要安裝或升級,請參閱安裝 Azure CLI (部分機器翻譯) 或在 Azure Cloud Shell (部分機器翻譯) 中執行。
- 執行 az acr update 命令來啟用專用資料端點。
az acr update --name contoso --data-endpoint-enabled
- 執行 az acr show 命令來檢視資料端點,包括異複寫寫登錄的區域端點。
az acr show-endpoints --name contoso
範例輸出:
{
"loginServer": "contoso.azurecr.io",
"dataEndpoints": [
{
"region": "eastus",
"endpoint": "contoso.eastus.data.azurecr.io",
},
{
"region": "westus",
"endpoint": "contoso.westus.data.azurecr.io",
}
]
}
下一步
- 設定為從防火牆規則後面存取 Azure Container Registry。
- 使用 Azure Private Link 連線至 Azure Container Registry