AWS 大型主機現代化中的資料保護 - AWS 大型主機現代化

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWS 大型主機現代化中的資料保護

AWS 共同責任模型適用於大型 AWS 主機現代化中的資料保護。如此模型中所述, AWS 負責保護執行所有 AWS 雲端. 您負責維護在此基礎設施上託管內容的控制權。您還必須負責您所使用 AWS 服務 的安全組態和管理任務。如需資料隱私權的詳細資訊,請參閱資料隱私權常見問答集如需歐洲資料保護的相關資訊,請參閱 AWS 安全性部落格上的 AWS 共同責任模型和 GDPR 部落格文章。

基於資料保護目的,我們建議您使用 AWS IAM Identity Center 或 AWS Identity and Access Management (IAM) 保護 AWS 帳戶 登入資料並設定個別使用者。如此一來,每個使用者都只會獲得授與完成其任務所必須的許可。我們也建議您採用下列方式保護資料:

  • 每個帳戶均要使用多重要素驗證 (MFA)。

  • 使用 SSL/TLS 與 AWS 資源進行通訊。我們需要 TLS 1.2 並建議使用 TLS 1.3。

  • 使用設定 API 和使用者活動記錄 AWS CloudTrail。

  • 使用 AWS 加密解決方案以及其中的所有默認安全控制 AWS 服務。

  • 使用進階的受管安全服務 (例如 Amazon Macie),協助探索和保護儲存在 Amazon S3 的敏感資料。

  • 如果您在透過命令列介面或 API 存取時需要經 AWS 過 FIPS 140-2 驗證的加密模組,請使用 FIPS 端點。如需 FIPS 和 FIPS 端點的相關資訊,請參閱聯邦資訊處理標準 (FIPS) 140-2 概觀

我們強烈建議您絕對不要將客戶的電子郵件地址等機密或敏感資訊,放在標籤或自由格式的文字欄位中,例如名稱 欄位。這包括當您使用主控台、API 或 SDK AWS 服務 使用 AWS 大型主機現代化或其他工作時。 AWS CLI AWS 您在標籤或自由格式文字欄位中輸入的任何資料都可能用於計費或診斷日誌。如果您提供外部伺服器的 URL,我們強烈建議請勿在驗證您對該伺服器請求的 URL 中包含憑證資訊。

AWS 大型主機現代化收集的資料

AWS 大型主機現代化會從您那裡收集數種類型的資料:

  • Application configuration:這是您建立用來設定應用程式的 JSON 檔案。它包含您對 AWS 大型主機現代化提供的不同選項的選擇。此檔案也包含相依 AWS 資源的資訊,例如儲存應用程式成品的 Amazon 簡單儲存服務路徑,或儲存資料庫登入資料的 AWS Secrets Manager Amazon 資源名稱 (ARN)。

  • Application executable (binary):這是您編譯的二進製文件,您打算在 AWS 大型主機現代化上部署。

  • Application JCL or scripts:此原始程式碼會代表您的應用程式管理批次工作或其他處理。

  • User application data:匯入資料集時, AWS 大型主機現代化會將它們儲存在關聯式資料庫中,以便您的應用程式可以存取它們。

  • Application source code:透過 Amazon AppStream 2.0, AWS 大型主機現代化為您提供編寫和編譯程式碼的開發環境。

AWS 大型主機現代化將此資料原生儲存在. AWS AWS 我們向您收集的資料存放在大型主機現代化管理的 Amazon S3 儲存貯體中。部署應用程式時, AWS 大型主機現代化會將資料下載到 Amazon 彈性區塊存放區支援的 Amazon 彈性運算雲端執行個體。觸發清理時,資料會從 Amazon EBS 磁碟區和 Amazon S3 中移除。Amazon EBS 磁碟區是單一租用的,這表示一個執行個體可供一個客戶使用。永遠不會共用執行個體。刪除執行階段環境時,也會刪除 Amazon EBS 磁碟區。刪除應用程式時,會從 Amazon S3 刪除成品和組態。

