

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

# Multi-party 批准 AWS 支付密码学
<a name="mpa"></a>

AWS Payment Cryptography 与 Amazon Web Services Organizations 提供的[Multi-party 批准](https://docs.aws.amazon.com/mpa/latest/userguide/what-is.html) (MPA) 功能集成，可通过分布式批准流程帮助保护关键操作。借助 MPA，您可以要求多个受信任的个人在执行特定的 AWS 支付加密操作之前批准这些操作。

**Topics**
+ [概述](#mpa-overview)
+ [受保护的操作](#mpa-protected-operations)
+ [先决条件](#mpa-prerequisites)
+ [启用和禁用 MPA](#mpa-enable-disable)
+ [开始使用](#mpa-getting-started)
+ [示例：导入启用了 MPA 的根证书](#mpa-example)
+ [AWS CloudTrail 记录 MPA 事件](#mpa-cloudtrail)
+ [检查请求状态并处理失败](#mpa-rejected-requests)

## 概述
<a name="mpa-overview"></a>

Multi-party 批准要求在操作继续之前获得一组可信人员的批准，从而为敏感的 AWS 支付加密操作增加了一层额外的安全性。这有助于在单组凭据遭到泄露时防止未经授权的更改，并防止个人单方面进行更改。

审批小组是指组织内由您指定批准或拒绝受保护的操作请求的一组批准者。批准流程完全由贵组织的批准者管理。没有 AWS 人员参与批准或拒绝申请。

为受保护的操作启用 MPA 时，会发生以下情况：

1. 请求者启动受保护的操作。

1. MPA 创建批准会话并通知审批小组成员。

1. 审批小组成员审查申请，并通过 MPA 门户网站批准或拒绝申请。

1. 一旦达到所需的最低批准门槛，操作就会继续进行。如果请求被批准小组拒绝，或者允许的会话时间在达到批准阈值之前到期，则不会执行该操作。在这两种情况下，请求者都必须提交新的请求才能重试该操作。

**注意**  
导入启用 MPA 的根 CA 证书时，该`RequesterComment`参数为必填项。此评论包含在发送给审批小组的批准通知中，为请求提供了背景信息。

## 受保护的操作
<a name="mpa-protected-operations"></a>

AWS 支付密码学支持 MPA 用于以下操作：
+ [https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ImportKey.html](https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ImportKey.html)使用`RootCertificatePublicKey`密钥材料 — 导入根公钥证书是一项关键操作，因为根证书使用非对称密钥交换（例如）为所有后续密钥导入和导出建立信任锚点。 TR-34此操作要求获得多方批准有助于确保任何个人都无法单方面建立或更改您的 AWS 支付密码密钥的信任根。

## 先决条件
<a name="mpa-prerequisites"></a>

在将 MPA 与 AWS 支付密码学结合使用之前，您必须满足以下先决条件：
+ 在您的亚马逊 Web Services Organizations 环境中设置 MPA。有关说明，请参阅[什么是 Multi-party 批准？](https://docs.aws.amazon.com/mpa/latest/userguide/what-is.html) 在*Multi-party 批准用户指南*中。
+ 至少创建一个由所需审批者组成的审批小组。
+ 使用 AWS Resource Access Manager与包含您的 AWS 付款加密密钥 AWS 账户 的审批团队共享。
+ 您组织中的管理账户必须选择加入才能 Multi-party 获得批准。

## 启用和禁用 MPA
<a name="mpa-enable-disable"></a>

设置审批小组后，您可以通过将该小组与您的账户关联来为 AWS 支付密码学启用 MPA。您也可以通过取消关联团队来禁用 MPA，尽管取消关联需要当前关联的审批小组的批准。

**启用 MPA**  
使用 `AssociateMpaTeam` API 操作或 **associate-mpa-team** CLI 命令将审批小组与您的 AWS 支付加密账户关联起来。关联后，受保护的操作需要获得团队的批准才能继续。

```
aws payment-cryptography associate-mpa-team \
    --team-arn arn:aws:mpa:{{us-east-1}}:{{111122223333}}:team/{{my-approval-team}}
```

**禁用 MPA**  
使用 `DisassociateMpaTeam` API 操作或 **disassociate-mpa-team** CLI 命令移除审批小组关联。取消关联团队本身就是一项受保护的操作，需要获得当前关联的审批小组的批准。

```
aws payment-cryptography disassociate-mpa-team \
    --team-arn arn:aws:mpa:{{us-east-1}}:{{111122223333}}:team/{{my-approval-team}}
```

**重要**  
禁用 MPA 需要获得当前关联的审批小组的批准。这样可以确保任何个人都不能单方面取消多方批准保护。

**注意**  
对于和来说，该`--requester-comment`参数是可选**associate-mpa-team**的**disassociate-mpa-team**。

## 开始使用
<a name="mpa-getting-started"></a>

要开始使用 MPA for P AWS ayment Cryptography，请参阅[Multi-party 批准用户指南](https://docs.aws.amazon.com/mpa/latest/userguide/what-is.html)，了解详细的设置说明，包括如何创建审批小组、配置批准策略和管理批准会话。

## 示例：导入启用了 MPA 的根证书
<a name="mpa-example"></a>

启用 MPA 且审批小组与的`ImportKey`操作关联后`RootCertificatePublicKey`，导入请求需要获得批准才能继续。

1. 请求者调`import-key`用导入根公钥证书。要使用此命令，请将示例命令{{italicized placeholder text}}中的替换为您自己的信息。

   ```
   aws payment-cryptography import-key \
       --key-material='{"RootCertificatePublicKey": {
       "KeyAttributes": {
           "KeyAlgorithm": "RSA_4096",
           "KeyClass": "PUBLIC_KEY",
           "KeyModesOfUse": {"Verify": true},
           "KeyUsage": "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE"
       },
       "PublicKeyCertificate": "{{LS0tLS1CRUdJTi...}}"}}' \
       --requester-comment "{{Importing new root CA certificate for TR-34 key exchange with partner XYZ}}"
   ```

   响应会返回一个`KeyState`设置为的密钥`CREATE_IN_PROGRESS`，表示该请求正在等待批准。回复中还包括`MpaStatus`有关批准会话的详细信息：

   ```
   {
       "Key": {
           "KeyArn": "arn:aws:payment-cryptography:{{us-east-2}}:{{111122223333}}:key/{{kwapwa6qaifllw2h}}",
           "KeyAttributes": {
               "KeyUsage": "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE",
               "KeyClass": "PUBLIC_KEY",
               "KeyAlgorithm": "RSA_4096"
           },
           "Enabled": true,
           "KeyState": "CREATE_IN_PROGRESS",
           "KeyOrigin": "EXTERNAL",
           "CreateTimestamp": "2026-04-27T10:15:30.000000+00:00",
           "UsageStartTimestamp": "2026-04-27T10:15:29.926000+00:00",
           "MpaStatus": {
               "MpaSessionArn": "arn:aws:mpa:{{us-east-1}}:{{111122223333}}:session/{{abc123def456}}",
               "Status": "PENDING",
               "InitiationDate": "2026-04-27T10:15:30.000000+00:00"
           }
       }
   }
   ```

1. 由于 MPA 已启用，因此请求不会立即完成。相反，P AWS ayment Cryptography 会创建一个批准会话，并返回一个表示正在等待批准的响应。

1. 审批小组成员会收到通知，并通过 MPA 门户网站审核申请。在所需数量的批准者批准请求后，导入操作将继续，根证书将被导入。

## AWS CloudTrail 记录 MPA 事件
<a name="mpa-cloudtrail"></a>

启用 MPA 后，Paym AWS ent Cryptography 会在批准会话完成[AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)时记录服务事件。这些事件记录了批准过程的结果，包括请求是获得批准还是失败。您可以使用这些日志来审计 MPA 活动并跟踪受保护操作的状态。

MPA-related CloudTrail 事件包括以下字段`serviceEventDetails`：
+ `keyArn`— 受操作影响的密钥的 ARN。
+ `operation`— 请求的受保护操作。
+ `mpaSessionArn`— MPA 批准会话的 ARN。
+ `sessionStatus`— 批准会话的结果（`APPROVED`或`FAILED`）。

**已批准的请求**  
以下示例显示了已获得 MPA 团队批准的`ImportKey`请求 CloudTrail 的事件：

```
{
    "eventVersion": "1.11",
    "eventTime": "2026-04-28T18:49:51Z",
    "eventName": "ImportKey",
    "eventSource": "payment-cryptography.amazonaws.com",
    "eventType": "AwsServiceEvent",
    "eventCategory": "Management",
    "awsRegion": "us-east-1",
    "readOnly": false,
    "managementEvent": true,
    "recipientAccountId": "{{111122223333}}",
    "userIdentity": {
        "accountId": "{{111122223333}}",
        "invokedBy": "payment-cryptography.amazonaws.com"
    },
    "resources": [
        {
            "ARN": "arn:aws:payment-cryptography:{{us-east-2}}:{{111122223333}}:key/{{spa2dclzmsihlj4o}}",
            "accountId": "{{111122223333}}",
            "type": "AWS::PaymentCryptography::Key"
        }
    ],
    "serviceEventDetails": {
        "keyArn": "arn:aws:payment-cryptography:{{us-east-2}}:{{111122223333}}:key/{{spa2dclzmsihlj4o}}",
        "operation": "ImportKey",
        "mpaSessionArn": "arn:aws:mpa:{{us-east-1}}:{{111122223333}}:session/{{my-approval-team/44c76e07-8937-4d7d-bb9a-a646322e2a1e}}",
        "sessionStatus": "APPROVED"
    }
}
```

**请求失败**  
以下示例显示了`ImportKey`请求被拒绝或超时 CloudTrail 的事件：

```
{
    "eventVersion": "1.11",
    "eventTime": "2026-04-28T18:50:35Z",
    "eventName": "ImportKey",
    "eventSource": "payment-cryptography.amazonaws.com",
    "eventType": "AwsServiceEvent",
    "eventCategory": "Management",
    "awsRegion": "us-east-1",
    "readOnly": false,
    "managementEvent": true,
    "recipientAccountId": "{{111122223333}}",
    "userIdentity": {
        "accountId": "{{111122223333}}",
        "invokedBy": "payment-cryptography.amazonaws.com"
    },
    "resources": [
        {
            "ARN": "arn:aws:payment-cryptography:{{us-east-2}}:{{111122223333}}:key/{{qj46ku4qimypxdo7}}",
            "accountId": "{{111122223333}}",
            "type": "AWS::PaymentCryptography::Key"
        }
    ],
    "serviceEventDetails": {
        "keyArn": "arn:aws:payment-cryptography:{{us-east-2}}:{{111122223333}}:key/{{qj46ku4qimypxdo7}}",
        "operation": "ImportKey",
        "mpaSessionArn": "arn:aws:mpa:{{us-east-1}}:{{111122223333}}:session/{{my-approval-team/b0ac1994-14e1-47a6-bf1a-0b6fc0b845f2}}",
        "sessionStatus": "FAILED"
    }
}
```

要了解更多信息 AWS CloudTrail，请参阅《[AWS CloudTrail 用户指南》](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)。

## 检查请求状态并处理失败
<a name="mpa-rejected-requests"></a>

您可以致电查看待处理的 MPA 请求的状态[https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_GetKey.html](https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_GetKey.html)。响应中包含包含当前批准会话详细信息的`MpaStatus`字段。要使用此命令，请将示例命令{{italicized placeholder text}}中的替换为您自己的信息。

```
aws payment-cryptography get-key \
    --key-identifier arn:aws:payment-cryptography:{{us-east-2}}:{{111122223333}}:key/{{kwapwa6qaifllw2h}}
```

当请求等待批准时，响应显示`KeyState`为`CREATE_IN_PROGRESS`和`MpaStatus.Status`为`PENDING`：

```
{
    "Key": {
        "KeyArn": "arn:aws:payment-cryptography:{{us-east-2}}:{{111122223333}}:key/{{kwapwa6qaifllw2h}}",
        "KeyAttributes": {
            "KeyUsage": "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE",
            "KeyClass": "PUBLIC_KEY",
            "KeyAlgorithm": "RSA_4096"
        },
        "Enabled": true,
        "KeyState": "CREATE_IN_PROGRESS",
        "KeyOrigin": "EXTERNAL",
        "CreateTimestamp": "2026-04-27T10:15:30.000000+00:00",
        "UsageStartTimestamp": "2026-04-27T10:15:29.926000+00:00",
        "MpaStatus": {
            "MpaSessionArn": "arn:aws:mpa:{{us-east-1}}:{{111122223333}}:session/{{abc123def456}}",
            "Status": "PENDING",
            "InitiationDate": "2026-04-27T10:15:30.000000+00:00"
        }
    }
}
```

所需数量的批准者批准请求后，将`KeyState`移至`CREATE_COMPLETE`并`MpaStatus.Status`移至。`APPROVED`密钥现已准备就绪，可以使用：

```
{
    "Key": {
        "KeyArn": "arn:aws:payment-cryptography:{{us-east-2}}:{{111122223333}}:key/{{kwapwa6qaifllw2h}}",
        "KeyAttributes": {
            "KeyUsage": "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE",
            "KeyClass": "PUBLIC_KEY",
            "KeyAlgorithm": "RSA_4096"
        },
        "Enabled": true,
        "KeyState": "CREATE_COMPLETE",
        "KeyOrigin": "EXTERNAL",
        "CreateTimestamp": "2026-04-27T10:15:30.000000+00:00",
        "UsageStartTimestamp": "2026-04-27T10:15:29.926000+00:00",
        "MpaStatus": {
            "MpaSessionArn": "arn:aws:mpa:{{us-east-1}}:{{111122223333}}:session/{{abc123def456}}",
            "Status": "APPROVED",
            "InitiationDate": "2026-04-27T10:15:30.000000+00:00"
        }
    }
}
```

如果申请被审批小组拒绝，或者会话在达到批准阈值之前到期，则会`MpaStatus.Status`更改`FAILED`为：`KeyState``CREATE_FAILED`

```
{
    "Key": {
        "KeyArn": "arn:aws:payment-cryptography:{{us-east-2}}:{{111122223333}}:key/{{kwapwa6qaifllw2h}}",
        "KeyAttributes": {
            "KeyUsage": "TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE",
            "KeyClass": "PUBLIC_KEY",
            "KeyAlgorithm": "RSA_4096"
        },
        "Enabled": true,
        "KeyState": "CREATE_FAILED",
        "KeyOrigin": "EXTERNAL",
        "CreateTimestamp": "2026-04-27T10:15:30.000000+00:00",
        "UsageStartTimestamp": "2026-04-27T10:15:29.926000+00:00",
        "MpaStatus": {
            "MpaSessionArn": "arn:aws:mpa:{{us-east-1}}:{{111122223333}}:session/{{abc123def456}}",
            "Status": "FAILED",
            "InitiationDate": "2026-04-27T10:15:30.000000+00:00",
            "StatusMessage": "Approval session expired or was denied"
        }
    }
}
```

处于`CREATE_FAILED`状态的密钥不能用于加密操作。要重试导入，您必须提交新的`ImportKey`请求，这将创建一个新的批准会话。