

AWS 大型机现代化服务（托管运行时环境体验）不再向新客户开放。有关类似于 AWS 大型机现代化服务（托管运行时环境体验）的功能，请浏览 AWS 大型机现代化服务（自我管理体验）。现有客户可以继续正常使用该服务。有关更多信息，请参阅[AWS 大型机现代化可用性变更](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 配置文件传输代理
<a name="m2-agent-configuration"></a>

安装文件传输代理后，请按照以下步骤配置该代理。如果您需要安装新的代理，请按照[安装文件传输代理](m2-agent-installation.md)页面上的说明进行操作。

**Topics**
+ [步骤 1：配置权限和已启动任务控制（STC）](#configure-permissions)
+ [步骤 2：创建 Amazon S3 存储桶](#filetransfer-s3-buckets)
+ [步骤 3：创建用于加密的 AWS KMS 客户托管密钥](#filetransfer-kms-encryption)
+ [步骤 4：为大型机凭证创建 AWS Secrets Manager 密钥](#filetransfer-secret-manager)
+ [步骤 5：创建 IAM 策略](#filetransfer-IAM-policy)
+ [步骤 6：创建具有长期访问凭证的 IAM 用户](#filetransfer-create-IAM-user)
+ [步骤 7：创建代理将承担的 IAM 角色](#filetransfer-create-IAM-role)
+ [步骤 8：配置代理](#agent-configuration)

## 步骤 1：配置权限和已启动任务控制（STC）
<a name="configure-permissions"></a>

1. 按照说明，更新并提交其中一个 `SYS2.AWS.M2.SAMPLIB(SEC#RACF)`（用于设置 RACF 权限）或 `SYS2.AWS.M2.SAMPLIB(SEC#TSS)`（用于设置 TSS 权限）。这些成员由前面的 `CPY#PDS` 步骤创建。
**注意**  
`SYS2.AWS.M2`应替换为安装期间选择的高级限定符 (HLQ)。

1. 如果默认文件传输代理目录路径（`/usr/lpp/aws/m2-agent`）已更改，请更新 `SYS2.AWS.M2.SAMPLIB(M2AGENT)` STC JCL 中的 PWD 导出。

1. 根据您的网站标准更新 PROC：

   1. 根据您的安装要求更新 PROC 卡。

   1. 使用更新 STEPLIB。`M2 LOADLIB PDSE ALIAS`

   1. 编辑 PWD 以指向代理安装路径（仅包含此路径）。

   1. `JAVA_HOME`如有必要，请更新。

1. 更新 `SYS2.AWS.M2.SAMPLIB(M2AGENT)` JCL 并将其复制到`PROCLIB`串联 PROCLIBs 中的`SYS1.PROCLIB`或其中一个。

1. 使用以下命令将 `SYS2.AWS.M2.LOADLIB` 添加到 APF 列表：

   ```
   SETPROG APF ADD DSNAME(SYS2.AWS.M2.LOADLIB) SMS
   ```

1. 将代理的群组和所有者设置为代理 user/group (M2USER/M2GROUP)。在 OMVS 中使用以下命令：

   ```
   chown -R M2USER:M2GROUP $AGENT_DIR/current-version
   ```
**注意**  
使用您在安全定义作业中使用的名称编辑 M2USER 和 M2GROUP。

## 步骤 2：创建 Amazon S3 存储桶
<a name="filetransfer-s3-buckets"></a>

AWS Mainframe Modernization 文件传输功能需要一个中间 Amazon S3 存储桶作为工作区。建议专门为此创建一个存储桶。

（可选）为已传输的数据集创建一个新的目标 Amazon S3 存储桶。或者，您也可以使用现有的 Amazon S3 存储桶。有关创建 Amazon S3 存储桶的更多信息，请参阅[创建存储桶](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)。

## 步骤 3：创建用于加密的 AWS KMS 客户托管密钥
<a name="filetransfer-kms-encryption"></a>

**要在中创建客户管理的密钥 AWS KMS**

1. 打开 AWS KMS 控制台，网址为[https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms)。

1. 在左侧导航窗格中，选择**客户托管密钥**。

1. 选择**创建密钥**。

1. 在**配置密钥**下，选择**密钥类型**为**对称**，将**密钥用法**选择为**加密和解**密。使用其他默认配置。

1. 选择**下一步**。

1. 在**添加标签**中，为密钥添加别名和描述。

1. 选择**下一步**。

1. 在**定义密钥管理权限**下，至少选择一个管理此密钥的 IAM 用户和角色。

1. 选择**下一步**。

1. 或者，在 “**定义密钥管理权限**” 下，选择至少一个可以使用此密钥的 IAM 用户和角色。

1. 选择**下一步**。

1. 在**编辑密钥策略**部分中，选择**编辑**，然后向**密钥策略**添加以下语法。这样， AWS 大型机现代化服务就可以读取和使用这些密钥进行加密/解密。
**重要**  
请将语句添加到现有语句中。不要替换策略中的已有内容。

   ```
   {
       "Sid" : "Enable AWS M2 File Transfer Permissions",
       "Effect" : "Allow",
       "Principal" : {
           "Service" : "m2.amazonaws.com"
       },
       "Action" : [
           "kms:Encrypt",
           "kms:Decrypt"
       ],
      "Resource" : "*"
   },
   ```

1. 选择**下一步**。

1. 在 “**查**看” 页面上，检查所有详细信息，然后选择 “**完成**”。

打开新创建的 KMS 密钥，复制并保存客户托管密钥的 ARN。该 ARN 稍后将在策略中使用。

## 步骤 4：为大型机凭证创建 AWS Secrets Manager 密钥
<a name="filetransfer-secret-manager"></a>

访问要传输的数据集需要大型机凭据，并且这些凭据必须作为 AWS Secrets Manager 机密存储。

**创建密 AWS Secrets Manager 钥**

1. 从 [https://console.aws.amazon.com/secretsmanager](https://console.aws.amazon.com/secretsmanager) 打开 Secrets Manager 控制台。

1. 选择**存储新密钥**。

1. 在**选择密钥类型**下，选择**其他类型的密钥**。

1. 使用有权访问数据`userId`集的大型机用户 ID 的密钥值。为密码字段使用密钥值 `password`。

1. 对于**加密密钥**，请选择之前创建的 AWS 客户托管密钥。

1. 选择**下一步**。

1. 在**配置密钥**页面上，输入名称和描述。

1. 在同一页面上，编辑**资源权限**并使用以下资源策略，以便 AWS 大型机现代化服务可以对其进行访问。

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement" : [ {
       "Effect" : "Allow",
       "Principal" : {
           "Service" : "m2.amazonaws.com"
       },
       "Action" : [ "secretsmanager:GetSecretValue", 
                    "secretsmanager:DescribeSecret" ],
       "Resource" : "*"
     } ]
   }
   ```

------

1. 选择 “**保存**” 以保存更新的权限。

1. 选择**下一步**。

1. 跳过 **“配置轮换**” 页面，然后选择 “**下一步**”。

1. 在**审核**页面上，检查所有配置并选择**存储**以保存密钥。

**重要**  
`userId` 和 `password` 密钥区分大小写，必须按所示方式输入。

## 步骤 5：创建 IAM 策略
<a name="filetransfer-IAM-policy"></a>

**创建包含代理所需权限的新策略**

1. 使用 [https://console.aws.amazon.com/iam](https://console.aws.amazon.com/iam) 打开 IAM 控制台。

1. 在 “**访问管理**” 下选择 “**策略**”。

1. 选择**创建策略**。

1. 在 “**指定权限**” 页面的 “**策略编辑器**” 下，从可视化编辑器切换到 JSON 编辑器，并将内容替换为以下模板：

1. 用您的账户替换请求队列 ARN 和响应队列 ARN 中的 `111122223333`。
**注意**  
这两个通配符 ARN 与数据传输端点初始化期间创建的两个 Amazon SQS 队列相匹配。创建文件传输端点后，可以选择将这两个 ARN 替换为 Amazon SQS 中的实际值。

1. 将 `file-transfer-endpoint-intermediate-bucket-arn` 替换为之前创建的传输存储桶的 ARN。在末尾保留“/\$1”通配符。

1. `kms-key-arn`替换为先前创建的 AWS KMS 密钥的 ARN。

1. 选择**下一步**。

1. 在 “**查看并创建**” 页面上，添加策略名称和描述。

1. 选择**创建策略**。

## 步骤 6：创建具有长期访问凭证的 IAM 用户
<a name="filetransfer-create-IAM-user"></a>

创建允许大型机代理连接到您的 AWS 账户的 IAM 用户。代理将与该用户连接，然后承担您定义的角色，该角色具有使用 Amazon SQS 响应和请求队列以及将数据集保存到 Amazon S3 存储桶的权限。

**创建此 IAM 用户**

1. 导航到 [https://console.aws.amazon.com/iam](https://console.aws.amazon.com/iam) 的 IAM 控制台。

1. 在 “**访问管理**” 下选择 “**用户**”。

1. 选择**创建用户**。

1. 在**用户**详细信息下添加一个有意义的用户**名**。例如 `Configure-ft-agent`。

1. 选择**下一步**。

1. 在**权限选项**中，选择**直接附加策略**选项，但不要附加任何权限策略。这些权限将由将要附加的角色管理。

1. 选择**下一步**。

1. 查看详细信息，然后选择**创建用户**。

1. 创建用户后，选择该用户并打开**安全凭证**选项卡。

1. 在**访问密钥**下，选择**创建访问密钥**。

1. 然后，在提示输入用例时选择 “**其他**”。

1. 选择**下一步**。

1. 或者，您可以设置描述标签，例如，`Access key for configuring file transfer agent`。

1. 选择**创建访问密钥**。

1. 复制并安全保存生成的**访问密钥**和**私有访问密钥**。稍后将会使用这两个密钥。

有关创建 IAM 访问密钥的更多信息，请参阅[管理 IAM 用户的访问密钥](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html)。

**重要**  
选择**完成**之前，保存在访问密钥创建向导的最后一页上显示的**访问密钥**和**秘密访问密钥**。这些密钥用于配置大型机代理，以后无法检索。

**注意**  
保存用于与 IAM 角色建立信任关系的 IAM 用户 ARN。

## 步骤 7：创建代理将承担的 IAM 角色
<a name="filetransfer-create-IAM-role"></a>

**为代理创建新的 IAM 角色**

1. 从 [https://console.aws.amazon.com/iam](https://console.aws.amazon.com/iam) 打开 IAM 控制台，并选择**角色**。

1. 选择**创建角色**。

1. 在**选择可信实体**页面中的**可信实体类型**下，选择**自定义信任策略**。

1. 将自定义信任策略替换为以下内容，并将 `<iam-user-arn>` 替换为之前创建的用户的 ARN。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [ {
            "Sid": "FileTransferAgent",
            "Effect": "Allow",
            "Principal": {
               "AWS": "<IAM-User-arn>"
            },
            "Action": "sts:AssumeRole"
       } ]
   }
   ```

------

1. 选择**下一步**。

1. 在**添加权限**中，筛选出您之前创建的**策略名称**，然后选择该策略。

1. 选择**下一步**。

1. 命名该角色，然后选择**创建角色**。

**注意**  
保存该*角色名称*，稍后您将使用该名称来配置大型机代理。

## 步骤 8：配置代理
<a name="agent-configuration"></a>

**配置文件传输代理**

1. 导航到 `$AGENT_DIR/current-version/config`。

1. 使用以下命令编辑代理的配置文件 `appication.properties`，以添加环境配置：

   ```
   oedit $AGENT_DIR/current-version/config/application.properties
   ```

   例如：

   ```
   agent.environments[0].account-id=<AWS_ACCOUNT_ID>
   agent.environments[0].agent-role-name=<AWS_IAM_ROLE_NAME>
   agent.environments[0].access-key-id=<AWS_IAM_ROLE_ACCESS_KEY>
   agent.environments[0].secret-access-id=<AWS_IAM_ROLE_SECRET_KEY>
   agent.environments[0].bucket-name=<AWS_S3_BUCKET_NAME>
   agent.environments[0].environment-name=<AWS_REGION>
   agent.environments[0].region=<AWS_REGION>
   zos.complex-name=<File_Transfer_Endpoint_Name>
   ```

   其中：
   + `AWS_ACCOUNT_ID`是 AWS 账户的 ID。
   + `AWS_IAM_ROLE_NAME` 是在[步骤 7：创建代理将承担的 IAM 角色](#filetransfer-create-IAM-role)中创建的 IAM 角色的名称。
   + `AWS_IAM_ROLE_ACCESS_KEY` 是在[步骤 6：创建具有长期访问凭证的 IAM 用户](#filetransfer-create-IAM-user)中创建的 IAM 用户的访问密钥
   + `AWS_IAM_ROLE_SECRET_KEY` 是在[步骤 6：创建具有长期访问凭证的 IAM 用户](#filetransfer-create-IAM-user)中创建的 IAM 用户的访问密钥。
   + `AWS_S3_BUCKET_NAME` 是使用数据传输端点创建的传输存储桶的名称。
   + `AWS_REGION` 是您在其中配置文件传输代理的区域。
**注意**  
通过定义多个环境，您可以将文件传输代理传输到多个区域和账户。 AWS 
   + （可选）。`zos.complex-name` 是您在创建文件传输端点时创建的复杂名称。
**注意**  
只有当您想自定义与创建文件传输端点时所定义的名称相同的复杂名称（默认为您的 sysplex 名称）时，才需要填写此字段。有关更多信息，请参阅 [为文件传输功能创建数据传输端点](filetransfer-data-transfer-endpoints.md)。
**重要**  
可以有几个这样的部分，只要括号中的索引 (`[0]`) 为每个部分递增。

必须重新启动代理才能使更改生效。

**要求**

1. 添加或删除参数时，必须停止并启动代理。在 CLI 中使用以下命令启动文件传输代理：

   ```
   /S M2AGENT
   ```

   要停止 M2 代理，请在 CLI 中使用以下命令：

   ```
   /P M2AGENT
   ```

1. 您可以通过定义环境条目将文件传输代理配置为将数据传输到多个区域和账户。 AWS 
**注意**  
将这些值替换为您之前创建并配置的参数值。

   ```
   #Region 1
   agent.environments[0].account-id=AWS_ACCOUNT_ID
   agent.environments[0].agent-role-name=AWS_IAM_ROLE_NAME
   agent.environments[0].access-key-id=AWS_IAM_ROLE_ACCESS_KEY
   agent.environments[0].secret-access-id=AWS_IAM_ROLE_SECRET_KEY
   agent.environments[0].bucket-name=AWS_S3_BUCKET_NAME
   agent.environments[0].environment-name=AWS_REGION
   agent.environments[0].region=AWS_REGION
   
   #Region 2
   agent.environments[1].account-id=AWS_ACCOUNT_ID
   agent.environments[1].agent-role-name=AWS_IAM_ROLE_NAME
   agent.environments[1].access-key-id=AWS_IAM_ROLE_ACCESS_KEY
   agent.environments[1].secret-access-id=AWS_IAM_ROLE_SECRET_KEY
   agent.environments[1].bucket-name=AWS_S3_BUCKET_NAME
   agent.environments[1].environment-name=AWS_REGION
   agent.environments[1].region=AWS_REGION
   ```