配置数据留存选项 - AWS Wickr

本指南提供了以下方面的文档 AWS Wickr 的版本。如果您使用的是本地版本的 Wickr,请参阅《企业管理指南》

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

配置数据留存选项

要为您的 AWS Wickr 网络配置数据留存,您必须将数据留存机器人 Docker 映像部署到主机上的容器,例如本地计算机或 Amazon Elastic Compute Cloud (Amazon EC2) 中的实例。部署机器人后,您可以将其配置为将数据存储在 Amazon Simple Storage Service (Amazon S3) 存储桶中。您还可以将数据保留机器人配置为使用其他AWS服务,例如 AWS Secrets Manager (Secrets Manager)、亚马逊 ()、亚马逊简单通知服务 CloudWatch (Amazon SNSCloudWatch) Simple Notification Service 和 ()。AWS Key Management Service AWS KMS以下主题介绍如何为您的 Wickr 网络配置和运行数据留存机器人。

配置数据留存的先决条件

在开始之前,必须从 Wickr AWS Management Console 的中获取数据留存机器人名称(标记为用户名)和初始密码。首次启动数据留存机器人时,必须同时指定这两个值。您还必须在控制台中启用数据留存。有关更多信息,请参阅 查看数据留存详情

密码

首次启动数据留存机器人时,您可以使用以下选项之一指定初始密码:

  • 环境变量 WICKRIO_BOT_PASSWORD 本指南后面的 环境变量 部分概述了数据留存机器人环境变量。

  • AWS_SECRET_NAME 环境变量标识的 Secrets Manager 中的密码值。本指南后面的 Secrets Manager 值 部分概述了数据留存机器人的 Secrets Manager 值。

  • 当数据留存机器人提示时,请输入密码。您需要使用 -ti 选项以交互式 TTY 访问权限运行数据留存机器人。

首次配置数据留存机器人时,将生成一个新密码。如果您需要重新安装数据留存机器人,则使用生成的密码。初始安装数据留存机器人后,初始密码无效。

将显示新生成的密码,如以下示例中所示。

重要

将密码保存在安全的位置。如果您丢失了密码,您将无法重新安装数据留存机器人。请勿共享此密码。它提供了开始为 Wickr 网络保留数据的功能。

******************************************************************** **** GENERATED PASSWORD **** DO NOT LOSE THIS PASSWORD, YOU WILL NEED TO ENTER IT EVERY TIME **** TO START THE BOT "HuEXAMPLERAW4lGgEXAMPLEn" ********************************************************************

存储选项

启用数据留存功能并为 Wickr 网络配置数据留存机器人后,它将捕获在您的网络中发送的所有消息和文件。消息保存在文件中,这些文件受限于特定大小或时间限制,可以使用环境变量进行配置。有关更多信息,请参阅 环境变量

您可以配置下列选项之一来存储这些数据:

  • 将所有捕获的消息和文件存储在本地。这是默认选项。您有责任将本地文件移动到另一个系统进行长期存储,并确保主机磁盘不会耗尽内存或空间。

  • 将所有捕获的消息和文件存储在 Amazon S3 存储桶中。数据留存机器人会将所有解密的消息和文件保存到您指定的 Amazon S3 存储桶中。成功保存到存储桶后,捕获的消息和文件将从主机中删除。

  • 将所有已捕获消息和加密文件存储在 Amazon S3 存储桶中。数据留存机器人将使用您提供的密钥对所有捕获的消息和文件进行重新加密,并将其保存到您指定的 Amazon S3 存储桶中。成功重新加密并保存到存储桶后,捕获的消息和文件将从主机上删除。您将需要软件来解密消息和文件。

    有关用您的数据留存创建要使用的 Amazon S3 存储桶的更多信息,请参阅 Amazon Simple 用户指南中的创建存储桶

环境变量

您可以使用以下环境变量来配置数据留存机器人。在运行数据留存机器人 Docker 映像时,您可以使用 -e 选项设置这些环境变量。有关更多信息,请参阅 启动数据留存机器人

注意

除非另有说明,否则这些环境变量是可选的。

使用以下环境变量来指定数据留存机器人凭证:

  • WICKRIO_BOT_NAME——数据留存机器人的名称。运行数据留存机器人 Docker 映像时需要此变量。

  • WICKRIO_BOT_PASSWORD——数据留存机器人的初始密码。有关更多信息,请参阅 配置数据留存的先决条件。如果您不打算使用密码提示启动数据留存机器人,或者您不打算使用 Secrets Manager 来存储数据留存机器人凭据,则需要使用此变量。

使用以下环境变量来配置默认数据留存流式传输功能:

  • WICKRIO_COMP_MESGDEST——将要流式传输消息的目录的路径名。默认值为 /tmp/<botname>/compliance/messages

  • WICKRIO_COMP_FILEDEST——将流式传输文件的目录的路径名。默认值为 /tmp/<botname>/compliance/attachments

  • WICKRIO_COMP_BASENAME——收到的消息文件的基本名称。默认值为 receivedMessages

  • WICKRIO_COMP_FILESIZE——以 kibibyte (KiB) 为单位的已接收消息文件的最大文件大小。当大小达到最大时,将启动一个新文件。默认值为 1000000000,如 1024 GiB。

  • WICKRIO_COMP_TIMEROTATE——数据留存机器人将收到的消息放入收到的消息文件的时间长度,以分钟为单位。当达到时间限制时,将启动一个新文件。您只能使用文件大小或时间来限制收到的消息文件的大小。默认值为 0,因为没有限制。

