

# S3 Vectors での暗号化の設定
<a name="s3-vectors-sectting-encryption"></a>

このトピックでは、S3 ベクトルバケットとインデックスの暗号化設定を設定する方法について説明します。

作業を開始する前に、次の項目があることを確認します。
+ バケットとインデックスのプロパティを表示するための適切なアクセス許可。

## S3 コンソールの使用
<a name="viewing-encryption-settings-in-the-console"></a>

**ベクトルバケットの暗号化を設定するには**

1. Amazon S3 コンソール ([https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)) を開きます。

1. ナビゲーションペインで、**[ベクトルバケット]** を選択します。

1. **[ベクトルバケットを作成]** を選択します。

1. **[バケット名]** にバケットの名前を入力します。

   バケット名には次の条件があります。
   + この AWS リージョンのアカウント内で一意であること
   + 3～63 文字で指定すること
   + 小文字、数字、ハイフン (-) のみで構成されていること

1. **[暗号化]** には、以下を選択します。
   + **暗号化タイプを指定する** – 特定の暗号化方法を選択します。
     + **Amazon S3 マネージドキーを使用したサーバー側の暗号化 (SSE-S3)** – SSE-S3 を使用すると、Amazon S3 は暗号化キーの生成、ローテーション、管理を自動的に処理します。
     + **AWS Key Management Service キーを使用したサーバー側の暗号化 (SSE-KMS)** – SSE-S3 に似ていますが、AWS KMS でカスタマーマネージドキー (CMK) を使用しているため、キーをより細かく制御できます。カスタマーマネージドキーの詳細については、「*AWS Key Management Service デベロッパーガイド*」の「[Customer managed keys](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk)」を参照してください。

       このオプションを選択した場合は、**AWS KMS キー**で次のいずれかのオプションを選択します。
       + **AWS KMS キーから選択** – ドロップダウンリストから既存の KMS キーを選択します
       + **AWS KMS キー ARN を入力** – KMS キーの Amazon リソースネーム (ARN) を入力します
       + **KMS キーを作成する** – AWS KMS コンソールで新しいカスタマーマネージドキーを作成します。詳細については、「*AWS Key Management Service デベロッパーガイド*」の「[Creating symmetric customer managed keys](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk)」を参照してください。
**注記**  
KMS キーには、次の要件が適用されます。  
AWS KMS キー ID を空にすることはできません
KMS キーは、このバケットを作成するリージョンと同じリージョンに存在する必要があります
AWS KMS キー ARN は「arn:aws:kms:」で始まる必要があります
**重要**  
ベクトルバケットの作成後に暗号化設定を変更することはできません。

1. **[AWS KMS キー ARN を入力]** を選択した場合は、指定されたテキストフィールドに ARN を入力します。

1. **[KMS キーを作成する]** を選択した場合、コンソールは新しいタブで AWS KMS コンソールを開きます。KMS キーの作成方法については、「*AWS Key Management Service デベロッパーガイド*」の「[Creating symmetric customer managed keys](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk)」を参照してください。

1. **[ベクトルバケットを作成]** を選択します。
**重要**  
KMS 暗号化を使用する場合は、バケット内のオブジェクトにアクセスする必要がある IAM プリンシパルに、選択した KMS キーに必要な KMS アクセス許可 (kms:Decrypt) があることを確認してください。

**ベクトルインデックスの暗号化を設定するには**

1. Amazon S3 コンソール ([https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)) を開きます。

1. ナビゲーションペインで、**ベクトルバケット**を選択します。

1. ベクトルバケットのリストで、ベクトルインデックスを作成するバケットの名前を選択します。

1. **[ベクトルインデックスを作成]** を選択します。

1. **[ベクトルインデックス名]** に、ベクトルインデックスの名前を入力します。

   ベクトルインデックス名は、ベクトルバケット内で一意である必要があります。名前は 3～63 文字にしてください。有効な文字は、小文字 (a～z)、数字 (0～9)、ハイフン (-)、ドット (.) です。ベクトルインデックスの命名要件の詳細については、「[ベクトルバケットの命名規則](s3-vectors-buckets-naming.md)」を参照してください。

