经过仔细考虑,我们决定从 2026 年 6 月 30 日起关闭新客户访问AWS大型机现代化自我管理体验的权限。现有客户可以继续照常使用该服务。AWS继续投资改善AWS大型机现代化自我管理体验的安全性和可用性,但我们不打算引入新功能。有关更多信息,请参阅AWS大型机现代化可用性变更。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AWS大型机现代化服务(托管运行时环境体验)不再向新客户开放。有关类似于AWS大型机现代化服务(托管运行时环境体验)的功能,请浏览AWS大型机现代化服务(Self-Managed体验)。现有客户可以继续正常使用该服务。有关更多信息,请参阅AWS大型机现代化可用性变更。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
中的数据保护AWS Mainframe Modernization
分AWS担责任模式适用于AWS大型机现代化中的数据保护。如本模型所述AWS,负责保护运行所有内容的全球基础架构AWS Cloud。您负责维护对托管在此基础结构上的内容的控制。您还负责您所使用的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通过命令行界面或 API 进行访问时需要经过 FIPS 140-3 验证的加密模块,请使用 FIPS 端点。有关可用的 FIPS 端点的更多信息,请参阅《美国联邦信息处理标准(FIPS)第 140-3 版》https://aws.amazon.com/compliance/fips/。
强烈建议您切勿将机密信息或敏感信息(如您客户的电子邮件地址)放入标签或自由格式文本字段(如名称字段)。这包括AWS 服务使用控制台、API 或AWS SDK 进行AWS大型机现代化或其他操作时。AWS CLI在用于名称的标签或自由格式文本字段中输入的任何数据都可能会用于计费或诊断日志。如果您向外部服务器提供 URL,强烈建议您不要在网址中包含凭证信息来验证对该服务器的请求。
那个数据AWS大型机现代化收集
AWS大型机现代化会从您那里收集几种类型的数据:
-
Application configuration:此处是指您为配置应用程序而创建的 JSON 文件。它包含您对AWS大型机现代化提供的不同选项的选择。该文件还包含相关AWS资源的信息,例如存储应用程序项目的亚马逊简单存储服务路径或存储数据库凭证的AWS Secrets Manager亚马逊资源名称 (ARN)。
-
Application executable (binary):这是您编译的二进制文件,打算在AWS大型机现代化上部署。
-
Application JCL or scripts:此源代码代表您的应用程序管理批处理作业或其他处理。
-
User application data:导入数据集时,AWS大型机现代化将它们存储在关系数据库中,以便您的应用程序可以访问它们。
-
Application source code:通过 Amazon A WorkSpaces pplications,AWS大型机现代化为您编写和编译代码提供了开发环境。
AWS大型机现代化以本地方式存储这些数据。AWS我们从您那里收集的数据存储在AWS大型机 Modernization-managed Amazon S3 存储桶中。部署应用程序时,AWS大型机现代化会将数据下载到亚马逊弹性区块 Store-backed 亚马逊弹性计算云实例上。触发清理后,数据将从 Amazon EBS 卷和 Amazon S3 中删除。Amazon EBS 卷是单租户的,这表示一个实例用于一个客户。实例不共享。当您删除运行时环境时,Amazon EBS 卷也会被删除。当您删除应用程序时,构件和配置将从 Amazon S3 中删除。
应用程序日志存储在 Amazon 中 CloudWatch。客户应用程序日志消息也会导 CloudWatch 出到。 CloudWatch 日志可能包含客户敏感数据,例如业务数据或调试消息中的安全信息)。有关更多信息,请参阅 使用 A AWS mazon 监控大型机现代化 CloudWatch。
此外,如果您选择将一个或多个 Amazon Elastic File System 或 Amazon FSx 文件系统附加到运行时环境,则这些系统中的数据将存储在AWS中。如果您决定停止使用这些文件系统,则需要清理相应数据。
当您将数据放入AWS大型机现代化用于应用程序部署和数据集导入的 Amazon S3 存储桶时,您可以使用所有可用的 Amazon S3 加密选项来保护数据。此外,如果您将一个或多个 Amazon EFS 和 Amazon FSx 文件系统附加到运行时环境,则可以使用 Amazon EFS 和 Amazon FSx 加密选项。
静态数据加密AWS大型机现代化服务
AWS大型机现代化与集成,AWS Key Management Service为永久存储数据的所有依赖资源(即亚马逊简单存储服务、Amazon DynamoDB 和亚马逊弹性区块存储)提供透明的服务器端加密 (SSE)。AWS大型机现代化在中为您创建和管理对称加密AWS KMS密钥。AWS KMS
默认情况下,静态数据加密有助于降低保护敏感数据的操作开销和复杂性。同时,它还支持迁移需要满足严格加密合规性和监管要求的应用程序。
在创建运行时环境和应用程序时,无法禁用此加密层或选择其他加密类型。
您可以为AWS大型机现代化应用程序和运行时环境使用自己的客户托管密钥来加密 Amazon S3 和 Amazon EBS 资源。
对于您的AWS大型机现代化应用程序,您可以使用此密钥来加密您的应用程序定义以及其他应用程序资源,例如 JCL 文件,这些资源保存在服务账户中创建的 Amazon S3 存储桶中。有关更多信息,请参阅 创建 应用程序。
对于您的AWS大型机现代化运行时环境,AWS大型机现代化使用您的客户托管密钥加密其创建并附加到您的AWS大型机现代化 Amazon EC2 实例(也位于该服务的账户中)的 Amazon EBS 卷。有关更多信息,请参阅 创建运行时环境。
DynamoDB 资源始终使用大型机现代化服务AWS 托管式密钥账户进行AWS加密。您无法使用客户托管密钥加密 DynamoDB 资源。
AWS大型机现代化使用您的客户托管密钥完成以下任务:
AWS大型机现代化不会使用您的客户托管密钥来加密亚马逊关系数据库服务或 Amazon Aurora 数据库、亚马逊简单队列服务队列以及为支持AWS大型机现代化应用程序而创建的亚马逊 ElastiCache 缓存,因为它们都不包含客户数据。
有关更多信息,请参阅《AWS Key Management Service开发人员指南》中的客户托管密钥。
下表汇总了AWS大型机现代化如何加密您的敏感数据。
| 数据类型 |
AWS 托管式密钥加密 |
客户托管密钥加密 |
|
Definition
包含特定应用程序的定义。
|
已启用
|
已启用
|
|
EnvironmentSummary
包含有关运行时环境的信息。
|
已启用
|
已启用
|
|
ApplicationSummary
包含有关AWS大型机现代化应用程序的信息。
|
已启用
|
已启用
|
|
DeploymentSummary
包含有关部署AWS大型机现代化应用程序的信息。
|
已启用
|
已启用
|
有关的更多信息AWS KMS,请参阅AWS Key Management Service。
操作方法AWS大型机现代化使用补助金AWS KMS
AWS大型机现代化需要获得授权才能使用您的客户托管密钥。
当您创建应用程序或运行时环境,或者在使用客户托管密钥加密AWS的大型机现代化中部署应用程序时,AWS大型机现代化将通过向发送CreateGrant请求来代表您创建补助金。AWS KMS中的赠款AWS KMS用于授予AWS大型机现代化访问客户账户中 KMS 密钥的权限。
AWS大型机现代化需要获得授权,才能使用您的客户托管密钥进行以下内部操作:
AWS在创建运行时环境、创建或重新部署应用程序以及创建部署时,大型机现代化使用AWS KMS授权来解密存储在 Secrets Manager 中的密钥。AWS大型机现代化所产生的补助金支持以下操作:
-
创建或更新运行时环境授权:
-
Decrypt
-
Encrypt
-
ReEncryptFrom
-
ReEncryptTo
-
GenerateDataKey
-
DescribeKey
-
CreateGrant
-
创建或重新部署应用程序授权:
-
创建部署授权:
您可以随时撤销授予访问权限,或删除服务对客户托管密钥的访问权限。如果这样做,AWS大型机现代化将无法访问由客户托管密钥加密的任何数据,这会影响依赖这些数据的操作。例如,如果AWS大型机现代化尝试访问由客户托管密钥加密的应用程序定义,而未授予该密钥的授权,则应用程序创建操作将失败。
AWS大型机现代化收集用户应用程序配置(JSON 文件)和工件(二进制文件和可执行文件)。AWS Mainframe Modernization 还会创建元数据,用于跟踪用于其操作的各种实体,并创建日志和指标。客户可见的日志和指标包括:
此外,AWS大型机现代化还会收集有关服务的使用数据和指标,用于计量、活动报告等。客户无法看到这些数据。
AWS大型机现代化根据数据类型将这些数据存储在不同的位置。您上传的客户数据将存储在一个 Amazon S3 存储桶中。服务数据存储在 Amazon S3 和 DynamoDB 中。部署应用程序时,您的数据和服务数据都会下载到 Amazon EBS 卷上。如果您选择将 Amazon EFS 或 Amazon FSx 存储附加到运行时环境,则存储在这些文件系统中的数据也会下载到 Amazon EBS 卷上。
默认情况下会配置静态加密。您无法将其禁用或更改。目前,您也无法更改其配置。
创建客户托管密钥
您可以使用AWS 管理控制台或AWS KMS API 创建对称的客户托管密钥。
创建对称的客户托管密钥
按照《AWS Key Management Service开发人员指南》中创建对称的客户托管密钥的步骤进行操作。
密钥策略
密钥策略控制对客户自主管理型密钥的访问。每个客户托管式密钥必须只有一个密钥策略,其中包含确定谁可以使用密钥以及如何使用密钥的声明。创建客户托管式密钥时,可以指定密钥策略。有关更多信息,请参阅《AWS Key Management Service开发人员指南》中的管理对客户托管密钥的访问。
要将客户托管密钥与AWS大型机现代化资源一起使用,密钥策略中必须允许以下 API 操作:
AWS大型机现代化需要客户密钥策略中的kms:DescribeKey权限kms:CreateGrant和权限。AWS大型机现代化使用此政策为自己创建补助金。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Sid": "Enable IAM User Permissions",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111122223333:role/ExampleRole"
},
"Action": [
"kms:CreateGrant",
"kms:DescribeKey"
],
"Resource": "*"
}
]
}
前面示例Principal中显示的角色是您用于AWS大型机现代化操作的角色,例如CreateApplication和CreateEnvironment。
有关在策略中指定权限的更多信息,请参阅《AWS Key Management Service开发人员指南》。
有关密钥访问故障排除的信更多息,请参阅《AWS Key Management Service开发人员指南》。
为指定客户管理的密钥AWS Mainframe Modernization
您可以为以下资源指定客户托管密钥:
创建资源时,您可以通过输入 KMS ID 来指定密钥,AWS大型机现代化使用该ID来加密资源存储的敏感数据。
您可以使用AWS 管理控制台或指定客户托管密钥AWS CLI。
要在中创建运行时环境时指定您的客户托管密钥AWS 管理控制台,请参阅创建 AWS 大型机现代化运行时环境。要在中创建应用程序时指定您的客户托管密钥AWS 管理控制台,请参阅创建 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大型机现代化在与应用程序相关的所有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 Mainframe Modernization
当您在AWS大型机现代化资源中使用AWS KMS客户托管密钥时,您可以使用AWS CloudTrail或 Amazon CloudWatch Logs 来跟踪AWS大型机现代化向其发送的请求。AWS KMS
针对运行时环境的示例
以下示例是DescribeKey、CreateGrant、和Decrypt监控 KMS 操作AWS CloudTrail的事件GenerateDataKey,这些操作由AWS大型机现代化调用,以访问由您的客户托管密钥加密的数据:
- 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大型机现代化创建的某些补助金在使用后会立即停用。其他授权会在您删除运行时环境时停用。
以下示例事件记录了与创建环境工作流程关联的 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"
}
以下示例事件记录了自动扩缩组服务相关角色的 CreateGrant 操作。与创建环境工作流程关联的 Lambda 执行角色调用 CreateGrant 操作。它允许执行角色针对自动扩缩组的服务相关角色创建子授权。
{
"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 操作CreateGrant和GenerateDataKey监控 KMS 操作AWS CloudTrail的事件:
- CreateGrant
-
当您使用AWS KMS客户托管密钥加密应用程序资源时,Lambda 执行角色会代表您发送访问您账户中的 KMS 密钥的CreateGrant请求。AWS该授权允许 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 执行角色会创建一个用于加密客户数据并将其上传到亚马逊简单存储服务的密钥。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 操作CreateGrant和Decrypt监控 KMS 操作AWS CloudTrail的事件:
- 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大型机现代化对 API 端点使用 HTTPS,这些端点也是默认配置的。