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

  • DRS S3 儲存貯體上的 s3:PutObject

尋找您的資源 ARNs

如果密碼復原金鑰是由產品產生,您可以在 Service Catalog 輸出中找到金鑰 ARN:

  1. 開啟 AWS Service 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 儲存貯體上的 s3:PutObject。透過連接至角色或使用者的 IAM 身分政策授予此許可。

注意

只有在遷移先前在 Docker-bot 資料保留下加密的資料時,才會使用密碼復原金鑰。

Python 指令碼指南

指令碼需要:

  • Python 3.8 或更新版本 (建議使用 3.10+)

  • pip (Python 套件管理員,隨附於 Python 3.4+)

  • 兩個 Python 套件: boto3cryptography

  • AWS 登入資料已設定為可存取您的 DRS KMS 金鑰和 S3 儲存貯體

Windows

安裝 Python

  1. python.org 下載最新的 Python 安裝程式 — 選擇適用於 Python 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

如果您已安裝 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
Amazon Linux 2023 / Fedora / RHEL 9+

sudo dnf install python3 python3-pip
Amazon 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