為了避免中間人攻擊和非法鏡像的更新及運行,ACR支援命名空間層級的自動加簽,每次推送容器鏡像後都會匹配加簽規則自動加簽,保障鏡像從分發到部署的全鏈路一致性。
前提條件
已建立企業版執行個體,且您的執行個體必須為進階版。具體操作,請參見建立企業版執行個體。
已開通Key Management Service,具體操作,請參見開通Key Management Service。
建立非對稱金鑰
在頁面左上方的地區下拉式清單,選擇密鑰所在的地區。
在控制台左側導覽列,單擊使用者主要金鑰,然後單擊建立密鑰。
在建立密鑰對話方塊配置參數,然後單擊確定。
容器簽名功能需要非對稱金鑰演算法的支援,建立KMS密鑰時,密鑰類型需選擇EC或RSA,密鑰用途需選擇SIGN或VERIFY。其他參數配置請參見建立密鑰。
授權Container Registry使用KMS密鑰
為了讓ACR可以讀取到您帳號下的非對稱金鑰,需要在您的帳號上配置以下RAM策略。
登入RAM控制台。
在控制台左側導覽列中選擇身份管理 > 角色。
在角色頁面建立AliyunContainerRegistryKMSRole角色。
在角色頁面單擊建立角色。
在選擇類型設定精靈中選擇可信實體類型為阿里雲帳號,然後單擊下一步。
在配置角色中設定角色名稱為AliyunContainerRegistryKMSRole,並選擇雲帳號,然後單擊完成。
修改信任策略。
在角色頁面找到AliyunContainerRegistryKMSRole,單擊角色名稱列下的AliyunContainerRegistryKMSRole。
單擊信任策略管理頁簽,然後單擊修改信任策略。
在修改信任策略面板,修改信任策略,然後單擊確定。
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "cr.aliyuncs.com" ] } } ], "Version": "1" }
建立AliyunContainerRegistryKMSRolePolicy策略。
在RAM控制台左側導覽列中,單擊許可權管理 > 權限原則。
在權限原則頁面,單擊建立權限原則。
在建立權限原則頁面,單擊指令碼編輯頁簽,在文字框中輸入策略內容,單擊繼續編輯基本資料,設定策略名稱稱為AliyunContainerRegistryKMSRolePolicy,然後單擊確定。
說明您需要根據實際情況替換
region
和accountid
。{ "Statement": [ { "Effect": "Allow", "Action": [ "kms:*" ], "Resource": "acs:kms:${region}:${accountid}:*" } ], "Version": "1" }
在左側導覽列中,選擇 身份管理 > 角色,在角色列表中,找到
AliyunContainerRegistryKMSRole
角色。單擊右側操作列下的添加許可權。
在添加許可權面板中選擇權限原則為自訂策略,找到並選擇
AliyunContainerRegistryKMSRolePolicy
,單擊確定,完成添加。
配置證明者及驗簽策略
在左側導覽列選擇防護配置 > 容器防護 > 容器簽名,建立證明者並關聯相應的KMS密鑰,用於容器鏡像加簽。
可選:新增驗簽策略,將證明者關聯到對應的ACK叢集。更多資訊,請參見容器簽名。
配置鏡像自動加簽規則
在頂部功能表列,選擇所需地區。
在左側導覽列,選擇執行個體列表。
在執行個體列表頁面單擊目標企業版執行個體。
在企業版執行個體管理頁面左側導覽列選擇 。單擊添加加簽規則。
在密鑰配置的設定精靈中選擇在資訊安全中心建立的證明者關聯KMS Key。然後單擊下一步。
在加簽配置的設定精靈中設定參數,然後單擊建立加簽規則。
說明設定加簽規則僅對該命名空間下所有新上傳的鏡像進行加簽操作,存量的鏡像不做加簽操作。
加簽演算法:提供兩種可選加簽演算法RSA_PSS_SHA_256或者RSA_PKCS1_SHA_256。
加簽範圍:目前支援命名空間層級自動加簽,選擇需要自動加簽的命名空間。
加簽類型:
預設:加簽範圍有鏡像Digest和鏡像版本資訊,預設模式適用於當前執行個體下鏡像資料的驗簽。
極簡:加簽範圍僅有鏡像Digest部分,不依賴鏡像版本的資訊。極簡模式適用於跨執行個體鏡像同步情境,鏡像版本會變更對應鏡像資料的驗簽。
觸發方式:預設支援自動觸發,每次推送鏡像後,會自動觸發加簽。
鏡像驗簽
關於鏡像驗簽請參見使用kritis-validation-hook進行容器鏡像簽名驗證。
支援在Container ServiceKubernetes版叢集中使用組件進行自動驗簽,設定相應策略在驗簽失敗時阻斷鏡像部署,推薦此方法。
支援客戶基於密鑰管理中心驗簽功能、Container Registry鏡像簽名資料自行驗簽。