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

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

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

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

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

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

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

  • 使用 設定 API和使用者活動日誌 AWS CloudTrail。如需使用 CloudTrail 線索擷取 AWS 活動的資訊,請參閱 AWS CloudTrail 使用者指南 中的使用 CloudTrail 線索

  • 使用 AWS 加密解決方案,以及 中的所有預設安全控制項 AWS 服務。

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

  • 如果您在 AWS 透過命令列介面或 FIPS 存取 時需要 140-3 個經過驗證的密碼編譯模組API,請使用 FIPS端點。如需可用FIPS端點的詳細資訊,請參閱聯邦資訊處理標準 (FIPS) 140-3

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

AWS Mainframe Modernization 收集的資料

AWS Mainframe Modernization 會收集您的數種資料類型:

  • Application configuration:這是您建立用來設定應用程式JSON的檔案。它包含您對 AWS 大型主機現代化提供的不同選項的選擇。檔案也包含相依 AWS 資源的資訊,例如存放應用程式成品的 Amazon Simple Storage Service 路徑,或存放資料庫憑證 AWS Secrets Manager 的 Amazon Resource Name (ARN)。

  • Application executable (binary):這是您編譯的二進位檔,且您想要在 AWS 大型主機現代化上部署。

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

  • User application data:當您匯入資料集時, AWS Mainframe Modernization 會將資料集存放在關聯式資料庫中,讓您的應用程式可以存取它們。

  • Application source code:透過 Amazon AppStream 2.0, AWS Mainframe Modernization 提供開發環境,供您撰寫和編譯程式碼。

AWS Mainframe Modernization 會以原生方式將此資料儲存在 中 AWS。我們從您收集的資料會儲存在 AWS 大型主機現代化管理的 Amazon S3 儲存貯體中。當您部署應用程式時, AWS Mainframe Modernization 會將資料下載到 Amazon Elastic Block Store 後端 Amazon Elastic Compute Cloud 執行個體。觸發清除時,資料會從 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 S3加密選項來保護資料。此外,如果您將這些檔案系統連接到執行期環境,則可以使用 Amazon EFS和 Amazon FSx加密選項。

AWS Mainframe Modernization 服務靜態資料加密

AWS Mainframe Modernization 與 整合 AWS Key Management Service ,可在永久存放資料的所有相依資源上提供透明的伺服器端加密 (SSE);即 Amazon Simple Storage Service、Amazon DynamoDB 和 Amazon Elastic Block Store。 AWS Mainframe Modernization 會在 中為您建立和管理對稱加密 AWS KMS 金鑰 AWS KMS。

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

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

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

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

針對 AWS 您的大型主機現代化執行期環境, AWS 大型主機現代化會使用客戶受管金鑰來加密其建立的 Amazon EBS磁碟區,並將其連接至您的 AWS 大型主機現代化 Amazon EC2執行個體,而該執行個體也位於服務帳戶中。如需詳細資訊,請參閱建立執行期環境

注意

DynamoDB 資源一律使用 AWS Mainframe Modernization 服務帳戶中 AWS 受管金鑰 的 加密。您無法使用客戶受管金鑰加密 DynamoDB 資源。

AWS Mainframe Modernization 會將您的客戶受管金鑰用於下列任務:

  • 重新部署應用程式。

  • 更換 AWS Mainframe Modernization Amazon EC2執行個體。

AWS Mainframe Modernization 不會使用客戶受管金鑰來加密為支援 AWS Mainframe Modernization 應用程式而建立的 Amazon Relational Database Service 或 Amazon Aurora 資料庫、Amazon Simple Queue Service 佇列和 Amazon ElastiCache 快取,因為這些快取都不包含客戶資料。

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

下表摘要說明 AWS Mainframe Modernization 如何加密敏感資料。

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

Definition

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

已啟用

已啟用

EnvironmentSummary

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

已啟用

已啟用

ApplicationSummary

包含有關 AWS Mainframe Modernization 應用程式的資訊。

已啟用

已啟用

DeploymentSummary

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

已啟用

已啟用

注意

AWS Mainframe Modernization 使用 自動啟用靜態加密 AWS 受管金鑰 ,以免費保護您的敏感資料。不過,使用客戶受管金鑰需 AWS KMS 付費。如需定價的詳細資訊,請參閱 AWS Key Management Service 定價

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

AWS Mainframe Modernization 如何在 中使用授予 AWS KMS

AWS Mainframe Modernization 需要授予 才能使用客戶受管金鑰。

當您建立應用程式或執行期環境,或在以客戶受管金鑰加密 AWS 的 Mainframe Modernization 中部署應用程式時, AWS Mainframe Modernization 會透過傳送CreateGrant請求至 來代表您建立授予 AWS KMS。中的授予 AWS KMS 用於授予 AWS 大型主機現代化存取權,以存取客戶帳戶中的KMS金鑰。