應用程式日誌存放在 Amazon 中 CloudWatch。客戶應用程式記錄訊息 CloudWatch 也會匯出至。記 CloudWatch 錄檔可能包含客戶敏感資料,例如商務資料或偵錯訊息中的安全性資訊)。如需詳細資訊,請參閱 使用 Amazon 監控 AWS 大型主機現代化 CloudWatch

此外,如果您選擇將一個或多個 Amazon Elastic File System 或 Amazon FSx 檔案系統附加到執行時期環境,這些系統中的資料將存放在其中 AWS。如果您決定停止使用檔案系統,則需要清理這些資料。

當您將資料放置在 AWS 大型主機現代化用於應用程式部署和資料集匯入的 Amazon S3 儲存貯體時,您可以使用所有可用的 Amazon S3 加密選項來保護資料。此外,如果您將一或多個檔案系統附加到執行階段環境,則可以使用 Amazon EFS 和 Amazon FSx 加密選項。

AWS 大型主機現代化服務的靜態資料加密

AWS 大型主機現代化與 AWS Key Management Service 整合,可在永久存放資料的所有相依資源上提供透明的伺服器端加密 (SSE),也就是 Amazon 簡單儲存服務、Amazon DynamoDB 和 Amazon 彈性區塊存放區。 AWS 大型主機現代化可在中為您建立和管理對稱加密 AWS KMS 金鑰。 AWS KMS

依預設加密靜態資料,有助於降低保護敏感資料所涉及的營運開銷和複雜性。同時,它可讓您遷移需要嚴格加密合規性和法規要求的應用程式。

當您建立執行階段環境和應用程式時,您無法停用此層加密或選取替代的加密類型。

您可以針對 AWS 大型主機現代化應用程式和執行時期環境使用自己的客戶受管金鑰來加密 Amazon S3 和 Amazon EBS 資源。

對於您的 AWS 大型主機現代化應用程式,您可以使用此金鑰來加密應用程式定義以及儲存在服務帳戶中建立的 Amazon S3 儲存貯體中的其他應用程式資源 (例如 JCL 檔案)。如需詳細資訊,請參閱 建立應用程式

對於您的 AWS 大型主機現代化執行時期環境, AWS 大型主機現代化會使用客戶受管金鑰來加密建立的 Amazon EBS 磁碟區,並附加到 AWS 大型主機現代化 Amazon EC2 執行個體 (也在服務帳戶中)。如需詳細資訊,請參閱 建立執行階段環境

注意

DynamoDB 資源一律使用 AWS 大型主機現代化服務帳戶 AWS 受管金鑰 中的加密。您無法使用客戶受管金鑰加密 DynamoDB 資源。

AWS 大型主機現代化使用客戶管理的金鑰執行下列工作:

  • 重新部署應用程式。

  • 取代 AWS 大型主機現代化的 Amazon EC2 執行個體。

AWS 大型主機現代化不會使用客戶受管金鑰來加密 Amazon Relational Database Service 或 Amazon Aurora 資料庫、Amazon 簡單佇列服務佇列和為支援 AWS 大型主機現代化應用程式而建立的 Amazon ElastiCache 快取,因為它們都不包含客戶資料。

如需更多資訊,請參閱 《AWS Key Management Service 開發人員指南》 中的客戶受管金鑰

下表摘要說明 AWS 大型主機現代化如何加密您的機密資料。

資料類型 AWS 受管金鑰 加密 客戶管理的金鑰加密

Definition

包含特定應用程式的定義。

已啟用

已啟用

EnvironmentSummary

包含執行階段環境的相關資訊。

已啟用

已啟用

ApplicationSummary

包含 AWS 大型主機現代化應用程式的相關資訊。

已啟用

已啟用

DeploymentSummary

包含 AWS 大型主機現代化應用程式部署的相關資訊。

已啟用

已啟用

注意

AWS 大型主機現代化可自動啟用靜態加密功能,免費 AWS 受管金鑰 保護您的機密資料。但是,使用客戶管理的金鑰需要 AWS KMS 支付費用。如需定價的詳細資訊,請參閱 AWS Key Management Service 定價

如需詳細資訊 AWS KMS,請參閱 AWS Key Management Service。

