

本指南记录了2025年3月13日发布的新AWS Wickr管理控制台。有关 AWS Wickr 管理控制台经典版本的文档，请参阅[经典管理指南](https://docs.aws.amazon.com/wickr/latest/adminguide-classic/what-is-wickr.html)。

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

# AWS Wickr 的 VPC 终端节点策略
<a name="vpce-policy"></a>

VPC 终端节点策略是一种 IAM 资源策略，您可以将其附加到 VPC 终端节点，以控制可通过该终端节点访问哪些资源和操作。您可以将 VPC 终端节点策略附加到 Wickr 消息和 Wickr 管理员终端节点。

对于 Wickr 消息终端节点，VPC 终端节点策略使您能够强制实施数据边界控制。例如，您可以限制可通过 VPC 终端节点访问哪些 Wickr 网络，这样用户就无法连接到未经授权的网络。对于 Wickr 管理终端节点，VPC 终端节点策略支持与消息传送相同的网络和条件控制，此外还允许您控制允许通过终端节点执行哪些特定管理操作。

**注意**  
Wickr Calling 终端节点不支持 VPC 终端节点策略。但是，Wickr Calling依靠Wickr消息来交换加密密钥和其他呼叫设置信息。如果您的 Wickr Messaging VPC 终端节点策略阻止对网络的访问，则您无法通过消息终端节点在该网络上发起或接收呼叫。

有关 VPC 终端节点的更多信息，请参阅*AWS PrivateLink 指南[中的使用终端节点策略](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html)控制对服务的访问*。

## 注意事项
<a name="vpce-policy-considerations"></a>
+ VPC 终端节点策略适用于所有用户和通过该终端节点的流量。它们不能取代其他访问控制，例如 Wickr 网络安全设置或 IAM 策略。
+ 如果您附加拒绝所有访问的策略，则任何用户都无法通过该 VPC 终端节点访问 Wickr。
+ 政策更改可能需要几分钟才能生效。避免在更改后立即重新测试。
+ 对于 Wickr Messaging，VPC 终端节点策略是根据数据平面操作进行评估的，其中包括消息传送、文件传输和呼叫信令。 Pre-login 对用户注册等请求进行评估时不匹配特定的网络资源。
+ 对于 Wickr 消息，仅支持通配符操作 (`wickr:*`)。无法指定个人消息传送操作。

**Topics**
+ [注意事项](#vpce-policy-considerations)
+ [Wickr 消息的 VPC 终端节点策略](#vpce-policy-messaging)
+ [Wickr 管理员的 VPC 终端节点策略](#vpce-policy-admin)
+ [默认的 VPC 端点策略](#vpce-policy-default)
+ [为 Wickr 创建 VPC 终端节点策略](#vpce-policy-attach)

## Wickr 消息的 VPC 终端节点策略
<a name="vpce-policy-messaging"></a>

对于 Wickr 消息终端节点，VPC 终端节点策略使您能够强制实施数据边界控制。例如，您可以附加仅允许访问组织的 Wickr 网络的 VPC 终端节点策略。

### Wickr 消息的策略元素
<a name="vpce-policy-messaging-elements"></a>

Wickr 消息的 VPC 终端节点策略支持以下元素：

Principal  
使用通配符主体 (`"*"`)。该策略适用于通过 VPC 终端节点的所有流量，无论调用者的身份如何。

处理建议  
使用通配符操作`wickr:*`。Wickr 消息的 VPC 终端节点策略不支持个人消息传送操作。通配符操作将该政策应用于所有 Wickr Messaging 数据平面操作，包括发送消息、传输文件和发起呼叫。

资源  
使用以下亚马逊资源名称 (ARN) 格式指定 Wickr 网络资源：  

```
arn:aws:wickr:{{region}}:{{account-id}}:network/{{network-id}}
```
要查找您的网络 ID 和帐户 ID，请导航到 Wickr 控制台并查看您的网络详细信息。您也可以使用通配符 (`"*"`) 来匹配所有网络。

效果  
使用`Allow`或`Deny`允许或限制对指定资源的访问。

条件  
支持以下条件键：  
+ `aws:SourceVpc`— 限制访问来自指定 VPC 的请求。
+ `aws:SourceVpce`— 限制访问通过指定 VPC 终端节点发出的请求。
+ `aws:VpceAccount`— 限制访问来自指定 AWS 账户拥有的 VPC 终端节点的请求。

### Wickr 消息的 VPC 终端节点策略示例
<a name="vpce-policy-messaging-examples"></a>

以下是 Wickr 消息的 VPC 终端节点策略示例。

#### 限制访问特定 Wickr 网络
<a name="vpce-policy-restrict-network"></a>

以下 VPC 终端节点策略仅允许使用指定网络 ID 访问 Wickr 网络。通过此端点流向其他 Wickr 网络的所有流量均被拒绝。

```
{
    "Statement": [
        {
            "Principal": "*",
            "Effect": "Allow",
            "Action": "wickr:*",
            "Resource": "arn:aws:wickr:{{us-east-1}}:{{123456789012}}:network/{{12345678}}"
        }
    ]
}
```

#### 限制对特定 VPC 的访问
<a name="vpce-policy-restrict-vpc"></a>

以下 VPC 终端节点策略仅允许在请求来自指定 VPC 时访问 Wickr 网络。当您配置了多个 VPC 终端节点并且想要限制哪些 VPC 可以访问您的 Wickr 网络时，这很有用。

```
{
    "Statement": [
        {
            "Principal": "*",
            "Effect": "Allow",
            "Action": "wickr:*",
            "Resource": "arn:aws:wickr:{{us-east-1}}:{{123456789012}}:network/{{12345678}}",
            "Condition": {
                "StringEquals": {
                    "aws:SourceVpc": "{{vpc-1a2b3c4d}}"
                }
            }
        }
    ]
}
```

#### 限制对特定 VPC 终端节点的访问
<a name="vpce-policy-restrict-vpce"></a>

以下 VPC 终端节点策略仅允许通过指定的 VPC 终端节点访问 Wickr 网络。当您有多个 VPC 终端节点并且想要限制可以使用哪个终端节点访问特定 Wickr 网络时，这很有用。

```
{
    "Statement": [
        {
            "Principal": "*",
            "Effect": "Allow",
            "Action": "wickr:*",
            "Resource": "arn:aws:wickr:{{us-east-1}}:{{123456789012}}:network/{{12345678}}",
            "Condition": {
                "StringEquals": {
                    "aws:SourceVpce": "{{vpce-0abcdef1234567890}}"
                }
            }
        }
    ]
}
```

#### 拒绝访问除特定网络之外的所有 Wickr 网络
<a name="vpce-policy-deny-other-networks"></a>

以下 VPC 终端节点策略拒绝访问除指定网络之外的所有 Wickr 网络。当您想要确保只有组织的 Wickr 网络可通过 VPC 终端节点访问且所有其他网络都被封锁时，这很有用。与仅允许政策不同，这种明确拒绝不能被其他政策声明所覆盖。

```
{
    "Statement": [
        {
            "Principal": "*",
            "Effect": "Deny",
            "Action": "wickr:*",
            "Resource": "*",
            "Condition": {
                "StringNotEquals": {
                    "aws:SourceVpce": "{{vpce-0abcdef1234567890}}"
                }
            }
        },
        {
            "Principal": "*",
            "Effect": "Allow",
            "Action": "wickr:*",
            "Resource": "arn:aws:wickr:{{us-east-1}}:{{123456789012}}:network/{{12345678}}"
        }
    ]
}
```

当请求不是来自指定的 VPC 终端节点时，第一个语句会拒绝所有 Wickr 操作。第二条语句允许访问指定的 Wickr 网络。这些语句共同确保只能访问指定的网络，并且只能通过指定的 VPC 终端节点访问。

#### 使用多个条件限制访问
<a name="vpce-policy-multiple-conditions"></a>

以下 VPC 终端节点策略仅在满足所有指定条件时才允许访问 Wickr 网络：请求必须来自特定 VPC、通过特定 VPC 终端节点以及特定账户拥有的 VPC 终端节点。 AWS 

```
{
    "Statement": [
        {
            "Principal": "*",
            "Effect": "Allow",
            "Action": "wickr:*",
            "Resource": "arn:aws:wickr:{{us-east-1}}:{{123456789012}}:network/{{12345678}}",
            "Condition": {
                "StringEquals": {
                    "aws:SourceVpc": "{{vpc-1a2b3c4d}}",
                    "aws:SourceVpce": "{{vpce-0abcdef1234567890}}",
                    "aws:VpceAccount": "{{123456789012}}"
                }
            }
        }
    ]
}
```

## Wickr 管理员的 VPC 终端节点策略
<a name="vpce-policy-admin"></a>

对于 Wickr 管理员终端节点，VPC 终端节点策略支持与 Wickr 消息相同的所有策略元素，包括网络资源限制和条件密钥 (`aws:SourceVpc`、`aws:SourceVpce`、`aws:VpceAccount`)。此外，Wickr 管理员支持特定的操作级别控制。您可以使用通配符操作`wickr:*`来允许或拒绝所有操作，也可以指定单个 Wickr 管理员操作。有关 Wickr 操作的完整列表，请参阅*服务授权参考中的 AWS Wickr [ 定义的](https://docs.aws.amazon.com/service-authorization/latest/reference/list_wickr.html#list_wickr-actions-as-permissions)操作。*

### Wickr 管理员的 VPC 终端节点策略示例
<a name="vpce-policy-admin-examples"></a>

**限制访问特定 Wickr 网络**  
以下 VPC 终端节点策略允许所有 Wickr 管理员操作，但仅适用于指定的网络资源。

```
{
    "Statement": [
        {
            "Principal": "*",
            "Effect": "Allow",
            "Action": "wickr:*",
            "Resource": "arn:aws:wickr:{{us-east-1}}:{{123456789012}}:network/{{12345678}}"
        }
    ]
}
```

**仅允许对特定 Wickr 网络进行只读访问**  
以下 VPC 终端节点策略仅允许通过终端节点在特定网络上执行只读的 Wickr 管理员操作。不允许执行诸如创建或删除网络之类的写入操作。

```
{
    "Statement": [
        {
            "Principal": "*",
            "Effect": "Allow",
            "Action": [
                "wickr:ListNetworks",
                "wickr:GetNetwork",
                "wickr:GetNetworkSettings",
                "wickr:ListUsers",
                "wickr:GetUser",
                "wickr:GetUsersCount"
            ],
            "Resource": "arn:aws:wickr:{{us-east-1}}:{{123456789012}}:network/{{12345678}}"
        }
    ]
}
```

## 默认的 VPC 端点策略
<a name="vpce-policy-default"></a>

如果您没有将自定义策略附加到 VPC 终端节点，则会应用默认终端节点策略。默认策略允许通过端点完全访问 Wickr。

```
{
    "Statement": [
        {
            "Principal": "*",
            "Effect": "Allow",
            "Action": "*",
            "Resource": "*"
        }
    ]
}
```

要限制访问，请将自定义终端节点策略附加到 VPC 终端节点。

## 为 Wickr 创建 VPC 终端节点策略
<a name="vpce-policy-attach"></a>

您可以在创建 VPC 终端节点时创建和附加 VPC 终端节点策略，也可以将策略附加到现有 VPC 终端节点。

**使用 AWS 管理控制台附加 VPC 终端节点策略 **

1. 打开位于 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 的 Amazon VPC 控制台。

1. 在左侧导航窗格中，选择**端点**。

1. 选择 Wickr VPC 终端节点（Wickr 消息或 Wickr 管理员）。

1. 选择**策略**选项卡，然后选择**编辑策略**。

1. 选择**自定义**，然后输入您的终端节点策略。

1. 选择**保存**。

**使用附加 VPC 终端节点策略 AWS CLI**

使用`modify-vpc-endpoint`命令将策略附加到现有 VPC 终端节点。

```
aws ec2 modify-vpc-endpoint \
    --vpc-endpoint-id {{vpce-0abcdef1234567890}} \
    --policy-document file://{{policy.json}}
```

{{vpce-0abcdef1234567890}}替换为您的 Wickr VPC 终端节点的 ID，以及{{policy.json}}您的终端节点策略 JSON 文件的路径。