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 で利用可能なリソースタイプを示しています。
リソースタイプ | 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 リソースで利用可能なすべてのポリシーアクションを示します。
リソースタイプ | 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:GetVectors | メタデータフィルターを設定する場合、リクエストで |
読み取り | |||
[Index] (インデックス) | PutVectors | s3vectors:PutVectors | インデックス内のベクトルを追加または更新するアクセス許可を付与します | 書き込み | |
[Index] (インデックス) | GetVectors | s3vectors:GetVectors | ベクトルキーによって特定のベクトルとそのメタデータを取得するアクセス許可を付与します | 読み取り | |
[Index] (インデックス) | ListVectors | (必須) s3vectors:ListVectors | インデックス内のベクトルキーを一覧表示するアクセス許可を付与します。
|
読み取り | |
(条件付きで必須): s3vectors:GetVectors | リクエストで |
読み取り | |||
[Index] (インデックス) | DeleteVectors | s3vectors:DeleteVectors | インデックスから特定のベクトルを削除するアクセス許可を付与します | 書き込み |
これらのアクションをさまざまな方法で組み合わせて、特定のアクセス要件に一致するポリシーを作成できます。例えば、s3vectors:GetVectorBucket
、s3vectors:ListIndexes
、s3vectors:QueryVectors
および s3vectors:GetVectors
アクションを含む読み取り専用ポリシー、またはクエリとベクトルの取得アクセス許可を含むが、インデックスの作成や削除などの管理アクションを除外するポリシーを作成できます。
ベクトルバケットの条件キー
条件キー | 説明 | タイプ | |
---|---|---|---|
1 | s3vectors:sseType | サーバー側の暗号化タイプでアクセスをフィルタリングします。有効な値: AES256 | aws:kms |
String |
2 | s3vectors:kmsKeyArn | ベクトルバケットの暗号化に使用するキーの AWS AWS KMS キー ARN でアクセスをフィルタリングします | ARN |