AWS 大型主機現代化如何使用補助金 AWS KMS

AWS 大型主機現代化需要授權才能使用客戶管理的金鑰。

當您建立應用程式或執行階段環境,或在使用客戶管理金鑰加密的 AWS 大型主機現代化中部署應用程式時, AWS 大型主機現代化會將要求傳送至,以代表您建立授權。CreateGrant AWS KMS中的授權 AWS KMS 用於授予 AWS 大型主機現代化存取客戶帳戶中 KMS 金鑰的權限。

AWS 大型主機現代化需要授權,才能將客戶管理的金鑰用於下列內部作業:

  • 傳送DescribeKey AWS KMS 要求,以確認建立應用程式、執行階段環境或應用程式部署時所輸入的對稱客戶管理金鑰 ID 是否有效。

  • GenerateDataKey請求傳送 AWS KMS 到以加密連接到託管 AWS 大型主機現代化執行時環境之 Amazon EC2 執行個體的 Amazon EBS 磁碟區。

  • 傳送解密請求以 AWS KMS 解密 Amazon EBS 上的加密內容。

AWS 大型主機現代化使用 AWS KMS 授權來解密儲存在 Secrets Manager 中的密碼,以及建立執行階段環境、建立或重新部署應用程式,以及建立部署時。 AWS 大型主機現代化建立的授權支援下列作業:

  • 創建或更新運行時環境授予:

    • 解密

    • 加密

    • ReEncryptFrom

    • ReEncryptTo

    • GenerateDataKey

    • DescribeKey

    • CreateGrant

  • 建立或重新部署應用程式授權:

    • GenerateDataKey

  • 建立部署授權:

    • 解密

您可以隨時撤銷授予的存取權,或移除服務對客戶受管金鑰的存取權。如果這樣做, AWS 大型主機現代化將無法存取客戶管理金鑰加密的任何資料,這會影響依賴資料的作業。例如,如果 AWS 大型主機現代化嘗試存取由客戶管理的金鑰加密的應用程式定義,而不授與該金鑰,則應用程式建立作業將會失敗。

AWS 大型主機現代化會收集使用者應用程式組態 (JSON 檔案) 和成品 (二進位檔案和可執行檔)。它也會建立中繼資料,以追蹤用於 AWS 大型主機現代化作業的各種實體,並建立記錄檔和指標。客戶可見的日誌和指標包括:

  • CloudWatch 反映應用程序和運行時引擎( AWS 藍光時代或微焦點)的日誌。

  • CloudWatch 操作儀表板的指標。

此外, AWS 大型主機現代化還會收集有關服務的計量、活動報告等使用情況資料和指標。這些數據不是客戶可見的。

AWS 大型主機現代化會根據資料類型,將此資料儲存在不同的位置。您上傳的客戶資料會存放在 Amazon S3 儲存貯體中。服務資料同時存放在 Amazon S3 和 DynamoDB 中。部署應用程式時,您的資料和服務資料都會下載到 Amazon EBS 磁碟區。如果您選擇將 Amazon EFS 或 Amazon FSx 儲存連接到執行時間環境,則存放在這些檔案系統中的資料也會下載到 Amazon EBS 磁碟區。

預設為靜態加密。您無法停用或變更它。目前,您也無法變更其組態。

建立客戶受管金鑰

您可以使用 AWS Management Console 或 AWS KMS API 建立對稱的客戶管理金鑰。

建立對稱客戶受管金鑰

請依照《AWS Key Management Service 開發人員指南》建立對稱客戶受管金鑰的步驟進行。

金鑰政策

金鑰政策會控制客戶受管金鑰的存取權。每個客戶受管金鑰都必須只有一個金鑰政策,其中要包含決定誰可以使用金鑰及其使用方式的陳述。在建立客戶受管金鑰時,可以指定金鑰政策。如需詳細資訊,請參閱《AWS Key Management Service 開發人員指南》中的管理客戶受管金鑰的存取

