

# ベクトルインデックス
<a name="s3-vectors-indexes"></a>

**注記**  
ベクトルインデックス設定パラメータを慎重に選択してください。ベクトルインデックスを作成した後、ベクトルインデックス名、ディメンション、距離メトリクス、またはフィルタリング不可能なメタデータキーを更新することはできません。これらの値を変更するには、新しいベクトルインデックスを作成する必要があります。

ベクトルインデックスは、ベクトルデータを保存および整理して効率的な類似度検索オペレーションを行うベクトルバケット内のリソースです。ベクトルインデックスを作成する際は、距離メトリクス (`Cosine` または `Euclidean`)、ベクトルに含めるディメンションの数、およびオプションで類似度クエリ中にフィルタリングから除外するメタデータフィールドのリストを指定します。

バケットあたりのベクトルインデックス制限、インデックスあたりのベクトル制限、およびベクトルあたりのディメンション制限の詳細については、「[制限と制約](s3-vectors-limitations.md)」を参照してください。

各ベクトルインデックスには、固有の Amazon リソースネーム (ARN) があります。ベクトルインデックスの ARN は次の形式に従います。

```
arn:aws:s3vectors:region:account-id:bucket/bucket-name/index/index-name
```

## ベクトルインデックスの命名要件
<a name="s3-vectors-indexes-naming"></a>
+ ベクトルインデックス名は、ベクトルバケット内で一意である必要があります。
+ ベクトルインデックス名の長さは 3〜63 文字にする必要があります。
+ 有効な文字は、小文字 (a～z)、数字 (0～9)、ハイフン (-)、ドット (.) です。
+ ベクトルインデックス名の最初と最後は、文字または数字にしてください。

## ディメンション要件
<a name="s3-vectors-indexes-dimensions"></a>

ディメンションは、ベクトルの値の数です。インデックスに追加されるすべてのベクトルには、この数の値が必要です。
+ ディメンションは 1～4096 の整数である必要があります。
+ より大きなディメンションには、より多くのストレージ領域が必要です。

## 距離メトリクスオプション
<a name="s3-vectors-indexes-distance-metrics"></a>

距離メトリクスは、ベクトル間の類似性の計算方法を指定します。ベクトル埋め込みを作成するときは、より正確な結果を得るために、埋め込みモデルの推奨距離メトリクスを選択します。
+ **コサイン** – ベクトル間の角度のコサインを測定します。正規化されたベクトルや、方向が大きさよりも重要な場合に最適です。
+ **ユークリッド** – ベクトル間の直線距離を測定します。方向と大きさの両方が重要な場合に最適です。

## フィルタリング不可能なメタデータキー
<a name="s3-vectors-indexes-metadata"></a>

メタデータキーを使用すると、保存および取得中にキーと値のペアとしてベクトルに追加情報をアタッチできます。デフォルトでは、すべてのメタデータをフィルタリングできるため、これを使用してクエリ結果をフィルタリングできます。ただし、フィルタリングに使用しないベクトルで情報を保存する場合は、特定のメタデータキーをフィルタリング不可能として指定できます。

デフォルトのメタデータキーとは異なり、これらのキーをクエリフィルターとして使用することはできません。フィルタリング不可能なメタデータキーは取得できますが、検索、クエリ、またはフィルタリングはできません。インデックスを見つけた後にのみアクセスできます。

フィルタリング不可能なメタデータキーを使用すると、検索結果で取得するがフィルタリングを必要としない追加のコンテキストでベクトルを強化できます。フィルタリング不可能なメタデータキーの一般的な例は、テキストをベクトルに埋め込み、元のテキスト自体をフィルタリング不可能なメタデータとして含める場合です。これにより、フィルタリング可能なメタデータサイズ制限を増やすことなく、ベクトル検索結果とともにソーステキストを返すことができます。その他の例には、作成タイムスタンプ、ソース URL、または純粋に参照用の説明情報の保存などがあります。フィルタリング不可能なメタデータキーは、ベクトルを取得するときにアクセスできますが、デフォルトのメタデータキーとは異なり、これらのキーをクエリフィルターとして使用することはできません。

フィルタリング不可能なメタデータキーの要件は次のとおりです。
+ フィルタリング不可能なメタデータキーは、ベクトルインデックス内で一意である必要があります。
+ フィルタリング不可能なメタデータキーは 1～63 文字の長さである必要があります。
+ ベクトルインデックスの作成後は、フィルタリング不可能なメタデータキーを変更することはできません。
+ S3 Vectors は、インデックスごとに最大 10 個のフィルタリング不可能なメタデータキーをサポートします。