1. **[ディメンション]** には、各ベクトルの値の数を入力します。
**注記**  
**[ディメンション]** の値は、各ベクトルに含まれる数値の数を決定します。
このインデックスに追加されるすべてのベクトルには、正確にこの数の値が必要です。
ディメンションは 1～4096 である必要があります。
より大きなディメンションには、より多くのストレージ領域が必要です。
埋め込みモデルの出力ディメンションに基づいて選択します。
要件の詳細については、「[制限と制約](s3-vectors-limitations.md)」を参照してください。

1. **[距離メトリクス]** で次のいずれかのオプションを選択します。
   + **コサイン** – ベクトル間の角度のコサインを測定します。正規化されたベクトル、および方向がマグニチュードよりも重要な場合に最適
   + **ユークリッド** – ベクトル間の直線距離を測定します。方向と大きさの両方が重要な場合に最適です。

1. (オプション) **[フィルタリングできないメタデータ]** で、保存されるがフィルタリングには使用しないメタデータキーを設定します。

   フィルタリングできないメタデータキーを追加するには

   1. **[キーの追加]** を選択します。

   1. キー名 (1～63 文字で、このベクトルインデックス内で一意) を入力します。

   1. 繰り返してキーを追加します (最大 10 個のキー)。
**注記**  
ベクトルインデックスの作成後にベクトルデータを挿入するときに、フィルタリング可能なメタデータをキーと値のペアとして各ベクトルにアタッチできます。デフォルトでは、ベクトルにアタッチされているすべてのメタデータキーはフィルタリング可能で、類似度クエリでフィルターとして使用できます。ベクトルインデックスの作成中にフィルタリング不可として指定されたメタデータキーのみがフィルタリングから除外されます。合計メタデータ制約とフィルタリング可能なメタデータ制約の両方を含む、ベクトルあたりのメタデータサイズ制限の詳細については、「[制限と制約](s3-vectors-limitations.md)」を参照してください。

1. **[暗号化]** で、**[暗号化タイプを指定する]** を選択し、次のいずれかのオプションを選択します。
   + **暗号化のバケット設定を使用する** – Amazon S3 は、ベクトルバケットの暗号化設定を適用して、ベクトルインデックス内のベクトルデータを暗号化します。
   + **暗号化のバケット設定を上書きする** – ベクトルインデックスに特定の暗号化タイプを指定します。
     + **Amazon S3 マネージドキーを使用したサーバー側の暗号化 (SSE-S3)** – SSE-S3 を使用すると、Amazon S3 は暗号化キーの生成、ローテーション、管理を自動的に処理します。
     + **AWS Key Management Service キーを使用したサーバー側の暗号化 (SSE-KMS)** – SSE-S3 に似ていますが、AWS KMS でカスタマーマネージドキー (CMK) を使用しているため、キーをより細かく制御できます。カスタマーマネージドキーの詳細については、「*AWS Key Management Service デベロッパーガイド*」の「[Customer managed keys](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk)」を参照してください。

       このオプションを選択した場合は、**AWS KMS キー**で次のいずれかのオプションを選択します。
       + **AWS KMS キーから選択** – ドロップダウンリストから既存の KMS キーを選択します
       + **AWS KMS キー ARN を入力** – KMS キーの Amazon リソースネーム (ARN) を入力します
       + **KMS キーを作成する** – AWS KMS コンソールで新しいカスタマーマネージドキーを作成します。詳細については、「*AWS Key Management Service デベロッパーガイド*」の「[Creating symmetric customer managed keys](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk)」を参照してください。
