このガイドでは、2025 年 3 月 13 日にリリースされた新しい AWS Wickr 管理コンソールについて説明します。AWS Wickr 管理コンソールのクラシックバージョンのドキュメントについては、「 Classic Administration Guide」を参照してください。
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
データ保持サービスのカスタム KMS キー設定
データ保持サービスで独自の KMS キーを使用するには、製品を起動する前に、次の設定でキーを作成します。
- 保持キー
-
-
キータイプ: 対称 (
SYMMETRIC_DEFAULT) -
キーの使用方法: 暗号化と復号
-
キーローテーション: を有効にすることをお勧めします
-
- パスワード復旧キー
-
-
キータイプ: 非対称 (
ECC_NIST_P384) -
キーの使用方法: キーアグリーメント
-
キーローテーション: 非対称キーではサポートされていません
-
カスタム KMS キーポリシーの設定
-
上記の必要な設定で KMS キーを作成します。
-
KMS コンソールから各キーのキー ID をコピーします。
-
Service Catalog でデータ保持製品を起動し、
KmsKeyIdおよびPasswordRecoveryKeyIdフィールドにキー IDs を入力します。 -
スタックが完了したら、出力タブに移動します。
-
DRSCustomerCrossAccountRoleArnと の値をコピーしますDecryptionLambdaRoleArn。 -
KMS コンソールを開き、カスタム保持キーを選択します。
-
[Key Policy] (キーポリシー) セクションで、[Switch to policy view] (ポリシービューへの切り替え) を選択します。
-
[Edit] を選択します。
-
次のステートメントをキーポリシーの
"Statement"配列に追加し、プレースホルダー ARNs をステップ 5 の値に置き換えます。 -
[Save changes] (変更の保存) をクリックします。
-
以下のパスワード復旧ステートメントを使用して、パスワード復旧キーのステップ 6~10 を繰り返します。
保持キー — 追加するステートメント
{ "Sid": "EnclaveGenerateDataKey", "Effect": "Allow", "Principal": { "AWS": "{DRSCustomerCrossAccountRoleArn}" }, "Action": "kms:GenerateDataKey", "Resource": "*", "Condition": { "StringLike": { "kms:RecipientAttestation:PCR0": "*", "kms:RecipientAttestation:PCR1": "*", "kms:RecipientAttestation:PCR2": "*" }, "ForAnyValue:StringEquals": { "kms:EncryptionContextKeys": [ "aws:wickr:network:id", "aws:wickr:app:id" ] } } }, { "Sid": "EnclaveDescribeKey", "Effect": "Allow", "Principal": { "AWS": "{DRSCustomerCrossAccountRoleArn}" }, "Action": "kms:DescribeKey", "Resource": "*" }, { "Sid": "EnclaveDecryptWithAttestation", "Effect": "Allow", "Principal": { "AWS": "{DRSCustomerCrossAccountRoleArn}" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:RecipientAttestation:PCR0": "*", "kms:RecipientAttestation:PCR1": "*", "kms:RecipientAttestation:PCR2": "*" }, "ForAnyValue:StringEquals": { "kms:EncryptionContextKeys": "aws:wickr:app:id" } } }, { "Sid": "DecryptLambdaDecrypt", "Effect": "Allow", "Principal": { "AWS": "{DecryptionLambdaRoleArn}" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "kms:EncryptionContextKeys": "aws:wickr:network:id" } } }
各ステートメントの目的については、「カスタマーマネージド KMS キーを使用するためのアクセス許可の設定」セクションの保管中の暗号化「」を参照してください。
パスワード復旧キー — 追加するステートメント
{ "Sid": "EnclaveDeriveSharedSecret", "Effect": "Allow", "Principal": { "AWS": "{DRSCustomerCrossAccountRoleArn}" }, "Action": "kms:DeriveSharedSecret", "Resource": "*", "Condition": { "StringLike": { "kms:RecipientAttestation:PCR0": "*", "kms:RecipientAttestation:PCR1": "*", "kms:RecipientAttestation:PCR2": "*" } } }, { "Sid": "CustomerGetPublicKey", "Effect": "Allow", "Principal": { "AWS": "{DRSCustomerCrossAccountRoleArn}" }, "Action": [ "kms:DescribeKey", "kms:GetPublicKey" ], "Resource": "*" }
各ステートメントの目的:
EnclaveDeriveSharedSecret
-
kms:DeriveSharedSecret — Nitro Enclave によって呼び出され、パスワード復旧キーのプライベートキーを使用して ECDH キー契約を実行します。これにより、移行ワークフロー中にパスワードを復号するために使用される共有シークレットが取得されます。エンクレーブが有効な Nitro Enclave 認証ドキュメント (PCR0/1/2 条件) を提供する場合にのみ許可され、エンクレーブ外でキーアグリーメントが発生しないようにします。
CustomerGetPublicKey
-
kms:GetPublicKey — パスワード復旧キーの ECC P-384 パブリックキーの取得を許可します。これは、お客様のマシンで実行されているパスワード収集スクリプトがパスワードのローカル ECDH 暗号化を実行するために使用されます。
-
kms:DescribeKey — 検証用のキーメタデータ (キー仕様、使用状況、ステータス) の取得を許可します。
例 — 保持キー
変更前:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "YourExistingStatements", "Effect": "...", "...": "..." } ] }
変更後:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "YourExistingStatements", "Effect": "...", "...": "..." }, { "Sid": "EnclaveGenerateDataKey", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::{account-id}:role/DRSCustomerCrossAccountRole-{network-id}-{region}" }, "Action": "kms:GenerateDataKey", "Resource": "*", "Condition": { "StringLike": { "kms:RecipientAttestation:PCR0": "*", "kms:RecipientAttestation:PCR1": "*", "kms:RecipientAttestation:PCR2": "*" }, "ForAnyValue:StringEquals": { "kms:EncryptionContextKeys": [ "aws:wickr:network:id", "aws:wickr:app:id" ] } } }, { "Sid": "EnclaveDescribeKey", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::{account-id}:role/DRSCustomerCrossAccountRole-{network-id}-{region}" }, "Action": "kms:DescribeKey", "Resource": "*" }, { "Sid": "EnclaveDecryptWithAttestation", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::{account-id}:role/DRSCustomerCrossAccountRole-{network-id}-{region}" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:RecipientAttestation:PCR0": "*", "kms:RecipientAttestation:PCR1": "*", "kms:RecipientAttestation:PCR2": "*" }, "ForAnyValue:StringEquals": { "kms:EncryptionContextKeys": "aws:wickr:app:id" } } }, { "Sid": "DecryptLambdaDecrypt", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::{account-id}:role/{DecryptionLambdaRoleName}" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "kms:EncryptionContextKeys": "aws:wickr:network:id" } } } ] }