AWS CodeCommit 不再提供給新客戶。的現有客戶 AWS CodeCommit 可以繼續正常使用服務。進一步了解"
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS Key Management Service和AWS CodeCommit存儲庫的加密
CodeCommit 儲存庫中的資料在傳輸和靜態時都會加密。將資料推入儲存 CodeCommit 庫時 (例如,透過呼叫git push),會在收到的資料儲存在儲存庫中時 CodeCommit 加密該資料。從 CodeCommit 儲存庫中提取資料時 (例如,透過呼叫git pull),將資料 CodeCommit 解密,然後將其傳送給呼叫者。這假設與推送或提取請求相關聯的 IAM 使用者已經過驗證AWS。傳送或接收的資料是利用 HTTPS 或 SSH 加密網路通訊協定來傳輸。
您可以使用AWS 受管金鑰或客戶管理的金鑰來加密和解密儲存庫中的資料。如需有關客戶受管金鑰之間差異的詳細資訊AWS 受管金鑰,請參閱客戶受管金鑰和 AWS 受管金鑰. 如果您未指定客戶管理的金鑰, CodeCommit 將使AWS 受管金鑰用來加密和解密儲存庫中的資料。這AWS 受管金鑰是自動為您在AWS 帳戶. 第一次在 Amazon Web Services 帳戶的新 CodeCommit 儲存庫AWS 區域中建 CodeCommit 立儲存庫時,如果您未指定客戶受管金鑰,請在 AWS 受管金鑰 () 中建立相同AWS 區域的aws/codecommit
金鑰 AWS Key Management Service (金鑰AWS KMS)。此aws/codecommit
金鑰僅供使用 CodeCommit。它存儲在您的 Amazon Web Services 帳戶中。根據您指定的內容,可 CodeCommit 以使用客戶管理的金鑰,或使用AWS 受管金鑰來加密和解密儲存庫中的資料。
重要
CodeCommit AWS KMS對用於加密和解密儲存庫中資料的AWS KMS金鑰執行下列動作。如果您使用的是AWS 受管金鑰,使用者不需要明確的權限來執行這些動作,但使用者不得有任何拒絕aws/codecommit
金鑰執行這些動作的附加原則。如果您使用的客戶管理金鑰的 AWS 帳戶 ID 已設定為該金鑰的原則主體,則必須將這些權限明確設定為allow
。具體來說,當您建立第一個儲存區域時,如果您更新儲存庫的金鑰,則不得將下列任何權限設定為AWS 受管金鑰,deny
如果您使用的是原則主體的 Customer Managed 金鑰,則必須設定為:allow
-
"kms:Encrypt"
-
"kms:Decrypt"
-
"kms:ReEncrypt"
(根據上下文,這可能需要kms:ReEncryptFrom
,kms:ReEncryptTo
,或kms:ReEncrypt*
不設置為拒絕) -
"kms:GenerateDataKey"
-
"kms:GenerateDataKeyWithoutPlaintext"
-
"kms:DescribeKey"
如果您想要使用自己的客戶管理金鑰,則該金鑰必須位於存放庫所AWS 區域在的位置。 CodeCommit 支援使用單一和多區域客戶管理金鑰。雖然支援所有金鑰材料原點類型,但我們建議您使用預設的 KMS 選項。使用外部金鑰存放區選項的客戶可能會遇到其商店供應商的延遲。此外。 CodeCommit 客戶受管金鑰具有下列需求:
-
CodeCommit 僅支持使用對稱密鑰。
-
金鑰使用類型必須設定為加密和解密。
若要查看AWS 受管金鑰產生者的相關資訊 CodeCommit,請執行下列動作:
-
請登入 AWS Management Console,並開啟 AWS Key Management Service (AWS KMS) 主控台 (網站:https://console.aws.amazon.com/kms
)。 -
若要變更 AWS 區域,請使用頁面右上角的區域選取器。
-
在服務導覽窗格中,選擇AWS 受管金鑰。請確定您已登入您AWS 區域要檢閱金鑰的位置。
-
在加密密鑰列表中,選擇AWS 受管金鑰與別名 aws/代碼提交。將顯示有關的AWS 擁有的金鑰基本資訊。
您無法變更或刪除此項AWS 受管金鑰。
如何使用加密演算法來加密儲存庫資料
CodeCommit 使用兩種不同的方法來加密數據。小於 6 MB 的個別 Git 物件是使用 AES-GCM-256 進行加密,此方法會提供資料完整性驗證。對於單一 Blob,介於 6 MB 到最大 2 GB 之間的物件會使用 AES-CBC-256 加密。 CodeCommit 一律驗證加密內容。
加密內容
每一個與 AWS KMS 整合的服務會指定適用於加密和解密操作的加密環境。加密環境是 AWS KMS 用來檢查資料完整性的額外驗證資訊。如果為加密操作指定,則在解密操作中也必須指定。否則,解密會失敗。 CodeCommit 使用 CodeCommit 儲存庫 ID 作為加密內容。您可以使用get-repository命令或 CodeCommit 控制台來查找存儲庫 ID。搜尋AWS CloudTrail記錄檔中的 CodeCommit 存放庫 ID,以瞭解針對哪個金鑰進行了哪些加密作業,AWS KMS以加密或解密 CodeCommit 儲存庫中的資料。
如需 AWS KMS 的詳細資訊,請參閱《AWS Key Management Service 開發人員指南》https://docs.aws.amazon.com/kms/latest/developerguide/。