若要將客戶受管金鑰與 AWS 大型主機現代化資源搭配使用,金鑰政策中必須允許下列 API 作業:

  • kms:CreateGrant:新增客戶受管金鑰的授權。授與指定 KMS 金鑰的控制權存取權,以允許存取授與 AWS 大型主機現代化需要的作業。如需有關使用授權的詳細資訊,請參閱開AWS Key Management Service 發人員指南

    這可讓 AWS 大型主機現代化執行下列作業:

    • 呼叫 GenerateDataKey 以產生加密的資料金鑰並加以儲存,因為資料金鑰不會立即用來加密。

    • 呼叫 Decrypt 以使用儲存的加密資料金鑰來存取加密的資料。

    • 設定退休本金以允許服務。RetireGrant

  • kms:DescribeKey— 提供客戶管理的金鑰詳細資料,以允許 AWS 大型主機現代化驗證金鑰。

AWS 大型主機現代化需要kms:CreateGrant客戶金鑰原則的kms:DescribeKey權限。 AWS 大型主機現代化使用此原則為自己建立授權。

{ "Version": "2012-10-17", "Statement": [{ "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::AccountId:role/ExampleRole" }, "Action": [ "kms:CreateGrant", "kms:DescribeKey" ], "Resource": "*" }] }
注意

上述範例Principal中顯示的角色是您用於 AWS 大型主機現代化作業 (例如和) 的角色。CreateApplication CreateEnvironment

如需有關在政策中指定許可的詳細資訊,請參閱《AWS Key Management Service 開發人員指南》

如需有關故障診斷金鑰存取的詳細資訊,請參閱《AWS Key Management Service 開發人員指南》

指定 AWS 大型主機現代化的客戶管理金鑰

您可以為下列資源指定客戶管理的金鑰:

  • 應用程式

  • Environment

建立資源時,您可以輸入 KMS ID 來指定金鑰, AWS 大型主機現代化用來加密資源所儲存的機密資料。

  • KMS ID — 客戶受管金鑰的金鑰識別碼。輸入金鑰 ID、金鑰 ARN、別名名稱或別名 ARN。

您可以使用 AWS Management Console 或指定客戶管理的金鑰 AWS CLI。

若要在中建立執行階段環境時指定客戶管理的金鑰 AWS Management Console,請參閱建立AWS大型主機現代化執行階段環境。若要在中建立應用程式時指定客戶管理的金鑰 AWS Management Console,請參閱建立AWS大型主機現代化應用程式

若要在使用建立執行階段環境時新增客戶管理的金鑰 AWS CLI,請指定kms-key-id參數,如下所示:

aws m2 create-environment —engine-type microfocus —instance-type M2.m5.large --publicly-accessible —engine-version 7.0.3 —name test --high-availability-config desiredCapacity=2 --kms-key-id myEnvironmentKey

若要在使用建立應用程式時新增客戶管理的金鑰 AWS CLI,請指定kms-key-id參數,如下所示:

aws m2 create-application —name test-application —description my description --engine-type microfocus --definition content="$(jq -c . raw-template.json | jq -R)" --kms-key-id myApplicationKey

AWS 大型主機現代化加密內容

加密內容是一組選用的金鑰值對,包含資料的其他相關內容資訊。

AWS KMS 使用加密內容作為其他驗證資料,以支援已驗證的加密。當您在加密資料的要求中包含加密內容時,會將加密內容 AWS KMS 繫結至加密的資料。若要解密資料,您必須在請求中包含相同的加密內容。

AWS 大型主機現代化加密內容

AWS 大型主機現代化在與應用程式相關的所有 AWS KMS 密碼編譯作業中使用相同的加密內容 (建立應用程式並建立部署),其中金鑰所在,aws:m2:app而且值是應用程式的唯一識別碼。

"encryptionContextSubset": { "aws:m2:app": "a1bc2defabc3defabc4defabcd" }

使用加密內容進行監控

當您使用對稱的客戶管理金鑰來加密應用程式或執行階段環境時,您也可以在稽核記錄和記錄中使用加密內容,以識別客戶管理金鑰的使用方式。

使用加密內容控制對客戶受管金鑰的存取

您也可以在金鑰政策和 IAM 政策中,使用加密內容作為 conditions 來控制對於對稱客戶受管金鑰的存取。您也可以在授予中使用加密內容條件。

