S3 ベクトルインデックスでのタグの使用 - Amazon Simple Storage Service

S3 ベクトルインデックスでのタグの使用

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

注記

ベクトルインデックスでのタグの使用には、標準の S3 API リクエスト料金を超える追加料金は発生しません。詳細については、「Amazon S3 の料金」を参照してください。

ベクトルインデックスでタグを使用する一般的な方法

S3 ベクトルインデックスのタグを以下に使用します。

  • コスト配分 – AWS Billing and Cost Management でベクトルインデックスタグ別にストレージコストを追跡します。詳細については、「コスト配分のタグを使用する」を参照してください。

  • 属性ベースのアクセス制御 (ABAC) – アクセス許可をスケールし、タグに基づいて S3 ベクトルインデックスへのアクセスを許可します。詳細については、「属性ベースのアクセス制御 (ABAC) のタグを使用する」を参照してください。

注記

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

S3 ベクトルインデックスの ABAC

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

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

aws:ResourceTag/key-name

このキーを使用して、ポリシーで指定したタグキーバリューのペアと、リソースにアタッチされているキーバリューのペアを比較します。たとえば、リソースに値 Dept の付いたタグキー Marketing がアタッチされている場合にのみ、そのリソースへのアクセスを許可するように要求することができます。詳細については、「AWS のリソースに対するアクセスの制御」を参照してください。

aws:RequestTag/key-name

このキーを使用して、リクエストで渡されたタグキーバリューのペアと、ポリシーで指定したタグペアを比較します。たとえば、リクエストに「Dept」タグキーが含まれ、「Accounting」という値が含まれているかどうかを確認できます。詳細については、「AWS リクエスト時のアクセスの制御」を参照してください。この条件キーを使用して、TagResource および CreateIndex API オペレーション中に渡すことができるタグのキーと値のペアを制限できます。

aws:TagKeys

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

ベクトルインデックスの ABAC ポリシーの例

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

1.1 - 特定のタグを持つベクトルインデックスを作成または変更する IAM ポリシー

この 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 ポリシー

この IAM ポリシーでは、IAM プリンシパル (ユーザーまたはロール) は、ベクトルインデックスの project タグの値がプリンシパルの project タグの値と一致する場合にのみ、ベクトルインデックスのタグを変更できます。条件キー aws:TagKeys で指定された projectenvironmentowner、および 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" ] } } } ] }

ベクトルインデックスのタグの管理

Amazon S3コンソール、AWS Command Line Interface (AWS CLI)、AWS SDK、または S3 API、TagResourceUntagResourceListTagsForResource を使用して、S3 ベクトルインデックスのタグを追加または管理できます。詳細については、以下を参照してください。