日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

使用kritis-validation-hook組件實現自動驗證容器鏡像簽名

本文介紹如何使用容器鏡像服務ACR(Container Registry)、密鑰管理服務KMS(Key Management Service)、云安全中心(Security Center)和kritis-validation-hook組件實現自動驗證容器鏡像簽名,確保只部署可信授權方簽名的容器鏡像,降低在您環境中發生意外或惡意代碼的風險。

步驟一:安裝kritis-validation-hook組件

  1. 登錄容器服務管理控制臺,在左側導航欄選擇集群

  2. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇運維管理 > 組件管理

  3. 組件管理頁面,單擊安全頁簽,找到kritis-validation-hook,單擊安裝

  4. 授予訪問kritis-validation-hook組件所需的權限。

    您需要確保集群擁有運行kritis-validation-hook組件所需的訪問權限。具體操作,請參見配置資源訪問權限

步驟二:創建用于容器鏡像簽名的KMS密鑰

關于創建用戶主密鑰的具體操作,請參見管理密鑰

重要

創建密鑰時,選擇密鑰類型RSA_2048;選擇密鑰用途Sign/Verify

步驟三:在云安全中心配置使用KMS密鑰的證明者

  1. 登錄云安全中心控制臺。在控制臺左上角,選擇需防護資產所在的區域:中國全球(不含中國)

  2. 在左側導航欄,選擇防護配置 > 容器防護 > 容器簽名

  3. 證明者頁簽,單擊創建證明者。配置完成后,單擊確定完成證明者的創建。

    配置項

    說明

    證明者名稱

    配置容器簽名安全策略時需要選擇證明者,用于對您的目標容器進行可信授權。建議輸入便于識別的名稱。

    選擇證書

    在證書列表中選擇您已創建的KMS密鑰。

    描述

    輸入該證明者的備注信息。

步驟四:在ACR中開啟容器鏡像自動加簽功能

  1. 登錄容器鏡像服務控制臺

  2. 在頂部菜單欄,選擇所需地域。

  3. 在左側導航欄,選擇實例列表

  4. 實例列表頁面,單擊目標企業版實例名稱或者單擊目標企業版實例的管理

    說明

    如需添加企業版實例,單擊創建企業版實例,且實例規格高級版

  5. 在企業版實例管理頁左側導航欄中,選擇倉庫管理 > 命名空間

    創建一個命名空間,用于為該命名空間內的所有容器鏡像啟用鏡像加簽功能。具體操作,請參見命名空間的基本操作

  6. 為創建的命名空間啟用容器鏡像自動加簽功能。

    添加加簽規則時選擇步驟三中在云安全中心創建的證明者。

    1. 在企業版實例管理頁左側導航欄中,選擇安全可信 > 鏡像加簽

    2. 鏡像加簽頁簽中,單擊添加加簽規則

      有關添加加簽規則配置詳情,請參見配置鏡像自動加簽規則

步驟五:在云安全中心啟用容器鏡像驗簽功能

通過在云安全中心添加和啟用策略的方式來為Kubernetes集群中某個命名空間啟用容器鏡像驗簽功能。

  1. 登錄云安全中心控制臺

  2. 在左側導航欄,選擇防護配置 > 容器防護 > 容器簽名

  3. 安全策略頁簽,單擊添加策略。策略配置完成后,單擊確定

    配置項

    說明

    策略名稱

    配置簽名安全策略時需要選擇證明者,用于對您的目標集群進行可信授權。

    建議輸入便于識別的名稱。

    證明者

    在證明者列表中選擇您已創建的證明者。

    應用集群

    單擊需要進行容器簽名的集群分組后,選中目標集群命名空間

    策略開啟狀態

    單擊開關,創建策略后策略會立即啟用。

    說明

    默認不開啟策略。策略如果未開啟將不會生效。

    備注

    輸入安全策略的備注信息。

步驟六:驗證容器鏡像自動驗簽功能

說明

如果未啟用鏡像版本不可變,必須配置使用digest格式的鏡像地址。關于鏡像版本不可變的詳細介紹,請參見開啟鏡像版本不可變

執行以下命令,驗證容器鏡像自動驗簽功能。

  • 已開啟驗簽功能的Default命名空間將拒絕部署使用未加簽的容器鏡像服務。

    使用Tag格式鏡像的命令如下:

    kubectl -n default create deployment not-sign --image=alpine:3.11 -- sleep 10
    Error from server: admission webhook "kritis-validation-hook-deployments.grafeas.io" denied the request: image alpine:3.11 is not attested

    使用Digest格式鏡像的命令如下:

    kubectl -n default create deployment not-sign --image=alpine@sha256:ddba4d27a7ffc3f86dd6c2f92041af252a1f23a8e742c90e6e1297bfa1bc0c45 -- sleep 10
    Error from server: admission webhook "kritis-validation-hook-deployments.grafeas.io" denied the request: image alpine@sha256:ddba4d27a7ffc3f86dd6c2f92041af252a1f23a8e742c90e6e1297bfa1bc0c45 is not attested
  • 向已開啟自動加簽功能的容器鏡像服務命名空間中推送一個鏡像,然后驗證可以使用這個加簽的容器鏡像部署服務。

    docker push kritis-demo***.cn-hongkong.cr.aliyuncs.com/kritis-demo***/alpine:3.11
    The push refers to repository [kritis-demo***.cn-hongkong.cr.aliyuncs.com/kritis-demo***/alpine]
    5216338b40a7: Pushed
    3.11: digest: sha256:ddba4d27a7ffc3f86dd6c2f92041af252a1f23a8e742c90e6e1297bfa1bc0c45 size: 528

    放行已自動加簽容器鏡像的命令如下:

    kubectl -n default create deployment is-signed --image=kritis-demo***.cn-hongkong.cr.aliyuncs.com/kritis-demo***/alpine@sha256:ddba4d27a7ffc3f86dd6c2f92041af252a1f23a8e742c90e6e1297bfa1bc0c45 -- sleep 10
    deployment.apps/is-signed created

相關文檔