S3 Vectors のデータ保護と暗号化 - Amazon Simple Storage Service

S3 Vectors のデータ保護と暗号化

注記

Amazon S3 Vectors は Amazon Simple Storage Service のプレビューリリースであり、変更される可能性があります。

Amazon S3 Vectors は、ベクトルデータに 99.999999999% (イレブンナイン) の耐久性を提供し、ベクトルストレージのニーズに対する並外れた信頼性を保証します。この耐久性は、Amazon S3 の実証済みのインフラストラクチャに支えられています。このインフラストラクチャは、ハードウェアの障害やその他の中断が発生した場合でも、データの整合性と可用性を維持するように設計されています。

S3 Vectors のデータ保護には、保管中と転送中のベクトルデータを保護するように設計された複数のセキュリティコントロールレイヤーが含まれます。

デフォルトでは、Amazon S3 Vectors ベクトルバケットのすべての新しいベクトルは Amazon S3 マネージドキー (SSE-S3) によるサーバー側の暗号化を使用します。SSE-S3 暗号化を使用してベクトルバケットを作成すると、バケットに対する後続のすべてのオペレーションは自動的に暗号化を使用します。

S3 Vectors は AWS Key Management Service (KMS) とも統合され、柔軟な暗号化キー管理オプションを提供するため、アクセス許可の制御と監査のためにカスタマーマネージドキーを選択できます。

Amazon S3 Vectors バケット向けのサーバー側の暗号化動作の設定

S3 Vectors の暗号化設定は、ベクトルバケットを作成する際に指定する基本的なセキュリティ設定です。この設計により、バケットに保存されているすべてのベクトルデータが作成時から暗号化されます。暗号化設定は、バケット内のすべてのベクトル、ベクトルインデックス、メタデータに適用され、ベクトルバケット内のベクトルデータセット全体で一貫した保護を提供します。

重要

ベクトルバケットの暗号化設定は、ベクトルバケットの作成後に変更することはできません。バケットの作成プロセスでは、コンプライアンス要件、キー管理設定、既存のセキュリティインフラストラクチャとの統合など、暗号化要件を慎重に検討する必要があります。

SSE-S3 または SSE-KMS 暗号化タイプはベクトルバケットレベルで設定され、バケット内のすべてのベクトルインデックスとベクトルに適用されます。バケット内の個々のインデックスを異なる暗号化設定に変更することはできません。暗号化設定は、ベクトルデータ自体だけでなく、関連するすべてのメタデータにも適用されます。

SSE-S3 暗号化の使用

Amazon S3 マネージドキーによるサーバー側の暗号化 (SSE-S3) は、AWS が暗号化プロセスのあらゆる側面を管理するベクトルバケットにシンプルで効果的な暗号化ソリューションを提供します。この暗号化方法は AES-256 暗号化を使用し、運用上のオーバーヘッドを最小限に抑えながら強力なセキュリティを提供するように設計されています。これにより、組織は暗号化キーを管理する煩雑さを回避しつつ、堅牢な暗号化を実現できます。

SSE-S3 では、Amazon S3 は暗号化キーの生成、ローテーション、管理を自動的に行います。SSE-S3 は、追加の設定や継続的な管理要件なしで、強力なセキュリティを提供します。暗号化および復号プロセスはサービスによって自動的に処理され、SSE-S3 暗号化の使用には標準の S3 Vectors 料金を超える追加料金はかかりません。

SSE-KMS 暗号化の使用

AWS Key Management Service キーによるサーバー側の暗号化 (SSE-KMS) は、暗号化キーの制御を強化し、キー使用状況の詳細な監査ログ記録を可能にします。この暗号化方法は、厳格なコンプライアンス要件を持つ組織、カスタムキーローテーションポリシーを実装する必要がある組織、またはデータアクセスの詳細な監査証跡が必要な環境に最適です。

SSE-KMS では、カスタマーマネージドキー (CMK) を使用してベクトルデータを暗号化できます。カスタマーマネージドキーは最高レベルのコントロールを提供するため、キーポリシーの定義、キーの有効化または無効化、AWS CloudTrail によるキーの使用状況をモニタリングできます。このレベルのコントロールにより、SSE-KMS は特定のデータガバナンス要件を持つ規制対象業界または組織に特に適しています。

カスタマーマネージドキーで SSE-KMS を使用する場合、誰がキーを使用してデータを暗号化および復号化できるかを完全に制御できます。キーにアクセスできるユーザー、ロール、またはサービスを指定する詳細なキーポリシーを作成できます。

SSE-KMS に関する重要な考慮事項

  • KMS キー形式の要件: S3 Vectors では、完全な Amazon リソースネーム (ARN) 形式を使用して KMS キーを指定する必要があります。キー ID またはキーエイリアスはサポートされていません。

  • サービスプリンシパルのアクセス許可: S3 Vectors でカスタマーマネージドキーを使用する場合は、KMS キーを使用するアクセス許可を S3 Vectors サービスプリンシパルに明示的に付与する必要があります。この要件により、サービスがユーザーに代わってデータを暗号化および復号できるようになります。アクセスを必要とするサービスプリンシパルは indexing.s3vectors.amazonaws.com です。

例: S3 ベクトルの KMS キーポリシー

S3 Vectors でカスタマーマネージド KMS キーを使用するには、S3 Vectors サービスプリンシパルのアクセス許可を含めるようにキーポリシーを更新する必要があります。包括的なキーポリシーの例を次に示します。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowS3VectorsServicePrincipal", "Effect": "Allow", "Principal": { "Service": "indexing.s3vectors.amazonaws.com" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:s3vectors:aws-region:123456789012:bucket/*" }, "StringEquals": { "aws:SourceAccount": "123456789012" }, "ForAnyValue:StringEquals": { "kms:EncryptionContextKeys": ["aws:s3vectors:arn", "aws:s3vectors:resource-id"] } } }, { "Sid": "AllowApplicationAccess", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam:123456789012:role/VectorApplicationRole", "arn:aws:iam:123456789012:user/DataScientist" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "s3vectors.aws-region.amazonaws.com" }, "ForAnyValue:StringEquals": { "kms:EncryptionContextKeys": ["aws:s3vectors:arn", "aws:s3vectors:resource-id"] } } } ] }
  • 必要なアクセス許可:

    • S3 Vectors サービスプリンシパルのアクセス許可:

      • kms:Decrypt – バックグラウンドオペレーションでインデックスを維持および最適化するために、カスタマーマネージドキーの S3 Vectors サービスプリンシパル (indexing.s3vectors.amazonaws.com) が必要

    • IAM プリンシパルアクセス許可

      • kms:Decrypt – すべてのベクトルレベルのオペレーション (PutVectorsGetVectorsQueryVectorsDeleteVectorsListVectors) に必要です

      • kms:GenerateDataKey – カスタマーマネージドキーを使用してベクトルバケットを作成するために必要です

  • クロスアカウントアクセスに関する考慮事項: SSE-KMS でクロスアカウントアクセスパターンを実装する場合、KMS キーポリシーで他のアカウントの適切なプリンシパルからのアクセスが許可されていることを確認する必要があります。キー ARN 形式は、アクセス元のアカウントコンテキストに関係なく、キーへの明確な参照を提供するため、クロスアカウントシナリオで特に重要になります。