S3 Vectors での ID およびアクセス管理 - Amazon Simple Storage Service

S3 Vectors での ID およびアクセス管理

注記

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

S3 Vectors でのアクセス管理は、AWS セキュリティのベストプラクティスに従って、複数のコントロールレイヤーを提供し、承認されたユーザーとアプリケーションのみがベクトルデータにアクセスできるようにします。このサービスは IAM と統合され、アイデンティティベースおよびリソースベースの両方のポリシーをサポートしているため、組織全体のアクセス許可を柔軟に構築し、管理できます。

リクエストの認証と承認

S3 Vectors は、AWS 標準の認証と認可のメカニズムを使用して、ベクトルバケットとコンテンツへのアクセスを保護します。S3 Vectors へのすべてのリクエストは有効な AWS 認証情報を使用して認証する必要があり、サービスはアイデンティティベースのポリシー、リソースベースのポリシー、および該当するサービスコントロールポリシーの組み合わせに基づいてアクセス許可を評価します。

認証プロセスは、クライアントが AWS 認証情報 (アクセスキー、AWS STS からの一時的な認証情報、または IAM ロール) を使用して S3 Vectors にリクエストを行ったときに開始されます。サービスはこれらの認証情報を検証し、リクエストされたアクションとターゲットリソースに対し、認証された ID に関連付けられたアクセス許可を評価します。この評価プロセスでは、複数のポリシータイプを考慮し、最小特権の原則を適用して、リクエストを許可または拒否するかどうかを決定します。

S3 Vectors での認証は、複数の詳細度レベルで動作します。ベクトルバケットレベル、個々のベクトルインデックスレベル、またはインデックス内の特定の操作においてもアクセスを制御できます。この階層的なアクセス許可モデルにより、組織構造とデータガバナンス要件に沿った高度なアクセスコントロールスキームを実装できます。

ベクトルバケットに定義されるリソースタイプ

S3 Vectors は、IAM ポリシーおよびリソースベースのポリシーで参照できる特定のリソースタイプを定義します。これらのリソースタイプについての理解は、適切なユーザーとアプリケーションに適切なレベルのアクセスを提供する効果的なアクセスコントロールポリシーを作成するのに不可欠です。

次の表は、S3 Vectors で利用可能なリソースタイプを示しています。

S3 Vectors で利用可能なリソースタイプ
リソースタイプ ARN 形式 説明
VectorBucket arn:aws:s3vectors:region:123,456,789,012:bucket/bucket-name ベクトルバケットを表し、バケットの作成、削除、設定などのバケットレベルの操作に使用されます。
[Index] (インデックス) arn:aws:s3vectors:region:123,456,789,012:bucket/bucket-name/index/index-name バケット内のベクトルインデックスを表し、ベクトルのクエリやインデックスコンテンツの管理などのインデックス固有の操作に使用されます。

ベクトルバケットのポリシーアクション

S3 Vectors は、ベクトルバケットとインデックスに対して実行できるさまざまな操作に対応する包括的なポリシーアクションを提供します。これらのアクションは、特定の操作を実行できるユーザーをきめ細かく制御するように設計されているため、最小特権の原則を効果的に実装できます。

以下の表に、S3 Vectors リソースで利用可能なすべてのポリシーアクションを示します。

