View a markdown version of this page

密码恢复指令 - AWS Wickr

本指南记录了 2025 年 3 月 13 日发布的全新 AWS Wickr 管理控制台。有关经典版 AWS Wickr 管理控制台的文档,请参阅经典管理指南

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

密码恢复指令

概述

在数据保留账户生成流程中,如果服务检测到已配置的数据保留机器人,但没有无服务器数据保留,则会将密码收集脚本 (collect.py) 上传到您的 S3 存储桶。您需要在本地下载并运行此脚本以提供您的 Wickr 数据保留密码,以便该服务可以恢复您的机器人的身份。

在运行脚本之前,请验证您的 IAM 角色或用户是否具有密码恢复密钥和 S3 存储桶所需的权限。要配置访问权限,请参阅下面的 “密码恢复密钥策略” 部分。

密码恢复密钥政策

要运行密码恢复脚本,执行该脚本的 IAM 委托人需要以下权限:

  • kms: GetPublicKey 在密码恢复密钥上

  • s3:PutObject 在 DRS S3 存储桶上

查找您的资源 ARN

如果您的密码恢复密钥是由产品生成的,则可以在 Service Catalog 输出中找到密钥 ARN:

  1. 打开 S AWS ervice Catalog 控制台

  2. 导航到已配置的产品。

  3. 选择您的 Wickr 数据保留产品。

  4. 打开 Outputs (输出) 选项卡。

  5. 找到输PasswordRecoveryKeyArn出。

  6. 找到输RetentionBucketName出。

添加所需的权限

将以下语句添加到密码恢复 KMS 密钥策略中。将 {your-role-or-user-arn} 替换为将执行脚本的 IAM 角色或用户的 ARN。

{ "Sid": "PasswordRecoveryScriptAccess", "Effect": "Allow", "Principal": { "AWS": "{your-role-or-user-arn}" }, "Action": "kms:GetPublicKey", "Resource": "*" }

同样的委托人还需要在数据保留 DRS S3 存储桶PutObject 上使用 s3:。通过附加到角色或用户的 IAM 身份策略授予此权限。

注意

密码恢复密钥仅在迁移之前在数据保留期内加密 Docker-bot 的数据时使用。

Python 脚本指南

该脚本需要:

  • Python 3.8 或更高版本(推荐 3.10+ 版本)

  • pip(Python 包管理器,包含在 Python 3.4+ 中)

  • 两个 Python 软件包:boto3cryptography

  • AWS 配置了访问您的 DRS KMS 密钥和 S3 存储桶的凭证

Windows

安装 Python

  1. 从 pyth on.org 下载最新的 Python 安装程序 — 选择 P ython 3.10 或更高版本的 “Windows 安装程序(64 位)”。

  2. 运行安装程序。在选择 “立即安装” 之前,选中第一个屏幕底部的 “将 python.exe 添加到 PATH” 复选框。

  3. 打开命令提示符验证安装,或者 PowerShell:

    python --version

    你应该会看到类似Python 3.10.x或更晚的输出。

  4. 验证 pip 是否可用:

    pip --version

安装依赖项。

打开命令提示符或 PowerShell 并运行:

pip install boto3 cryptography

配置 AWS 凭证

确保您的 AWS 凭据已配置。最简单的方法是使用 AWS CLI:

aws configure

提供您的访问密钥 ID、私有访问密钥和默认区域。凭证必须具有:

  • kms:GetPublicKey在你的 DRS 密码恢复密钥上

  • s3:PutObject在你的 DRS S3 存储桶上

  • s3:GetObject在您的 DRS S3 存储桶上(下载脚本)

下载并解压缩脚本

  1. 从您的 S3 存储桶中下载 zip 文件:

    aws s3 cp s3://your-bucket/wickr-drs-password-tool/collect.zip .
  2. 解压 zip 文件:

    Expand-Archive -Path collect.zip -DestinationPath .
  3. (可选)验证脚本校验和是否与 Wickr AWS 控制台中显示的值相匹配:

    certutil -hashfile collect.py SHA256

    预期的哈希文件结果是:

    31c5c85ec16587fbc284ed963bc0cae3723713ea9cb54a2cdc3941726bcc662a

运行脚本

python collect.py

成功完成后,删除本地文件:

del collect.py config.json collect.zip

macOS

安装 Python

macOS 附带了 Python 系统,但它可能已经过时了。使用以下方法之一安装当前版本:

选项 A:官方安装程序(最简单)

  1. python.org 下载 macOS 安装程序 — 选择 Python 3.10 或更高版本。

  2. 运行.pkg安装程序并按照提示进行操作。

  3. 验证:

    python3 --version
选项 B:自制

如果你安装了 Homebrew:

brew install python@3.12

验证:

python3 --version

安装依赖项。

pip3 install boto3 cryptography

如果您遇到权限错误,请使用:

pip3 install --user boto3 cryptography

配置 AWS 凭证

aws configure

提供您的访问密钥 ID、私有访问密钥和默认区域。凭证必须具有:

  • kms:GetPublicKey在你的 DRS 密码恢复密钥上

  • s3:PutObject在你的 DRS S3 存储桶上

  • s3:GetObject在您的 DRS S3 存储桶上(下载脚本)

下载并解压缩脚本

  1. 从您的 S3 存储桶中下载 zip 文件:

    aws s3 cp s3://your-bucket/wickr-drs-password-tool/collect.zip .
  2. 解压 zip 文件:

    unzip collect.zip
  3. (可选)验证脚本校验和:

    shasum -a 256 collect.py

    预期的 shasum 结果是:

    31c5c85ec16587fbc284ed963bc0cae3723713ea9cb54a2cdc3941726bcc662a

    将输出与 Wickr AWS 控制台中显示的校验和进行比较。

运行脚本

python3 collect.py

成功完成后,删除本地文件:

rm collect.py config.json collect.zip

Linux

安装 Python

大多数 Linux 发行版包括 Python 3。检查您当前的版本:

python3 --version

如果 Python 未安装或低于 3.8,请使用发行版的包管理器进行安装:

Ubuntu /Debian

sudo apt update sudo apt install python3 python3-pip
亚马逊 Linux 2023 /Fedora /RHEL 9+

sudo dnf install python3 python3-pip
亚马逊 Linux 2 /RHEL 7-8 /CentoS 7-8

sudo yum install python3 python3-pip

验证:

python3 --version pip3 --version

安装依赖项。

pip3 install boto3 cryptography

如果您遇到权限错误,请使用:

pip3 install --user boto3 cryptography

配置 AWS 凭证

aws configure

提供您的访问密钥 ID、私有访问密钥和默认区域。凭证必须具有:

  • kms:GetPublicKey在你的 DRS 密码恢复密钥上

  • s3:PutObject在你的 DRS S3 存储桶上

  • s3:GetObject在您的 DRS S3 存储桶上(下载脚本)

下载并解压缩脚本

  1. 从您的 S3 存储桶中下载 zip 文件:

    aws s3 cp s3://your-bucket/wickr-drs-password-tool/collect.zip .
  2. 解压 zip 文件:

    unzip collect.zip

    如果unzip未安装:sudo apt install unzip(Debian/Ubuntu) 或 sudo dnf install unzip (Fedora/RHEL/AL2023)。

  3. (可选)验证脚本校验和:

    sha256sum collect.py

    sha256sum 的预期结果是:

    31c5c85ec16587fbc284ed963bc0cae3723713ea9cb54a2cdc3941726bcc662a

    将输出与 Wickr AWS 控制台中显示的校验和进行比较。

运行脚本

python3 collect.py

成功完成后,删除本地文件:

rm collect.py config.json collect.zip