AWS 大型主機現代化使用授權中的加密內容限制,以控制對您帳戶或區域中客戶管理金鑰的存取。授予條件會要求授予允許的操作使用指定的加密內容。下列範例是 AWS 大型主機現代化在建立應用程式時利用來加密應用程式成品的授權。

//This grant is retired immediately after create application finish { "grantee-principal": m2.us-west-2.amazonaws.com, "retiring-principal": m2.us-west-2.amazonaws.com, "operations": [ "GenerateDataKey" ] "condition": { "encryptionContextSubset": { “aws:m2:app”: “a1bc2defabc3defabc4defabcd” } }

監控 AWS 大型主機現代化的加密金鑰

當您將 AWS KMS 客戶受管金鑰與 AWS 大型主機現代化資源搭配使用時,您可以使用AWS CloudTrailAmazon CloudWatch Logs 追蹤 AWS 大型主機現代化傳送到的請求。 AWS KMS

執行階段環境的範例

下列範例是針對DescribeKeyCreateGrantGenerateDataKey、和Decrypt監控 AWS 大型主機現代化呼叫的 KMS 作業以存取由客戶管理金鑰加密的資料的 AWS CloudTrail 事件:

DescribeKey

AWS 大型主機現代化使用DescribeKey作業來驗證帳 AWS KMS 戶和區域中是否存在與您執行階段環境相關聯的客戶管理金鑰。

下面的範例事件會記錄 DescribeKey 操作:

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE3", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "userName": "Admin" }, "webIdFederationData": {}, "attributes": { "creationDate": "2022-12-06T19:40:26Z", "mfaAuthenticated": "false" } } }, "eventTime": "2022-12-06T20:23:43Z", "eventSource": "kms.amazonaws.com", "eventName": "DescribeKey", "awsRegion": "us-west-2", "sourceIPAddress": "205.251.233.182", "userAgent": "ExampleDesktop/1.0 (V1; OS)", "requestParameters": { "keyId": "00dd0db0-0000-0000-ac00-b0c000SAMPLE" }, "responseElements": null, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management", "tlsDetails": { "tlsVersion": "TLSv1.3", "cipherSuite": "TLS_AES_256_GCM_SHA384", "clientProvidedHostHeader": "kms.us-west-2.amazonaws.com" }, "sessionCredentialFromConsole": "true" }
CreateGrant

當您使用 AWS KMS 客戶受管金鑰來加密執行階段環境時, AWS 大型主機現代化會代表您傳送數個要CreateGrant求,以執行必要的 KMS 作業。 AWS 大型主機現代化建立的部分授權會在使用後立即淘汰。當您刪除執行階段環境時,其他人則會淘汰。

下列範例事件會記錄與建立環境工CreateGrant作流程相關聯之 Lambda 執行角色的作業。

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE3", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "userName": "Admin" }, "webIdFederationData": {}, "attributes": { "creationDate": "2022-12-06T20:11:45Z", "mfaAuthenticated": "false" } }, "invokedBy": "m2.us-west-2.amazonaws.com" }, "eventTime": "2022-12-06T20:23:09Z", "eventSource": "kms.amazonaws.com", "eventName": "CreateGrant", "awsRegion": "us-west-2", "sourceIPAddress": "m2.us-west-2.amazonaws.com", "userAgent": "m2.us-west-2.amazonaws.com", "requestParameters": { "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE", "operations": [ "Encrypt", "Decrypt", "ReEncryptFrom", "ReEncryptTo", "GenerateDataKey", "GenerateDataKey", "DescribeKey", "CreateGrant" ], "granteePrincipal": "m2.us-west-2.amazonaws.com", "retiringPrincipal": "m2.us-west-2.amazonaws.com" }, "responseElements": { "grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE", "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" }, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": false, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }

下列範例事件會記錄 Auto Scaling 群組服務連結角色的CreateGrant作業。與「建立環境」工作流程相關聯的 Lambda 執行角色會呼叫此CreateGrant作業。它會授與執行角色的權限,以針對 Auto Scaling 群組的服務連結角色建立子授權。

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AROA3YPCLM65MZFUPM4JO:EnvironmentWorkflow-alpha-CreateEnvironmentLambda7-HfxDj5zz86tr", "arn": "arn:aws:sts::111122223333:assumed-role/EnvironmentWorkflow-alpha-CreateEnvironmentLambdaS-1AU4A8VNQEEKN/EnvironmentWorkflow-alpha-CreateEnvironmentLambda7-HfxDj5zz86tr", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE3", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:iam::111122223333:role/EnvironmentWorkflow-alpha-CreateEnvironmentLambdaS-1AU4A8VNQEEKN", "accountId": "111122223333", "userName": "EnvironmentWorkflow-alpha-CreateEnvironmentLambdaS-1AU4A8VNQEEKN" }, "webIdFederationData": {}, "attributes": { "creationDate": "2022-12-06T20:22:28Z", "mfaAuthenticated": "false" } } }, "eventTime": "2022-12-06T20:23:09Z", "eventSource": "kms.amazonaws.com", "eventName": "CreateGrant", "awsRegion": "us-west-2", "sourceIPAddress": "54.148.236.160", "userAgent": "aws-sdk-java/2.18.21 Linux/4.14.255-276-224.499.amzn2.x86_64 OpenJDK_64-Bit_Server_VM/11.0.14.1+10-LTS Java/11.0.14.1 vendor/Amazon.com_Inc. md/internal exec-env/AWS_Lambda_java11 io/sync http/Apache cfg/retry-mode/legacy", "requestParameters": { "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE", "operations": [ "Encrypt", "Decrypt", "ReEncryptFrom", "ReEncryptTo", "GenerateDataKey", "GenerateDataKey", "DescribeKey", "CreateGrant" ], "granteePrincipal": "m2.us-west-2.amazonaws.com", "retiringPrincipal": "m2.us-west-2.amazonaws.com" }, "responseElements": { "grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE", "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" }, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": false, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management", "tlsDetails": { "tlsVersion": "TLSv1.3", "cipherSuite": "TLS_AES_256_GCM_SHA384", "clientProvidedHostHeader": "kms.us-west-2.amazonaws.com" } } }
GenerateDataKey

當您為執行時期環境資源啟用 AWS KMS 客戶受管金鑰時,Auto Scaling 會建立一個唯一金鑰,用於加密與執行階段環境關聯的 Amazon EBS 磁碟區。它會將要GenerateDataKey求傳送至 AWS KMS 指定資源的 AWS KMS 客戶管理金鑰。

下面的範例事件會記錄 GenerateDataKey 操作:

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AROA3YPCLM65EEXVIEH7D:AutoScaling", "arn": "arn:aws:sts::111122223333:assumed-role/AWSServiceRoleForAutoScaling/AutoScaling", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE3", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:iam::111122223333:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling", "accountId": "111122223333", "userName": "AWSServiceRoleForAutoScaling" }, "webIdFederationData": {}, "attributes": { "creationDate": "2022-12-06T20:23:16Z", "mfaAuthenticated": "false" } }, "invokedBy": "autoscaling.amazonaws.com" }, "eventTime": "2022-12-06T20:23:18Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKey", "awsRegion": "us-west-2", "sourceIPAddress": "autoscaling.amazonaws.com", "userAgent": "autoscaling.amazonaws.com", "requestParameters": { "encryptionContext": { "aws:ebs:id": "vol-080f7a32d290807f3" }, "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE", "numberOfBytes": 64 }, "responseElements": null, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
Decrypt

當您存取加密的執行階段環境時,Amazon EBS 會呼叫Decrypt作業,以使用儲存的加密資料金鑰存取加密的資料。

下面的範例事件會記錄 Decrypt 操作:

{ "eventVersion": "1.08", "userIdentity": { "type": "AWSService", "invokedBy": "ebs.amazonaws.com" }, "eventTime": "2022-12-06T20:23:22Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-west-2", "sourceIPAddress": "ebs.amazonaws.com", "userAgent": "ebs.amazonaws.com", "requestParameters": { "encryptionAlgorithm": "SYMMETRIC_DEFAULT", "encryptionContext": { "aws:ebs:id": "vol-080f7a32d290807f3" } }, "responseElements": null, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "sharedEventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventCategory": "Management" }

