映像存取管理

訂閱: 商務版
適用對象: 管理員

映像檔存取管理 (Image Access Management) 讓管理員可以控制開發人員能夠從 Docker Hub 拉取 (pull) 哪些類型的映像檔。這能防止開發人員誤用未經信任的社群映像檔,進而避免對貴組織造成安全風險。

透過映像檔存取管理,您可以限制對以下項目的存取:

  • Docker 官方映像檔 (Docker Official Images):由 Docker 維護的精選映像檔
  • Docker 驗證發布者映像檔 (Docker Verified Publisher Images):來自受信任商業發布者的映像檔
  • 組織映像檔 (Organization images):屬於貴組織的私有儲存庫
  • 社群映像檔 (Community images):來自個人開發者的公開映像檔

誰應該使用映像檔存取管理?

映像檔存取管理有助於防止供應鏈攻擊,確保開發人員僅使用受信任的容器映像檔。例如,開發人員在建置新應用程式時,可能會不小心使用惡意的社群映像檔作為元件。映像檔存取管理透過僅限存取已核准的映像檔類型來防止這種情況。

常見的安全情境包括:

  • 防止使用無人維護或惡意的社群映像檔
  • 確保開發人員僅使用經過審查的官方基礎映像檔
  • 控制對商業第三方映像檔的存取
  • 在各開發團隊間維持一致的安全標準

先決條件

在設定映像檔存取管理之前,您必須:

重要

映像檔存取管理僅在使用者以組織憑證登入 Docker Desktop 時生效。

設定映像檔存取

若要設定映像檔存取管理:

  1. 登入 Docker Home 並選取您的組織。
  2. 選擇 Admin Console(管理主控台),然後選擇 Image access(映像檔存取)。
  3. 使用開關來啟用映像檔存取功能。
  4. 選擇要允許的映像檔類型:
    • 組織映像檔:來自您組織的映像檔(預設一律允許)。這可以是貴組織成員所建立的公開或私有映像檔。
    • 社群映像檔:由各種使用者貢獻、可能構成安全風險的映像檔。此類別包含 Docker 贊助的開源 (Docker-Sponsored Open Source) 映像檔,預設為關閉。
    • Docker 驗證發布者映像檔:來自 Docker 合作夥伴計畫中驗證發布者的映像檔,適用於安全的供應鏈。
    • Docker 官方映像檔:由 Docker 精選的儲存庫,提供 OS 儲存庫、Dockerfile 最佳實踐、隨插即用的解決方案,以及即時的安全更新。

一旦實施限制,組織成員可以唯讀方式檢視權限頁面。

注意

映像檔存取管理預設為關閉。無論政策設定為何,組織擁有者皆可存取所有映像檔。

驗證存取限制

設定映像檔存取管理後,請測試限制是否正常運作。

當開發人員拉取允許的映像檔類型時

$ docker pull nginx  # Docker Official Image
# Pull succeeds if Docker Official Images are allowed

當開發人員拉取封鎖的映像檔類型時

$ docker pull someuser/custom-image  # Community image
Error response from daemon: image access denied: community images not allowed

映像檔存取限制適用於所有 Docker Hub 操作,包括拉取 (pull)、使用 FROM 指令的建置,以及 Docker Compose 服務。

安全性實作

從最嚴格的政策開始,並根據合法的業務需求逐步放寬:

  1. 起始設定:Docker 官方映像檔和組織映像檔
  2. 視需要新增:用於商業工具的 Docker 驗證發布者映像檔
  3. 謹慎評估:僅針對特定且經過審查的使用案例開放社群映像檔

其他安全建議包括:

  • 監控使用模式:檢視開發人員嘗試拉取的映像檔、識別對額外映像檔類型的合法需求、定期審核已核准的映像檔類別以確認其相關性,並使用 Docker Desktop 分析來監控使用模式。
  • 分層安全控制:映像檔存取管理若與「登錄檔存取管理」(Registry Access Management) 搭配使用效果最佳,藉此控制開發人員可存取的登錄檔;使用「增強型容器隔離」(Enhanced Container Isolation) 在執行階段保護容器;並透過「設定管理」(Settings Management) 控制 Docker Desktop 的設定。

範圍與繞過注意事項

  • 映像檔存取管理僅控制對 Docker Hub 映像檔的存取。來自其他登錄檔的映像檔不受這些政策影響。請使用登錄檔存取管理來控制對其他登錄檔的存取。
  • 使用者可能會透過登出 Docker Desktop(除非強制登入)、使用其他不受限制的登錄檔映像檔,或使用登錄檔鏡像 (mirrors) 或代理伺服器來繞過映像檔存取管理。請務必強制執行登入,並結合登錄檔存取管理以實現全面的控制。
  • 映像檔限制適用於 Dockerfile 中的 FROM 指令;使用受限映像檔的 Docker Compose 服務將會失敗;若中間映像檔受限,多階段建置 (multi-stage builds) 可能會受到影響;而使用多種映像檔類型的 CI/CD 管線也可能受影響。
© . This site is unofficial and not affiliated with Kubernetes or Docker Inc.