フィルタリング不可能なメタデータキーの詳細については、「[フィルタリング不可能なメタデータ](s3-vectors-metadata-filtering.md#s3-vectors-metadata-filtering-non-filterable)」を参照してください。

**Topics**
+ [ベクトルインデックスの命名要件](#s3-vectors-indexes-naming)
+ [ディメンション要件](#s3-vectors-indexes-dimensions)
+ [距離メトリクスオプション](#s3-vectors-indexes-distance-metrics)
+ [フィルタリング不可能なメタデータキー](#s3-vectors-indexes-metadata)
+ [ベクトルバケットでのベクトルインデックスの作成](s3-vectors-create-index.md)
+ [ベクトルインデックスの一覧表示](s3-vectors-index-list.md)
+ [ベクトルインデックスの削除](s3-vectors-index-delete.md)
+ [S3 ベクトルインデックスでのタグの使用](vector-index-tagging.md)

# ベクトルバケットでのベクトルインデックスの作成
<a name="s3-vectors-create-index"></a>

**注記**  
ベクトルインデックス設定パラメータを慎重に選択してください。ベクトルインデックスを作成した後、ベクトルインデックス名、ディメンション、距離メトリクス、またはフィルタリング不可能なメタデータキーを更新することはできません。これらの値を変更するには、新しいベクトルインデックスを作成する必要があります。

ベクトルインデックスは、ベクトルデータを保存および整理して効率的な類似度検索を行うベクトルバケット内のリソースです。ベクトルインデックスを作成するときは、ディメンション、類似度の計算に使用される距離メトリクス、オプションでフィルタリングできないメタデータキーなど、そのインデックス内のすべてのベクトルが共有する必要がある特性を定義します。オプションで、インデックスの作成時にベクトルインデックス専用の暗号化設定とタグを設定することもできます。ベクトルインデックスの命名要件、ディメンション要件、距離メトリクスオプション、フィルタリングできないメタデータキーの詳細については、「[制限と制約](s3-vectors-limitations.md)」を参照してください。ベクトルインデックスの暗号化設定の詳細については、「[S3 Vectors のデータ保護と暗号化](s3-vectors-data-encryption.md)」を参照してください。タグの設定の詳細については、「[S3 ベクトルバケットでのタグの使用](s3-vectors-tags.md)」を参照してください。

 ベクトルインデックスは既存のベクトルバケット内に作成する必要があり、作成後に変更できない特定の設定パラメータが必要です。

## S3 コンソールの使用
<a name="s3-vectors-create-index-console"></a>

**ベクトルインデックスを作成するには**

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-limitations.md)」を参照してください。

1. **[ディメンション]** には、各ベクトルの値の数を入力します。
**注記**  
**[ディメンション]** の値は、各ベクトルに含まれる数値の数を決定します。
このインデックスに追加されるすべてのベクトルには、正確にこの数の値が必要です。
ディメンションは 1～4096 である必要があります。
より大きなディメンションには、より多くのストレージ領域が必要です。
埋め込みモデルの出力ディメンションに基づいて選択します。

   要件の詳細については、「[制限と制約](s3-vectors-limitations.md)」を参照してください。

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

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

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

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

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

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

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

1. **[暗号化]** で、**[暗号化タイプを指定する]** を選択します。**[暗号化のバケット設定を使用する]** か、ベクトルインデックスの暗号化設定を上書きするかを選択できます。バケットレベルの設定を上書きする場合は、ベクトルインデックスの暗号化タイプを **[AWS Key Management Service キーを使用したサーバー側の暗号化 (SSE-KMS)]**、または **[Amazon S3 マネージドキーを用いたサーバー側の暗号化 (SSE-S3)]** として指定するオプションがあります。ベクトルインデックスの暗号化設定の詳細については、「[S3 Vectors のデータ保護と暗号化](s3-vectors-data-encryption.md)」を参照してください。

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

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

## の使用AWS CLI
<a name="s3-vectors-create-index-cli"></a>

ベクトルバケットにベクトルインデックスを作成するには、次のコマンド例を使用し、`user input placeholders` を独自の情報に置き換えます。

**例 1: フィルタリングできないメタデータキーを使用したベクトルインデックスの作成**

```
aws s3vectors create-index \
  --vector-bucket-name "amzn-s3-demo-vector-bucket" \
  --index-name "idx" \
  --data-type "float32" \
  --dimension 1 \
  --distance-metric "cosine" \
  --metadata-configuration '{"nonFilterableMetadataKeys":["nonFilterableKey1"]}'
```

**例 2: フィルタリングできないメタデータキーなしでベクトルインデックスを作成する**

```
aws s3vectors create-index \
  --vector-bucket-name "amzn-s3-demo-vector-bucket" \
  --index-name "idx2" \
  --data-type "float32" \
  --dimension 4096 \
  --distance-metric "euclidean"
```

さらに、すべてのメタデータ (フィルタリング可能とフィルタリング不可の両方) は `GetVectors`、`ListVectors`、または `QueryVectors` API オペレーションを使用して同じ方法で取得されます。次の CLI コマンドは、メタデータ (フィルタリングできないメタデータを含む) を含むベクトルを取得する方法を示しています。

リクエストの例:

```
aws s3vectors get-vectors \
  --vector-bucket-name "amzn-s3-demo-vector-bucket" \
  --index-name "idx" \
  --keys '["vec1", "vec3"]' \
  --return-data \
  --return-metadata \
```

レスポンスの例: 

```
{
    "vectors": [
        {
            "key": "vec1",
            "data": {
                "float32": [
                    0.10000000149011612,
                    0.20000000298023224,
                    0.30000001192092896,
                    0.4000000059604645,
                    0.5
                ]
            },
            "metadata": {
                "category": "test",
                "text": "First vector"
            }
        },
        {
            "key": "vec3",
            "data": {
                "float32": [
                    0.6000000238418579,
                    0.699999988079071,
                    0.800000011920929,
                    0.8999999761581421,
                    1.0
                ]
            },
            "metadata": {
                "text": "Third vector",
                "category": "test"
            }
        }
    ]
}
```

レスポンスには、インデックスの作成時にフィルタリング可能と指定されたかどうかにかかわらず、ベクトルに関連付けられたすべてのメタデータが含まれます。

## AWS SDK の使用
<a name="s3-vectors-create-index-sdk"></a>

------
#### [ SDK for Python ]

```
import boto3

# Create a S3 Vectors client in the AWS Region of your choice. 
s3vectors = boto3.client("s3vectors", region_name="us-west-2")

#Create a vector index "movies" in the vector bucket "media-embeddings" without non-filterable metadata keys
s3vectors.create_index(
    vectorBucketName="media-embeddings",
    indexName="movies",
    dimension=3,
    distanceMetric="cosine",
    dataType = "float32"
)


#Create a vector index "movies" in the vector bucket "media-embeddings" with non-filterable metadata keys
s3vectors.create_index(
    vectorBucketName="media-embeddings",
    indexName="movies",
    dimension=3,
    distanceMetric="cosine",
    dataType = "float32",
    metadataConfiguration= {"nonFilterableMetadataKeys": ["nonFilterableMetadataKey1"]}
)
```

------

# ベクトルインデックスの一覧表示
<a name="s3-vectors-index-list"></a>

ベクトルバケット内のすべてのベクトルインデックスを表示できます。リストオペレーションでは、バケットに多数のインデックスがある場合に特定のインデックスを見つけるのに役立つプレフィックスベースのフィルタリングがサポートされています。`ListIndexes`、プレフィックス制限、およびレスポンス制限の詳細については、「Amazon Simple Storage Service API リファレンス」の「[ListIndexes](https://docs.aws.amazon.com/AmazonS3/latest/API/API_S3VectorBuckets_ListIndexes.html)」を参照してください。

## プレフィックス検索機能
<a name="s3-vectors-index-prefix-search-capability"></a>

プレフィックス検索を使用すると、特定のプレフィックスで始まるインデックスを一覧表示できるため、関連するベクトルインデックスの整理と検索が容易になります。これは、関連するインデックスをグループ化する命名規則を使用する場合に特に便利です。
+ **データ型別:** `text-embeddings-`、`image-features-`、`audio-vectors-`
+ **モデル別:** `model1-embeddings-`、`model2-vectors-`、`custom-model-`
+ **ユースケース別:** `search-index-`、`recommendation-`、`similarity-`
+ **環境別:** `prod-vectors-`、`staging-vectors-`、`dev-vectors-`

### S3 コンソールの使用
<a name="s3-vectors-index-list-console"></a>

**ベクトルインデックスを一覧表示するには**

1. AWS マネジメントコンソール にサインインし、Amazon S3 コンソール [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) を開きます。

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

1. ベクトルバケットのリストで、表示するインデックスが含まれるバケットの名前を選択します。

1. コンソールには、以下を含む、バケット内のすべてのベクトルインデックスの包括的なリストが表示されます。
   + **名前** – 各インデックスの名前。
   + **作成日** – インデックスが作成された日時。
   + **Amazon リソースネーム (ARN)** – 各インデックスの完全な ARN。

**リストをフィルタリングするには**

1. インデックスリストの検索ボックスにインデックス名またはプレフィックスを入力します。プレフィックスを使用して、関連するインデックスのグループを検索します。

1. 入力すると、リストがリアルタイムで更新されます。

### の使用AWS CLI
<a name="s3-vectors-list-cli"></a>

次のコマンド例を使用して、*ユーザー入力用プレースホルダー*を独自の情報に置き換えます。

**ベクトルバケット内の特定のプレフィックスを持つインデックスを一覧表示するには**

リクエストの例:

```
aws s3vectors list-indexes \
  --vector-bucket-name "amzn-s3-demo-bucket" \
  --prefix "idx" \
  --max-results 1
```

レスポンスの例:

```
{
    "nextToken": "lObb29ZkzxMGtBXs97Rkbs26xdtKemu4brsnq2jX8DCocADkILv5cRphemXS3PXXFnQBihQBmESgEeKaGA",
    "indexes": [
        {
            "vectorBucketName": "amzn-s3-demo-bucket",
            "indexName": "idx",
            "indexArn": "arn:aws:s3vectors:aws-region:111122223333:bucket/amzn-s3-demo-vector-bucket/index/idx",
            "creationTime": "2025-06-12T15:50:23+00:00"
        }
    ]
}
```

**ページ分割を使用してインデックスを一覧表示するには**

リクエストの例:

```
aws s3vectors list-indexes \
  --vector-bucket-name "amzn-s3-demo-bucket" \
  --prefix "idx" \
  --next-token "lObb29ZkzxMGtBXs97Rkbs26xdtKemu4brsnq2jX8DCocADkILv5cRphemXS3PXXFnQBihQBmESgEeKaGA"
```

レスポンスの例: 

```
{
    "indexes": [
        {
            "vectorBucketName": "amzn-s3-demo-bucket",
            "indexName": "idx2",
            "indexArn": "arn:aws:s3vectors:aws-region:111122223333:bucket/amzn-s3-demo-vector-bucket/index/idx2",
            "creationTime": "2025-06-12T15:45:37+00:00"
        }
    ]
}
```

### AWS SDK の使用
<a name="s3-vectors-list-sdk"></a>

------
#### [ SDK for Python ]

```
import boto3

# Create a S3 Vectors client in the AWS Region of your choice. 
s3vectors = boto3.client("s3vectors", region_name="us-west-2")

#List vector indexes in your vector bucket
response = s3vectors.list_indexes(vectorBucketName="media-embeddings")
indexes = response["indexes"]
print(indexes)
```

------

# ベクトルインデックスの削除
<a name="s3-vectors-index-delete"></a>

不要になったベクトルインデックスは削除できます。このオペレーションは、インデックスとその中に保存されているすべてのベクトルを完全に削除します。

**重要**  
ベクトルインデックスを削除するときは、以下について知っておく必要があります。  
インデックスにベクトルが含まれている場合でも、ベクトルインデックスを削除できます。
インデックスに保存されているすべてのベクトルが完全に削除されます。
これらのベクトルに関連付けられたすべてのメタデータは完全に失われます。
オペレーションを元に戻したり取り消したりすることはできません。
インデックスに対する進行中のオペレーションはすぐに失敗します。
インデックスをクエリするアプリケーションはエラーを受け取ります。
インデックス名がバケット内で再利用可能になります。

## の使用AWS CLI
<a name="cli-delete-vector-index"></a>

ベクトルインデックスを削除する前に、そのベクトルインデックスを確認します。インデックスの詳細を確認する方法の詳細については、「*Amazon S3 API リファレンス*」の「[GetIndex](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetIndex.html)」を参照してください。インデックス内のベクトルを一覧表示して削除する内容を確認する方法の詳細については、「[ベクトルインデックスの一覧表示](s3-vectors-index-list.md)」を参照してください。

ベクトルインデックスを削除するには、次のコマンド例を使用します。*ユーザー入力プレースホルダー*を独自の情報に置き換えます。

```
aws s3vectors delete-index --vector-bucket-name "amzn-s3-demo-vector-bucket" \
          --index-name "idx2"
```

インデックスが削除されているかどうかを確認する方法の詳細については、「[ベクトルインデックスの一覧表示](s3-vectors-index-list.md)」を参照してください。

## AWS SDK の使用
<a name="sdk-delete-vector-index"></a>

------
#### [ SDK for Python ]

```
import boto3

# Create a S3 Vectors client in the AWS Region of your choice. 
s3vectors = boto3.client("s3vectors", region_name="us-west-2")

#Delete a vector index
response = s3vectors.delete_index(
    vectorBucketName="media-embeddings",
    indexName="movies")
```

------

# S3 ベクトルインデックスでのタグの使用
<a name="vector-index-tagging"></a>

AWS タグは、リソースに関するメタデータを保持するキーと値のペアで、この場合は Amazon S3 ベクトルインデックスです。S3 ベクトルインデックスを作成するときにタグを付けたり、既存のベクトルインデックスのタグを管理したりできます。タグに関する一般情報については、「[コスト配分または属性ベースのアクセス制御 (ABAC) のタグ付け](tagging.md)」を参照してください。

**注記**  
ベクトルインデックスでのタグの使用には、標準の S3 API リクエスト料金を超える追加料金は発生しません。詳細については、「[Amazon S3 の料金](https://aws.amazon.com/s3/pricing/)」を参照してください。

## ベクトルインデックスでタグを使用する一般的な方法
<a name="common-ways-tags-vector-indexes"></a>

S3 ベクトルインデックスのタグを以下に使用します。
+ **コスト配分** – AWS Billing and Cost Management でベクトルインデックスタグ別にストレージコストを追跡します。詳細については、「[コスト配分のタグを使用する](tagging.md#using-tags-for-cost-allocation)」を参照してください。
+ **属性ベースのアクセス制御 (ABAC)** – アクセス許可をスケールし、タグに基づいて S3 ベクトルインデックスへのアクセスを許可します。詳細については、「[属性ベースのアクセス制御 (ABAC) のタグを使用する](tagging.md#using-tags-for-abac)」を参照してください。

**注記**  
コスト配分とアクセス制御の両方に同じタグを使用できます。

### S3 ベクトルインデックスの ABAC
<a name="abac-vector-indexes"></a>

Amazon S3 ベクトルインデックスは、タグを使用した属性ベースのアクセス制御 (ABAC) をサポートしています。AWS Organizations、IAM、S3 ベクトルインデックスポリシーでタグベースの条件キーを使用します。エンタープライズの場合、Amazon S3 の ABAC は複数の AWS アカウントにわたる認可をサポートしています。

IAM ポリシーでは、次のグローバル条件キーを使用して、ベクトルインデックスのタグに基づいて S3 ベクトルインデックスへのアクセスを制御できます。

`aws:ResourceTag/key-name`  
このキーを使用して、ポリシーで指定したタグキーバリューのペアと、リソースにアタッチされているキーバリューのペアを比較します。たとえば、リソースに値 `Dept` の付いたタグキー `Marketing` がアタッチされている場合にのみ、そのリソースへのアクセスを許可するように要求することができます。詳細については、「[AWS のリソースに対するアクセスの制御](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html#access_tags_control-resources)」を参照してください。

`aws:RequestTag/key-name`  
このキーを使用して、リクエストで渡されたタグキーバリューのペアと、ポリシーで指定したタグペアを比較します。たとえば、リクエストに「`Dept`」タグキーが含まれ、「`Accounting`」という値が含まれているかどうかを確認できます。詳細については、「[AWS リクエスト時のアクセスの制御](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html#access_tags_control-requests)」を参照してください。この条件キーを使用して、`TagResource` および `CreateIndex` API オペレーション中に渡すことができるタグのキーと値のペアを制限できます。

`aws:TagKeys`  
このキーを使用して、リクエスト内のタグキーとポリシーで指定したキーを比較します。ポリシーでタグを使用してアクセスを制御する場合は、`aws:TagKeys` 条件キーを使用して、許可されるタグキーを定義することをお勧めします。サンプルポリシーおよび詳細については、「[タグキーに基づいたアクセスの制御](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html#access_tags_control-tag-keys)」を参照してください。タグ付きの S3 ベクトルインデックスを作成できます。`CreateVectorBucket` API オペレーション中にタグ付けを許可するには、`s3vectors:TagResource` と `s3vectors:CreateVectorBucket` アクションの両方を含むポリシーを作成する必要があります。次に、`aws:TagKeys` 条件キーを使用して、`CreateVectorBucket` リクエストで特定のタグキーを使用して適用できます。

### ベクトルインデックスの ABAC ポリシーの例
<a name="example-abac-policies-vector-indexes"></a>

Amazon S3 ベクトルインデックスの ABAC ポリシーの次の例を参照してください。

#### 1.1 - 特定のタグを持つベクトルインデックスを作成または変更する IAM ポリシー
<a name="iam-policy-create-modify-indexes-tags"></a>

この IAM ポリシーでは、このポリシーを持つユーザーまたはロールは、ベクトルインデックスの作成リクエストでタグキー `project` とタグ値 `Trinity` を使用してベクトルインデックスにタグを付ける場合にのみ、S3 ベクトルインデックスを作成できます。また、`TagResource` リクエストにタグのキーと値のペア `project:Trinity` が含まれている限り、既存の S3 ベクトルインデックスのタグを追加または変更できます。このポリシーは、ベクトルインデックスまたはそのオブジェクトに対する読み取り、書き込み、または削除のアクセス許可を付与しません。

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "CreateVectorIndexWithTags",
      "Effect": "Allow",
      "Action": [
        "s3vectors:CreateIndex",
        "s3vectors:TagResource"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/project": [
            "Trinity"
          ]
        }
      }
    }
  ]
}
```

#### 1.2 - タグ付け管理を維持する既存リソースのタグを変更するための IAM ポリシー
<a name="iam-policy-modify-tags-governance"></a>

この IAM ポリシーでは、IAM プリンシパル (ユーザーまたはロール) は、ベクトルインデックスの `project` タグの値がプリンシパルの `project` タグの値と一致する場合にのみ、ベクトルインデックスのタグを変更できます。条件キー `aws:TagKeys` で指定された `project`、`environment`、`owner`、および `cost-center` の 4 つのタグのみが、これらのベクトルインデックスに対して許可されます。これにより、タグガバナンスの適用、不正なタグ変更の防止、およびベクトルインデックス間でのタグ付けスキーマの一貫性の維持が可能になります。

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "EnforceTaggingRulesOnModification",
      "Effect": "Allow",
      "Action": [
        "s3vectors:TagResource"
      ],
      "Resource": "arn:aws::s3vectors:us-west-2:111122223333:bucket/*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/project": "${aws:PrincipalTag/project}"
        },
        "ForAllValues:StringEquals": {
          "aws:TagKeys": [
            "project",
            "environment",
            "owner",
            "cost-center"
          ]
        }
      }
    }
  ]
}
```

# ベクトルインデックスのタグの管理
<a name="managing-tags-vector-indexes"></a>

Amazon S3コンソール、AWS Command Line Interface (AWS CLI)、AWS SDK、または S3 API、[TagResource](https://docs.aws.amazon.com/)、[UntagResource](https://docs.aws.amazon.com/)、[ListTagsForResource](https://docs.aws.amazon.com/) を使用して、S3 ベクトルインデックスのタグを追加または管理できます。詳細については、以下を参照してください。

**Topics**
+ [タグ付きベクトルインデックスの作成](creating-vector-indexes-with-tags.md)
+ [ベクトルインデックスへのタグの追加](adding-tag-vector-index.md)
+ [ベクトルインデックスタグの表示](viewing-vector-index-tags.md)
+ [ベクトルインデックスからタグを削除する](deleting-tag-vector-index.md)

# タグ付きベクトルインデックスの作成
<a name="creating-vector-indexes-with-tags"></a>

Amazon S3 ベクトルインデックスは、作成時にタグ付けできます。ベクトルインデックスでのタグの使用には、標準の S3 API リクエスト料金を超える追加料金は発生しません。詳細については、「[Amazon S3 の料金](https://docs.aws.amazon.com/s3/pricing/)」を参照してください。ベクトルインデックスのタグ付けの詳細については、「[S3 ベクトルインデックスでのタグの使用](vector-index-tagging.md)」を参照してください。

## アクセス許可
<a name="index-tags-permissions"></a>

タグ付きベクトルインデックスを作成するには、次のアクセス許可が必要です。
+ `s3vectors:CreateIndex`
+ `s3vectors:TagResource`

## エラーのトラブルシューティング
<a name="index-tags-troubleshooting"></a>

タグ付きベクトルインデックスを作成しようとしたときにエラーが発生した場合は、以下を実行できます。
+ ベクトルインデックスを作成し、それにタグを追加するために必要な[アクセス許可](#index-tags-permissions)があることを確認します。
+ 属性ベースのアクセス制御 (ABAC) 条件については、IAM ユーザーポリシーを確認してください。ベクトルインデックスには、特定のタグキーと値のみを使用してラベルを付ける必要がある場合があります。詳細については、「[属性ベースのアクセス制御 (ABAC) のタグを使用する](tagging.md#using-tags-for-abac)」を参照してください。

## Steps
<a name="index-tags-steps"></a>

Amazon S3 コンソール、AWS Command Line Interface (AWS CLI)、Amazon S3 REST API、AWS SDK を使用して、タグ付きベクトルインデックスを作成できます。

### S3 コンソールの使用
<a name="index-tags-console"></a>

**Amazon S3 コンソールを使用してタグ付きベクトルインデックスを作成するには**

1. AWS マネジメントコンソール にサインインし、Amazon S3 コンソール [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) を開きます。

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

1. 新しいベクトルインデックスを作成するには、**[ベクトルインデックスを作成]** を選択します。

1. 通常どおりにベクトルインデックスを作成します。「[ベクトルバケットでのベクトルインデックスの作成](s3-vectors-create-index.md)」を参照してください。

1. **[ベクトルインデックスを作成]** ページの **[タグ]** は、新しいベクトルインデックスを作成するときのオプションです。

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

1. **[新しいタグを追加]** を選択してタグエディタを開き、タグのキーと値のペアを入力します。タグキーは必須ですが、値はオプションです。

1. 別のタグを追加するには、**[新しいタグを追加]** を再度選択します。最大 50 個のタグのキーと値のペアを入力できます。

1. 新しいベクトルインデックスのオプションを指定したら、**[ベクトルインデックスを作成]** を選択します。

### REST API の使用
<a name="index-tags-api"></a>

Amazon S3 REST API でのタグ付きベクトルインデックス作成のサポートの詳細については、「*Amazon S3 Vectors API リファレンス*」の次のセクションを参照してください。

[CreateIndex](https://docs.aws.amazon.com/AmazonS3/latest/API/API_S3VectorBuckets_CreateIndex.html)

### の使用AWS CLI
<a name="index-tags-cli"></a>

AWS CLI をインストールするには、**「AWS Command Line Interface ユーザーガイド」の「[AWS CLI をインストールする](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)」を参照してください。

以下の CLI の例は、AWS CLI を使用してタグ付きベクトルインデックスを作成する方法を示しています。このコマンドを使用する際は、*ユーザー入力用プレースホルダー*を独自の情報に置き換えます。

ベクトルインデックスを作成する際は、設定の詳細を指定して、`example-vector-index` の命名規則を使用する必要があります。

```
aws s3vectors create-index --vector-bucket-name acc-bucket --data-type "float32" \
 --index-name accounts-index --dimension 1024 --distance-metric euclidean \
 --tags Department=Accounting,Stage=Prod
```

# ベクトルインデックスへのタグの追加
<a name="adding-tag-vector-index"></a>

Amazon S3 ベクトルインデックスにタグを追加し、これらのタグを変更できます。ベクトルインデックスでのタグの使用には、標準の S3 API リクエスト料金を超える追加料金は発生しません。詳細については、「[Amazon S3 の料金](https://docs.aws.amazon.com/s3/pricing/)」を参照してください。ベクトルインデックスのタグ付けの詳細については、「[S3 ベクトルインデックスでのタグの使用](vector-index-tagging.md)」を参照してください。

## アクセス許可
<a name="add-index-tag-permissions"></a>

ベクトルインデックスにタグを追加するには、次のアクセス許可が必要です。
+ `s3vectors:TagResource`

## エラーのトラブルシューティング
<a name="add-index-tag-troubleshooting"></a>

ベクトルインデックスにタグを追加しようとしたときにエラーが発生した場合は、以下を実行できます。
+ ベクトルインデックスにタグを追加するために必要な[アクセス許可](#add-index-tag-permissions)があることを確認します。
+ AWS 予約済みプレフィックス `aws:` で始まるタグキーを追加しようとした場合は、タグキーを変更して再試行してください。

## Steps
<a name="add-index-tag-steps"></a>

Amazon S3 コンソール、AWS Command Line Interface (AWS CLI)、Amazon S3 REST API、および AWS SDK を使用してベクトルインデックスにタグを追加できます。

### S3 コンソールの使用
<a name="add-index-tag-console"></a>

**Amazon S3 コンソールを使用してベクトルインデックスにタグを追加するには**

1. AWS マネジメントコンソール にサインインし、Amazon S3 コンソール [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) を開きます。

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

1. ベクトルインデックス名を選択します。

1. **[プロパティ]** タブを選択します。

1. **[タグ]** セクションにスクロールして、**[新しいタグを追加する]** を選択します。

1. **[タグの追加]** ページが開きます。最大 50 個のタグのキーと値のペアを入力できます。

1. 既存のタグとキー名が同じ新しいタグを追加すると、既存のタグの値は新しいタグの値で上書きされます。

1. このページで、既存のタグの値を編集することもできます。

1. タグを追加したら、**[変更の保存]** を選択します。

### REST API の使用
<a name="add-index-tag-api"></a>

ベクトルインデックスへタグを追加するためのAmazon S3 REST API のサポートの詳細については、「*Amazon S3 Vectors API リファレンス*」の次のセクションを参照してください。

[TagResource](https://docs.aws.amazon.com/AmazonS3/latest/API/API_S3VectorBuckets_TagResource.html)

### の使用AWS CLI
<a name="add-index-tag-cli"></a>

AWS CLI をインストールするには、**「AWS Command Line Interface ユーザーガイド」の「[AWS CLI をインストールする](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)」を参照してください。

以下の CLI の例は、AWS CLI を使用してベクトルインデックスにタグを追加する方法を示しています。このコマンドを使用する際は、*ユーザー入力用プレースホルダー*を独自の情報に置き換えます。

```
aws s3vectors tag-resource \
--resource-arn arn:aws:s3vectors:us-east-1:012345678900:bucket/acc-bucket/index/accounts-index \
--tags Stage=Prod,CostCenter=Marketing
```

# ベクトルインデックスタグの表示
<a name="viewing-vector-index-tags"></a>

Amazon S3 ベクトルインデックスに適用されたタグを表示または一覧表示できます。ベクトルインデックスのタグ付けの詳細については、「[S3 ベクトルインデックスでのタグの使用](vector-index-tagging.md)」を参照してください。

## アクセス許可
<a name="view-index-tag-permissions"></a>

ベクトルインデックスに適用されたタグを表示するには、次のアクセス許可が必要です。
+ `s3vectors:ListTagsForResource`

## エラーのトラブルシューティング
<a name="view-index-tag-troubleshooting"></a>

ベクトルインデックスのタグを一覧表示または表示しようとしたときにエラーが発生した場合は、以下を実行できます。
+ ベクトルインデックスのタグを表示または一覧表示するために必要な[アクセス許可](#view-index-tag-permissions)があることを確認します。

## Steps
<a name="view-index-tag-steps"></a>

ベクトルインデックスに適用されたタグは、Amazon S3 コンソール、AWS Command Line Interface (AWS CLI)、Amazon S3 REST API、および AWS SDK を使用して表示できます。

### S3 コンソールの使用
<a name="view-index-tag-console"></a>

**Amazon S3 コンソールを使用してベクトルインデックスに適用されたタグを表示するには**

1. AWS マネジメントコンソール にサインインし、Amazon S3 コンソール [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) を開きます。

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

1. ベクトルインデックス名を選択します。

1. **[プロパティ]** タブを選択します。

1. **[タグ]** セクションにスクロールして、ベクトルインデックスに適用されているすべてのタグを表示します。

1. **[タグ]** セクションには、デフォルトで [ユーザー定義タグ] が表示されます。[AWS 生成タグ] タブを選択すると、AWS サービスによってベクトルインデックスに適用されたタグを表示できます。

### REST API の使用
<a name="view-index-tag-api"></a>

Amazon S3 REST API でのベクトルインデックスに適用されたタグの表示のサポートの詳細については、「Amazon Simple Vectors API リファレンス」の次のセクションを参照してください。

[ListTagsforResource](https://docs.aws.amazon.com/AmazonS3/latest/API/API_S3VectorBuckets_ListTagsForResource.html)

### の使用AWS CLI
<a name="view-index-tag-cli"></a>

AWS CLI をインストールするには、**「AWS Command Line Interface ユーザーガイド」の「[AWS CLI をインストールする](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)」を参照してください。

次の CLI の例は、ベクトルインデックスに適用されたタグを表示する方法を示しています。このコマンドを使用する際は、*ユーザー入力用プレースホルダー*を独自の情報に置き換えます。

```
aws s3vectors list-tags-for-resource \ 
  --resource-arn arn:aws:s3vectors:us-east-1:012345678900:bucket/acc-bucket/index/accounts-index
```

# ベクトルインデックスからタグを削除する
<a name="deleting-tag-vector-index"></a>

S3 ベクトルインデックスからタグを削除できます。AWS タグは、リソースに関するメタデータを保持するキーと値のペアで、この場合は Amazon S3 ベクトルインデックスです。ベクトルインデックスのタグ付けの詳細については、「[S3 ベクトルインデックスでのタグの使用](vector-index-tagging.md)」を参照してください。

**注記**  
タグを削除し、後でコストの追跡やアクセスコントロールに使用されていたことがわかった場合は、そのタグをベクトルインデックスに戻すことができます。

## アクセス許可
<a name="delete-index-tag-permissions"></a>

ベクトルインデックスからタグを削除するには、次のアクセス許可が必要です。
+ `s3vectors:UntagResource`

## エラーのトラブルシューティング
<a name="delete-index-tag-troubleshooting"></a>

ベクトルインデックスからタグを削除しようとしたときにエラーが発生した場合は、以下を実行できます。
+ ベクトルインデックスからタグを削除するために必要な[アクセス許可](#delete-index-tag-permissions)があることを確認します。

## Steps
<a name="delete-index-tag-steps"></a>

Amazon S3 コンソール、AWS Command Line Interface (AWS CLI)、Amazon S3 REST API、および AWS SDK を使用してベクトルインデックスからタグを削除できます。

### S3 コンソールの使用
<a name="delete-index-tag-console"></a>

**Amazon S3 コンソールを使用してベクトルインデックスからタグを削除するには**

1. AWS マネジメントコンソール にサインインし、Amazon S3 コンソール [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) を開きます。

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

1. ベクトルインデックス名を選択します。

1. **[プロパティ]** タブを選択します。

1. **[タグ]** セクションまでスクロールし、削除するタグの横にあるチェックボックスをオンにします。

1. **[削除]** を選択します。

1. **[ユーザー定義タグを削除]** ポップアップが表示され、選択したタグを削除してよいか確認するように求められます。

1. [**Delete**] を選択して確定します。

### REST API の使用
<a name="delete-index-tag-api"></a>

Amazon S3 REST API でのベクトルインデックスからのタグ削除のサポートの詳細については、「*Amazon S3 Vectors API リファレンス*」の次のセクションを参照してください。

[UntagResource](https://docs.aws.amazon.com/AmazonS3/latest/API/API_S3VectorBuckets_UntagResource.html)

### の使用AWS CLI
<a name="delete-index-tag-cli"></a>

AWS CLI をインストールするには、**「AWS Command Line Interface ユーザーガイド」の「[AWS CLI をインストールする](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)」を参照してください。

以下の CLI の例は、AWS CLI を使用してベクトルインデックスからタグを削除する方法を示しています。このコマンドを使用する際は、*ユーザー入力用プレースホルダー*を独自の情報に置き換えます。

```
aws s3vectors untag-resource \
--resource-arn arn:aws:s3vectors:us-east-1:012345678900:bucket/acc-bucket/index/accounts-index \
--tag-keys CostCenter Department
```