Experience Platform UIを使用したAWSでのCustomer Managed Keysの設定と設定
このガイドでは、Experience Platform UIを使用して、AWSでホストされているExperience Platform インスタンスのCustomer Managed Keys (CMK)を有効にする方法を説明します。
AWS キーポリシーを更新して、キーをExperience Platformと統合します
AWS キーとExperience Platformを統合するには、KMS ワークスペースのKey Policy セクションでJSONを編集する必要があります。 デフォルトのキーポリシーは、以下のJSONに似ています。
{
"Id": "key-consolepolicy-3",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Enable IAM User Permissions",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::123464903283:root" // this is a mock AWS Principal ID, your ID will differ
},
"Action": "kms:*",
"Resource": "*"
}
]
}
上記の例では、同じアカウント (Principal.AWS)内のすべてのリソース ("Resource": "*")がキーにアクセスできます。 このポリシーにより、アカウント内のサービスは、指定されたアカウントに制限された暗号化および復号化操作を実行できます。 Experience Platform シングルテナントアカウントにこのキーへのアクセス権を付与するには、新しいステートメントをデフォルトのAWS ポリシーに追加します。 必要なJSON ポリシーをExperience Platform UIから取得し、AWS KMS キーに適用して、Adobe Experience Platformとの安全な接続を確立できます。
Experience Platform UIで、左側のナビゲーションパネルの管理 セクションに移動し、暗号化を選択します。 暗号化設定 ワークスペースで、顧客管理キー カードの 設定 を選択します。
Customer Managed Keys設定が表示されます。 顧客管理キー 暗号化設定に表示されているCMK KMS ポリシーからstatement オブジェクトをコピーします。
次に、AWS KMS ワークスペースに戻り、以下に示すキーポリシーを更新します。
次に示すように、Platform Encryption Configuration ワークスペースから4つのステートメントをデフォルトポリシーに追加します。Enable IAM User Permissions、CJA Flow IAM User Permissions、CJA Integrity IAM User Permissions、CJA Oberon IAM User Permissions。
{
"Version": "2012-10-17",
"Id": "key-consolepolicy",
"Statement": [
{
"Sid": "Enable IAM User Permissions",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::975049898882:root" // this is a mock AWS Principal ID, your ID will differ
},
"Action": [
"kms:Decrypt",
"kms:Encrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKey*",
"kms:DescribeKey",
"kms:CreateGrant"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:PrincipalAccount": "975049898882" // this is a mock AWS Principal ID, your ID will differ
}
}
},
{
"Sid": "CJA Flow IAM User Permissions",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::767397686373:root"
},
"Action": [
"kms:Decrypt",
"kms:Encrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKey*",
"kms:DescribeKey",
"kms:CreateGrant"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:PrincipalAccount": "767397686373"
}
}
},
{
"Sid": "CJA Integrity IAM User Permissions",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::730335345392:root"
},
"Action": [
"kms:Decrypt",
"kms:Encrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKey*",
"kms:DescribeKey",
"kms:CreateGrant"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:PrincipalAccount": "730335345392"
}
}
},
{
"Sid": "CJA Oberon IAM User Permissions",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::891377157113:root"
},
"Action": [
"kms:Decrypt",
"kms:Encrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKey*",
"kms:DescribeKey",
"kms:CreateGrant"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:PrincipalAccount": "891377157113"
}
}
}
]
}
Finishを選択して、更新されたポリシーを確認し、キーを作成します。 設定には5つのステートメントが含まれるようになり、AWS アカウントがAdobe Experience Platformと通信できるようになりました。 変更は直ちに有効になります。
AWS Key Management Serviceの更新されたCustomer Managed Keys ワークスペースが表示されます。
AWS暗号化キーの詳細をExperience Platformに追加する
次に、暗号化を有効にするには、キーのAmazon リソース名(ARN)をExperience Platform Customer Managed Keys設定に追加します。 AWSのCustomer Managed Keys セクションから、Key Management Serviceのリストから新しいキーのエイリアスを選択します。
キーの詳細が表示されます。 AWSのすべてのリソースには、Amazon Resource Name (ARN)があります。
は、AWS サービス全体でリソースを指定するために使用される一意のIDです。 標準化された形式に従います:arn:partition:service:region:account-id:resource。
ARNをコピーするには、コピーアイコンを選択します。 確認ダイアログが表示されます。
次に、Experience Platform Customer Managed Keys configuration UIに戻ります。 「AWS暗号化キーの詳細を追加」セクションに、構成名と、AWS UIからコピーした KMS キーARN を追加します。
次に、SAVEを選択して、設定名、KMS キーARNを送信し、キーの検証を開始します。
暗号化設定 ワークスペースに戻ります。 暗号化設定のステータスは、Customer Managed Keys カードの下部に表示されます。
キーが検証されると、すべてのサンドボックスのデータレイクとプロファイルデータストアにキーヴォールト識別子が追加されます。
キー失効 key-revocation
キー失効の主な考慮事項は次のとおりです。
- キーを失効または無効化すると、Experience Platform データにアクセスできなくなります。 この操作は取り消すことができず、注意して実行する必要があります。
- 暗号化キーへのアクセスが取り消された場合は、伝播のタイムラインを考慮してください。 プライマリデータストアは、数分から24時間以内にアクセスできなくなります。 キャッシュまたは一時的なデータストアは、7日以内にアクセスできなくなります。
キーを取り消すには、AWS KMS ワークスペースに移動します。 「Customer managed keys」セクションには、AWS アカウントで使用可能なすべてのキーが表示されます。 リストからキーのエイリアスを選択します。
キーの詳細が表示されます。 キーを無効にするには、ドロップダウンメニューから「Key actions」、「Disable」の順に選択します。
確認ダイアログが表示されます。 Disable keyを選択して選択を確定します。 キーを無効にした場合の影響は、約5分以内にExperience Platform アプリケーションとUIに反映されます。
または、キーが他のサービスで使用されている場合は、Experience Platformのアクセス権をキーポリシーから直接削除できます。 「Key Policy」セクションの「編集」を選択します。
Edit key policy ページが表示されます。 Experience Platform UIからコピーしたポリシーステートメントをハイライト表示して削除し、Customer Managed Keys アプリの権限を削除します。 次に、Save changesを選択してプロセスを完了します。
キーローテーション key-rotation
AWSでは、キーのローテーションを自動およびオンデマンドで実行できます。 鍵の侵害リスクを軽減したり、セキュリティコンプライアンス要件を満たしたりするために、必要に応じて、または定期的に新しい暗号化キーを自動的に生成できます。 自動キー回転をスケジュールして、キーの有効期間を制限し、キーが侵害された場合、回転後にキーが使用できないようにします。 最新の暗号化アルゴリズムは非常に安全ですが、鍵のローテーションは重要なセキュリティコンプライアンス対策であり、セキュリティのベストプラクティスに準拠していることを示しています。
自動キー回転 automatic-key-rotation
自動キーローテーションはデフォルトでは無効になっています。 KMS ワークスペースから自動キーのローテーションをスケジュールするには、Key rotation タブを選択し、Automatic key rotation sectionで Edit を選択します。
Edit automatic key rotation ワークスペースが表示されます。 ここから、ラジオボタンを選択して、自動キー回転を有効または無効にします。 次に、テキスト入力フィールドまたはドロップダウンメニューを使用して、キーのローテーションの期間を選択します。 Saveを選択して設定を確認し、キーの詳細ワークスペースに戻ります。
オンデマンドのキーローテーション on-demand-key-rotation
現在のキーが漏洩した場合に、直ちにキーのローテーションを実行するには、Rotate Nowを選択します。 AWSでは、この機能を10回転に制限しています。 定期的なメンテナンスの場合は、代わりに自動キー回転をスケジュールしてください。
次の手順
このドキュメントでは、Adobe Experience Platform用AWS KMSで暗号化キーを作成、設定、管理する方法について説明しました。 次に、組織のセキュリティとコンプライアンスのポリシーを確認して、キーローテーションのスケジュール設定や安全なキーストレージの確保などのベストプラクティスを実装します。