S3 Vectors リソースのポリシーアクション
リソースタイプ API オペレーション ポリシーアクション ポリシーアクションの説明 アクセスレベル 条件キー
アカウント ListVectorBuckets s3vectors:ListVectorBuckets アカウントとリージョン内のすべてのベクトルバケットを一覧表示するアクセス許可を付与します リスト
VectorBucket CreateVectorBucket s3vectors:CreateVectorBucket 指定された設定で新しいベクトルバケットを作成するアクセス許可を付与します 書き込み s3vectors:sseType, s3vectors:kmsKeyArn
VectorBucket GetVectorBucket s3vectors:GetVectorBucket ベクトルバケットの属性と設定を取得するアクセス許可を付与します 読み取り
VectorBucket DeleteVectorBucket s3vectors:DeleteVectorBucket 空のベクトルバケットを削除するアクセス許可を付与します 書き込み
VectorBucket ListIndexes s3vectors:ListIndexes ベクトルバケット内のすべてのインデックスを一覧表示するアクセス許可を付与します リスト
VectorBucket PutVectorBucketPolicy s3vectors:PutVectorBucketPolicy ベクトルバケットのリソースベースのポリシーを適用または更新するアクセス許可を付与します 権限の管理
VectorBucket GetVectorBucketPolicy s3vectors:GetVectorBucketPolicy ベクトルバケットにアタッチされているリソースベースのポリシーを取得するアクセス許可を付与します 読み取り
VectorBucket DeleteVectorBucketPolicy s3vectors:DeleteVectorBucketPolicy ベクトルバケットからリソースベースのポリシーを削除するアクセス許可を付与します 権限の管理
[Index] (インデックス) CreateIndex s3vectors:CreateIndex 指定されたディメンションとメタデータの設定で新しいベクトルインデックスを作成するアクセス許可を付与します 書き込み
[Index] (インデックス) GetIndex s3vectors:GetIndex ベクトルインデックスの属性と設定を取得するアクセス許可を付与します 読み取り
[Index] (インデックス) DeleteIndex s3vectors:DeleteIndex ベクトルインデックスとすべてのコンテンツを削除するアクセス許可を付与します 書き込み
[Index] (インデックス) QueryVectors (必須) s3vectors:QueryVectors

インデックス内のベクトルに対して類似度のクエリを実行するアクセス許可を付与します。

s3vectors:QueryVectors のみ、近似最近傍検索とその計算された距離のベクトルキーをクエリベクトルから取得できます。メタデータフィルターを設定せず、(returnMetadata パラメータを false または指定しないに設定することにより) ベクトルデータまたはメタデータをリクエストしない場合にのみ、このアクセス許可で十分です。

読み取り
(条件付きで必須): s3vectors:GetVectors

メタデータフィルターを設定する場合、リクエストで returnMetadata を true に設定する必要があります。

s3vectors:QueryVectorss3vectors:GetVectors の両方で、メタデータの条件を使用して結果をフィルタリングし、関連付けられているデータ、メタデータ、およびクエリベクトルから計算された距離に合致するベクトルキーを取得できます。

読み取り
[Index] (インデックス) PutVectors s3vectors:PutVectors インデックス内のベクトルを追加または更新するアクセス許可を付与します 書き込み
[Index] (インデックス) GetVectors s3vectors:GetVectors ベクトルキーによって特定のベクトルとそのメタデータを取得するアクセス許可を付与します 読み取り
[Index] (インデックス) ListVectors (必須) s3vectors:ListVectors

インデックス内のベクトルキーを一覧表示するアクセス許可を付与します。

s3vectors:ListVectors でのみreturnDatareturnMetadata パラメータの両方が false であるか、指定されていない場合に、ベクトルキーを一覧表示できます。

読み取り
(条件付きで必須): s3vectors:GetVectors

リクエストで returnData または returnMetadata パラメータを true に設定した場合は必須です。

s3vectors:ListVectorss3vectors:GetVectors の両方を使用する場合returnDatareturnMetadata を true に設定することにより、関連付けられているデータとメタデータに合致するベクトルキーを取得できます。

読み取り
[Index] (インデックス) DeleteVectors s3vectors:DeleteVectors インデックスから特定のベクトルを削除するアクセス許可を付与します 書き込み

これらのアクションをさまざまな方法で組み合わせて、特定のアクセス要件に一致するポリシーを作成できます。例えば、s3vectors:GetVectorBuckets3vectors:ListIndexess3vectors:QueryVectors および s3vectors:GetVectors アクションを含む読み取り専用ポリシー、またはクエリとベクトルの取得アクセス許可を含むが、インデックスの作成や削除などの管理アクションを除外するポリシーを作成できます。

ベクトルバケットの条件キー

ベクトルバケットの条件キー
条件キー 説明 タイプ
1 s3vectors:sseType サーバー側の暗号化タイプでアクセスをフィルタリングします。有効な値: AES256 | aws:kms String
2 s3vectors:kmsKeyArn ベクトルバケットの暗号化に使用するキーの AWS AWS KMS キー ARN でアクセスをフィルタリングします ARN