AWS Mainframe Modernization 需要授予 ,才能將客戶受管金鑰用於下列內部操作:

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

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

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

AWS Mainframe Modernization 使用 AWS KMS 授予來解密儲存在 Secrets Manager 中的秘密,並在建立執行期環境、建立或重新部署應用程式,以及建立部署時解密秘密。 AWS Mainframe Modernization 建立的授予支援下列操作:

  • 建立或更新執行期環境授予:

    • 解密

    • 加密

    • ReEncryptFrom

    • ReEncryptTo

    • GenerateDataKey

    • DescribeKey

    • CreateGrant

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

    • GenerateDataKey

  • 建立部署授予:

    • 解密

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

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

  • CloudWatch 反映應用程式和執行期引擎的日誌 ( AWS Blu Age 或 Micro Focus)。

  • CloudWatch 操作儀表板的指標。

此外, AWS Mainframe Modernization 會收集有關 服務的計量、活動報告等用量資料和指標。此資料不可見於客戶。

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

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

建立客戶受管金鑰

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

建立對稱客戶受管金鑰

請依照《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 Mainframe Modernization 需要客戶金鑰政策中的 kms:CreateGrantkms:DescribeKey 許可。 AWS Mainframe Modernization 使用此政策為自己建立授予。

{ "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 大型主機現代化操作的角色,例如 CreateApplicationCreateEnvironment

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

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

為 AWS 大型主機現代化指定客戶受管金鑰

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

  • 應用程式

  • 環境

建立資源時,您可以輸入 KMS ID 來指定金鑰,而 AWS Mainframe Modernization 會使用 ID 來加密資源儲存的敏感資料。

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

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

若要在使用 建立執行期環境時新增客戶受管金鑰 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 Mainframe Modernization 會在與應用程式相關的所有 AWS KMS 密碼編譯操作 (建立應用程式和建立部署) 中使用相同的加密內容,其中金鑰為 ,aws:m2:app而值為應用程式的唯一識別符。

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

使用加密內容進行監控

當您使用對稱客戶受管金鑰來加密應用程式或執行期環境時,您也可以在稽核記錄和日誌中使用加密內容來識別如何使用客戶受管金鑰。

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

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

AWS Mainframe Modernization 在授予中使用加密內容限制,以控制對帳戶或區域中客戶受管金鑰的存取。授予條件會要求授予允許的操作使用指定的加密內容。下列範例是在建立應用程式時, 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 大型主機現代化資源使用 AWS KMS 客戶受管金鑰時,您可以使用 AWS CloudTrailAmazon CloudWatch Logs 來追蹤 AWS 大型主機現代化傳送至 的請求 AWS KMS。

執行期環境的範例

下列範例是 DescribeKeyGenerateDataKeyCreateGrant和 AWS CloudTrail 的事件Decrypt,用於監控 AWS 大型主機現代化呼叫KMS的操作,以存取客戶受管金鑰加密的資料:

DescribeKey

AWS Mainframe Modernization 使用 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 Mainframe Modernization 會代表您傳送多個CreateGrant請求,以執行必要的KMS操作。 AWS 大型主機現代化建立的一些授予會在使用後立即淘汰。當您刪除執行期環境時,其他 會淘汰。

下列範例事件會記錄與建立環境工作流程相關聯的 Lambda 執行角色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-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" }

應用程式的範例

下列範例是 CreateGrant和 AWS CloudTrail 的事件GenerateDataKey,用於監控 AWS 大型主機現代化呼叫KMS的操作,以存取客戶受管金鑰加密的資料:

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 Simple Storage Service。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" }

部署的範例

下列範例是 CreateGrant和 AWS CloudTrail 的事件Decrypt,用於監控 AWS 大型主機現代化呼叫KMS的操作,以存取客戶受管金鑰加密的資料:

CreateGrant

當您使用 AWS KMS 客戶受管金鑰加密部署資源時, AWS Mainframe Modernization 會代表您傳送兩個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 的 Mainframe Modernization 服務端點之間的資料交換不會在傳輸中加密。如果應用程式在傳輸中需要加密,您可能想要實作一些額外的通道機制。

AWS Mainframe Modernization 使用 HTTPS 加密服務 APIs。Mainframe Modernization AWS 內的所有其他通訊都受到服務或VPC安全群組以及 的保護HTTPS。 AWS Mainframe Modernization 會傳輸應用程式成品、組態和應用程式資料。應用程式成品會從您擁有的 Amazon S3 儲存貯體複製,應用程式資料也是如此。您可以使用 Amazon S3 的連結或在本機上傳檔案來提供應用程式組態。

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