**注記**  
KMS キーには、次の要件が適用されます。  
AWS KMS キー ID を空にすることはできません。
KMS キーは、このバケットを作成するリージョンと同じリージョンに存在する必要があります。
AWS KMS キー ARN は「arn:aws:kms:」で始まる必要があります
**重要**  
ベクトルインデックスの作成後に暗号化設定を変更することはできません。
**[AWS KMS キー ARN を入力]** を選択した場合は、指定されたテキストフィールドに ARN を入力します。
**[KMS キーを作成する]** を選択した場合、コンソールは新しいタブで AWS KMS コンソールを開きます。KMS キーの作成方法については、「*AWS Key Management Service デベロッパーガイド*」の「*Creating symmetric customer managed keys*」を参照してください。
**重要**  
KMS 暗号化を使用する場合は、バケット内のオブジェクトにアクセスする必要がある IAM プリンシパルに、選択した KMS キーに必要な KMS アクセス許可 (kms:Decrypt) があることを確認してください。

1. **[タグ (オプション)]** では、キーと値のペアとしてタグを追加して、AWS Billing and Cost Management を使用してベクトルインデックスのコストを追跡および整理できます。**キー**と**値**を入力します。別のタグを追加するには、[**タグの追加**] を選択します。ベクトルインデックスには最大 50 個のタグを入力できます。詳細については、「[S3 ベクトルバケットでのタグの使用](s3-vectors-tags.md)」を参照してください。

1. 設定を注意深く確認します。
**注記**  
一部の設定は、作成後に変更できません。

1. **[ベクトルインデックスを作成]** を選択します。

## の使用AWS CLI
<a name="using-the-aws-cli"></a>

次の例は、AWS CLI を使用して SSE-S3 暗号化設定でベクトルバケットを作成する方法を示しています。この例を使用するには、{{ユーザー入力プレースホルダー}}を独自の情報に置き換えます。

```
aws s3vectors create-vector-bucket \
        --vector-bucket-name "{{amzn-s3-demo-vector-bucket}}" \
        --encryption-configuration '{"sseType": "AES256"}'
```

以下の例は、カスタマーマネージドキーを使用した SSE-KMS 暗号化設定を使用するベクトルバケットを作成する方法を示しています。この例を使用するには、{{ユーザー入力プレースホルダー}}を独自の情報に置き換えます。

```
aws s3vectors create-vector-bucket \
        --vector-bucket-name "{{amzn-s3-demo-vector-bucket}}" \
        --encryption-configuration '{"sseType": "aws:kms", "kmsKeyArn": "arn:aws:kms:{{us-east-1}}:{{111122223333}}:key/{{1234abcd-12ab-34cd-56ef-1234567890ab}}"}'
```

次の例は、AWS CLI を使用して SSE-S3 暗号化設定でベクトルインデックスを作成する方法を示しています。この例を使用するには、{{ユーザー入力プレースホルダー}}を独自の情報に置き換えます。

```
aws s3vectors create-index \
        --vector-bucket-name {{"amzn-s3-demo-vector-bucket"}} \
        --index-name {{"amzn-s3-demo-vector-index"}} \
        --encryption-configuration '{"sseType": "AES256"}'
```

以下の例は、カスタマーマネージドキーを使用した SSE-KMS 暗号化設定を使用するベクトルインデックスを作成する方法を示しています。この例を使用するには、{{ユーザー入力プレースホルダー}}を独自の情報に置き換えます。

```
aws s3vectors create-index \
        --vector-bucket-name {{"amzn-s3-demo-vector-bucket"}} \
        --index-name {{"amzn-s3-demo-vector-index"}} \
        --encryption-configuration '{"sseType": "aws:kms", "kmsKeyArn": {{"arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890abc"}}}'
```

次の例は、ベクトルバケットの暗号化設定を使用してベクトルインデックスを作成する方法を示しています。この例を使用するには、{{ユーザー入力プレースホルダー}}を独自の情報に置き換えます。

```
aws s3vectors create-index \
        --vector-bucket-name {{"amzn-s3-demo-vector-bucket"}} \
        --index-name {{"amzn-s3-demo-vector-index"}} \
```