應用範例

下列範例是 AWS 大型主機現代化所呼叫的 KMS 作業,以存取由客戶管理金鑰加密的資料所呼叫的 AWS CloudTrail 事件CreateGrantGenerateDataKey監控:

CreateGrant

當您使用 AWS KMS 客戶受管金鑰加密應用程式資源時,Lambda 執行角色會代表您傳送CreateGrant請求,以存取您 AWS 帳戶中的 KMS 金鑰。此授權可讓 Lambda 執行角色使用客戶受管金鑰將客戶應用程式資源上傳到 Amazon S3。此授權會在建立應用程式之後立即淘汰。

下面的範例事件會記錄 CreateGrant 操作:

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE3", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "userName": "Admin" }, "webIdFederationData": {}, "attributes": { "creationDate": "2022-12-06T21:51:45Z", "mfaAuthenticated": "false" } }, "invokedBy": "m2.us-west-2.amazonaws.com" }, "eventTime": "2022-12-06T22:47:04Z", "eventSource": "kms.amazonaws.com", "eventName": "CreateGrant", "awsRegion": "us-west-2", "sourceIPAddress": "m2.us-west-2.amazonaws.com", "userAgent": "m2.us-west-2.amazonaws.com", "requestParameters": { "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE", "constraints": { "encryptionContextSubset": { "aws:m2:app": "a1bc2defabc3defabc4defabcd" } }, "retiringPrincipal": "m2.us-west-2.amazonaws.com", "operations": [ "GenerateDataKey" ], "granteePrincipal": "m2.us-west-2.amazonaws.com" }, "responseElements": { "grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE", "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" }, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": false, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
GenerateDataKey

當您為應用程式資源啟用 AWS KMS 客戶受管金鑰時,Lambda 執行角色會建立金鑰,用來加密客戶資料,並將其上傳到 Amazon 簡單儲存服務。Lambda 執行角色會傳送GenerateDataKey請求給 AWS KMS ,以指定資源的 AWS KMS 客戶受管金鑰。

下面的範例事件會記錄 GenerateDataKey 操作:

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AROA3YPCLM65CLCEKKC7Z:ApplicationWorkflow-alpha-CreateApplicationVersion-CstWZUn5R4u6", "arn": "arn:aws:sts::111122223333:assumed-role/ApplicationWorkflow-alpha-CreateApplicationVersion-1IZRBZYDG20B/ApplicationWorkflow-alpha-CreateApplicationVersion-CstWZUn5R4u6", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE3", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:iam::111122223333:role/ApplicationWorkflow-alpha-CreateApplicationVersion-1IZRBZYDG20B", "accountId": "111122223333", "userName": "ApplicationWorkflow-alpha-CreateApplicationVersion-1IZRBZYDG20B" }, "webIdFederationData": {}, "attributes": { "creationDate": "2022-12-06T23:28:32Z", "mfaAuthenticated": "false" } }, "invokedBy": "m2.us-west-2.amazonaws.com" }, "eventTime": "2022-12-06T23:29:08Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKey", "awsRegion": "us-west-2", "sourceIPAddress": "m2.us-west-2.amazonaws.com", "userAgent": "m2.us-west-2.amazonaws.com", "requestParameters": { "encryptionContext": { "aws:m2:app": "a1bc2defabc3defabc4defabcd", "aws:s3:arn": "arn:aws:s3:::supernova-processedtemplate-111122223333-us-west-2/111122223333/a1bc2defabc3defabc4defabcd/1/cics-transaction/ZBNKE35.so" }, "keySpec": "AES_256", "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" }, "responseElements": null, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }

部署範例

下列範例是 AWS 大型主機現代化所呼叫的 KMS 作業,以存取由客戶管理金鑰加密的資料所呼叫的 AWS CloudTrail 事件CreateGrantDecrypt監控:

CreateGrant