使用以下环境变量来定义要使用的默认 AWS 区域。

  • AWS_DEFAULT_REGION——Secrets Manager 等 AWS 服务的默认 AWS 区域(不用于 Amazon S3 或 AWS KMS)。如果未定义此环境变量,则默认使用 us-east-1 区域。

使用以下环境变量指定在选择使用 Secrets Manager 存储数据留存机器人凭据和 AWS 服务信息时要使用的 Secrets Manager 密钥。有关可以在 Secrets Manager 中存储的值的更多信息,请参阅 Secrets Manager 值

  • AWS_SECRET_NAME——Secrets Manager 密钥的名称,其中包含数据留存机器人所需的凭证和 AWS 服务信息。

  • AWS_SECRET_REGION——AWS 秘密所在的 AWS 区域。如果您使用的是 AWS 密钥但未定义此值,则将使用该 AWS_DEFAULT_REGION 值。

注意

您可以将以下所有环境变量作为值存储在 Secrets Manager 中。如果您选择使用 Secrets Manager,并将这些值存储在那里,那么在运行数据留存机器人 Docker 映像时,您无需将它们指定为环境变量。您只需要指定本指南前面描述的 AWS_SECRET_NAME 环境变量即可。有关更多信息,请参阅 Secrets Manager 值

当您选择将消息和文件存储到存储桶时,使用以下环境变量指定 Amazon S3 存储桶。

  • WICKRIO_S3_BUCKET_NAME——存储消息和文件的 Amazon S3 存储桶的名称。

  • WICKRIO_S3_REGION——存储消息和文件的 Amazon S3 存储桶的 AWS 区域。

  • WICKRIO_S3_FOLDER_NAME——存储邮件和文件的 Amazon S3 存储桶中的可选文件夹名称。此文件夹名称前将带有保存到 Amazon S3 存储桶中的邮件和文件的密钥。

在将文件保存到 Amazon S3 存储桶时,当您选择使用客户端加密来重新加密文件时,请使用以下环境变量来指定 AWS KMS 详细信息。

  • WICKRIO_KMS_MSTRKEY_ARN——AWS KMS 主密钥的 Amazon 资源名称 (ARN),用于在消息文件和数据留存机器人上的文件保存到 Amazon S3 存储桶之前对其进行重新加密。

  • WICKRIO_KMS_REGION——AWS KMS 主密钥所在的 AWS 区域。

当您选择向 Amazon SNS 主题发送数据留存事件时,使用以下环境变量指定 Amazon SNS 的详细信息。发送的事件包括启动、关闭以及错误情况。

  • WICKRIO_SNS_TOPIC_ARN——要使用其发送数据留存事件的 Amazon SNS 主题的 ARN。

使用以下环境变量向发送数据保留指标 CloudWatch。如果指定,则将每 60 秒生成一次指标。

  • WICKRIO_METRICS_TYPE— 将此环境变量的值设置为,cloudwatch以向其发送指标 CloudWatch。

Secrets Manager 值

您可以使用 Secrets Manager 来存储数据留存机器人凭证和 AWS 服务信息。有关创建 Secrets Manager 密钥的更多信息,请参阅在 Secrets Manager 用户指南创建一个 AWS Secrets Manager 密钥

Secrets Manager 密钥可以具有以下值:

  • password——数据留存机器人密码。

  • s3_bucket_name——存储消息和文件的 Amazon S3 存储桶的名称。如果未设置,则将使用默认文件流式传输。

  • s3_region——存储消息和文件的 Amazon S3 存储桶的 AWS 区域。

  • s3_folder_name——存储邮件和文件的 Amazon S3 存储桶中的可选文件夹名称。此文件夹名称前将带有保存到 Amazon S3 存储桶中的邮件和文件的密钥。

  • kms_master_key_arn——AWS KMS 主密钥的 ARN,用于在消息文件和数据留存机器人上的文件保存到 Amazon S3 存储桶之前对其进行重新加密。

  • kms_region——AWS KMS 主密钥所在的 AWS 区域。

  • sns_topic_arn——要使用其发送数据留存事件的 Amazon SNS 主题的 ARN。

在 AWS 服务中使用数据留存的 IAM 政策

如果您计划在 Wickr 数据留存机器人中使用其他 AWS 服务,则必须确保主机具有相应的 AWS Identity and Access Management (IAM) 角色和策略来访问这些服务。你可以将数据保留机器人配置为使用 Secrets Manager、Amazon S3、 CloudWatch、Amazon SNS 和。AWS KMS以下 IAM policy授予这些服务的特定操作所需的访问权限。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "s3:PutObject", "secretsmanager:GetSecretValue", "sns:Publish", "cloudwatch:PutMetricData", "kms:GenerateDataKey" ], "Resource": "*" } ] }

您可以通过识别您希望允许主机上的容器访问的每项服务的特定对象来创建更严格的 IAM policy。删除您不打算使用的 AWS 服务的操作。例如,如果您打算仅使用 Amazon S3 存储桶,则使用以下策略,该策略会删除 secretsmanager:GetSecretValuesns:Publishkms:GenerateDataKeycloudwatch:PutMetricData 操作。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "s3:PutObject", "Resource": "*" } ] }

如果您使用 Amazon Elastic Compute Cloud (Amazon EC2) 实例来托管您的数据留存机器人,请使用亚马逊 Amazon EC2 常见案例创建 IAM 角色并使用上面的策略定义分配策略。