セキュリティとアクセスコントロール
IAM ポリシーは、ベクトルインデックスオペレーションへのアクセスを制御します。次のアクセス許可が適用されます。
-
ベクトルインデックスの作成と削除 – テーブルリソースに対する
dynamodb:CreateTableまたはdynamodb:UpdateTableアクセス許可が必要です。ベクトルインデックス管理に追加のアクセス許可は必要ありません。 -
ベクトルインデックスの検索 – インデックスリソースに対する
dynamodb:SearchVectorsアクセス許可が必要です。リソース ARN 形式はarn:aws:dynamodb:です。region:account-id:table/table-name/index/index-name -
ベクトルを含む項目の書き込み – 標準の書き込みオペレーション (
dynamodb:PutItem、dynamodb:UpdateItem) と同じアクセス許可を使用します。ベクトルデータ自体に追加のアクセス許可は必要ありません。
FGAC 条件キーは SearchVectors には適用されません
SearchVectors API で Amazon DynamoDB のきめ細かなアクセスコントロール (FGAC) を使用することはできません。FGAC を適用する dynamodb: IAM 条件コンテキストキー (dynamodb:LeadingKeys、dynamodb:Attributes、dynamodb:Select など) は、SearchVectors には影響しません。つまり、これらを使用して、検索できる項目または属性を制限することはできません。代わりに、インデックスリソース ARN に対して dynamodb:SearchVectors アクションを付与して、インデックスレベルでアクセスを制御します。
これらの条件キーは SearchVectors リクエストコンテキストに存在しないため、いずれかの条件を参照するポリシーステートメントは SearchVectors リクエストと一致せず、DynamoDB はアクセスを許可せずに拒否します。FGAC 条件を持つステートメントに dynamodb:SearchVectors を追加しないでください。インデックスリソース ARN によってスコープされ、dynamodb: FGAC 条件がアタッチされていない独自のステートメントで dynamodb:SearchVectors を付与します。
既存のポリシーが dynamodb:LeadingKeys、dynamodb:Attributes、または dynamodb:Select を使用して Amazon DynamoDB アクセスをスコープしている場合、ベクトル検索を追加すると、既存のステートメントを拡張するのではなく、別のステートメントを追加することになります。
DynamoDB は、ベーステーブルと同じ暗号化を使用して、保管中のベクトルデータを暗号化します。ベクトルインデックスは、AWS 所有キー、AWS マネージドキー、または AWS KMS のカスタマーマネージドキーのいずれであっても、テーブルの暗号化設定を継承します。ベクトルインデックスに対して暗号化を個別に設定することはありません。
検索専用アクセスの最小特権ポリシーを含む IAM ポリシーの例については、「ベクトルインデックスを検索するためのアクセスを許可する IAM ポリシー」を参照してください。