當您使用 AWS KMS 客戶受管金鑰來加密部署資源時, AWS 大型主機現代化會代表您傳送兩個CreateGrant要求。第一個授權是針對目前要呼叫的 Lambda 執行角色 ListBatchJobScriptFiles,並在部署完成後立即淘汰。第二個授權是針對 Amazon EC2 範圍縮減執行個體角色,以便 Amazon EC2 可以從 Amazon S3 下載客戶應用程式資源。從執行階段環境中刪除應用程式時,此授權會被淘汰。

下面的範例事件會記錄 CreateGrant 操作:

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE3", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "userName": "Admin" }, "webIdFederationData": {}, "attributes": { "creationDate": "2022-12-06T21:51:45Z", "mfaAuthenticated": "false" } }, "invokedBy": "m2.us-west-2.amazonaws.com" }, "eventTime": "2022-12-06T23:40:07Z", "eventSource": "kms.amazonaws.com", "eventName": "CreateGrant", "awsRegion": "us-west-2", "sourceIPAddress": "m2.us-west-2.amazonaws.com", "userAgent": "m2.us-west-2.amazonaws.com", "requestParameters": { "operations": [ "Decrypt" ], "constraints": { "encryptionContextSubset": { "aws:m2:app": "a1bc2defabc3defabc4defabcd" } }, "granteePrincipal": "m2.us-west-2.amazonaws.com", "retiringPrincipal": "m2.us-west-2.amazonaws.com", "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" }, "responseElements": { "grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE", "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" }, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": false, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
Decrypt

當您存取部署時,Amazon EC2 會呼叫該Decrypt作業,使用存放的加密資料金鑰從 Amazon S3 解密和下載加密的客戶資料。

下面的範例事件會記錄 Decrypt 操作:

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AROA3YPCLM65BSPZ37E6G:m2-hm-bqe367dxtfcpdbzmnhfzranisu", "arn": "arn:aws:sts::111122223333:assumed-role/SupernovaEnvironmentInstanceScopeDownRole/m2-hm-bqe367dxtfcpdbzmnhfzranisu", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE3", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:iam::111122223333:role/SupernovaEnvironmentInstanceScopeDownRole", "accountId": "111122223333", "userName": "SupernovaEnvironmentInstanceScopeDownRole" }, "webIdFederationData": {}, "attributes": { "creationDate": "2022-12-06T23:19:29Z", "mfaAuthenticated": "false" } }, "invokedBy": "m2.us-west-2.amazonaws.com" }, "eventTime": "2022-12-06T23:40:15Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-west-2", "sourceIPAddress": "m2.us-west-2.amazonaws.com", "userAgent": "m2.us-west-2.amazonaws.com", "requestParameters": { "encryptionContext": { "aws:m2:app": "a1bc2defabc3defabc4defabcdm", "aws:s3:arn": "arn:aws:s3:::supernova-processedtemplate-111122223333-us-west-2/111122223333/a1bc2defabc3defabc4defabcdm/1/cics-transaction/BBANK40P.so" }, "encryptionAlgorithm": "SYMMETRIC_DEFAULT" }, "responseElements": null, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }

進一步了解

下列資源會提供有關靜態資料加密的詳細資訊。

傳輸中加密

對於屬於交易工作負載一部分的互動式應用程式,終端機模擬器與 TN3270 通訊協定的 AWS 大型主機現代化服務端點之間的資料交換不會在傳輸過程中加密。如果應用程式在傳輸過程中需要加密,您可能需要實作一些額外的通道機制。

AWS 大型主機現代化使用 HTTPS 來加密服務 API。 AWS 大型主機現代化中的所有其他通訊都受到服務 VPC 或安全群組以及 HTTPS 的保護。 AWS 大型主機現代化可傳輸應用程式構件、組態和應用程式資料。應用程式成品會從您擁有的 Amazon S3 儲存貯體複製,以及應用程式資料。您可以使用 Amazon S3 的連結或在本機上傳檔案來提供應用程式組態。

傳輸中的基本加密預設會設定,但不適用於 TN3270 通訊協定。 AWS 大型主機現代化使用 HTTPS 作為 API 端點,預設情況下也會設定這些端點。