將標籤與目錄儲存貯體的 S3 存取點搭配使用 - Amazon Simple Storage Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

將標籤與目錄儲存貯體的 S3 存取點搭配使用

AWS 標籤是金鑰值對,其中包含有關 資源的中繼資料,在此情況下為目錄儲存貯體的 Amazon S3 存取點。您可以在建立存取點或管理現有存取點上的標籤時標記存取點。如需標籤的一般資訊,請參閱 成本分配或屬性型存取控制 (ABAC) 的標記

注意

對於超出標準 S3 API 請求率的目錄儲存貯體,在存取點上使用標籤不會產生額外費用。如需詳細資訊,請參閱 Simple Storage Service (Amazon S3) 定價

使用標籤與目錄儲存貯體存取點的常見方法

屬性型存取控制 (ABAC) 可讓您擴展存取許可,並根據目錄儲存貯體的標籤授予存取點存取權。如需 Amazon S3 中 ABAC 的詳細資訊,請參閱使用 ABAC 標籤

S3 存取點的 ABAC

Amazon S3 存取點支援使用標籤的屬性型存取控制 (ABAC)。在您的 AWS 組織、IAM 和存取點政策中使用標籤型條件金鑰。對於企業,Amazon S3 中的 ABAC 支援跨多個 AWS 帳戶進行授權。

在 IAM 政策中,您可以使用下列全域條件金鑰,根據儲存貯體的標籤來控制目錄儲存貯體存取點的存取:

  • aws:ResourceTag/key-name

    • 使用此鍵來將您在政策中所指定的標籤鍵值對與連接到資源的鍵值對進行比較。例如,您可以要求只在資源擁有連接標籤鍵 Dept 和值 Marketing 時才允許資源的存取。如需詳細資訊,請參閱控制 AWS 資源的存取

  • aws:RequestTag/key-name

    • 使用此鍵來將請求中傳遞的標籤鍵/值對與您在政策中所指定的標籤對進行比較。例如,您可以檢查請求是否包含標籤鍵 Dept 並且其具有值 Accounting。如需詳細資訊,請參閱在AWS 請求期間控制存取。您可以使用此條件索引鍵來限制在 TagResourceCreateAccessPoint API 操作期間可以傳遞哪些標籤索引鍵/值對。

  • aws:TagKeys

    • 使用此鍵來將請求中的標籤鍵與您在政策中所指定的鍵進行比較。當使用政策來控制使用標籤的存取時,建議您使用 aws:TagKeys 條件鍵來定義允許的標籤鍵。如需範例政策和詳細資訊,請參閱根據標籤索引鍵控制存取。您可以為具有標籤的目錄儲存貯體建立存取點。若要在 CreateAccessPoint API 操作期間允許標記,您必須建立同時包含 s3express:TagResources3express:CreateAccessPoint動作的政策。然後,您可以使用 aws:TagKeys 條件金鑰來強制執行在CreateAccessPoint請求中使用特定標籤。

  • s3express:AccessPointTag/tag-key

    • 使用此條件金鑰,透過使用標籤的存取點授予特定資料的許可。在 IAM 政策aws:ResourceTag/tag-key中使用 時,存取點和存取點指向的儲存貯體都必須具有與授權期間同時考慮的相同標籤。如果您只想要透過存取點標籤來控制對資料的存取,您可以使用 s3express:AccessPointTag/tag-key 條件金鑰。

目錄儲存貯體存取點的 ABAC 政策範例

請參閱下列適用於目錄儲存貯體存取點的 ABAC 政策範例。

1.1 - 使用特定標籤建立或修改存取點的 IAM 政策

在此 IAM 政策中,具有此政策的使用者或角色只有在存取點在存取點建立請求Trinity中以標籤索引鍵project和標籤值標記存取點時,才能建立存取點。只要TagResource請求包含標籤鍵/值對 ,他們也可以在目錄儲存貯體的現有存取點上新增或修改標籤project:Trinity

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateAccessPointWithTags", "Effect": "Allow", "Action": [ "s3express:CreateAccessPoint", "s3express:TagResource" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/project": [ "Trinity" ] } } } ] }

1.2 - 使用標籤限制儲存貯體操作的存取點政策

在此存取點政策中,只有在存取點project標籤的值符合主體project標籤的值時,IAM 主體 (使用者和角色) 才能在存取點上使用 CreateSession動作來執行操作。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowObjectOperations", "Effect": "Allow", "Principal": { "AWS": "111122223333" }, "Action": "s3express:CreateSession", "Resource": "arn:aws::s3express:region:111122223333:access-point/my-access-point", "Condition": { "StringEquals": { "aws:ResourceTag/project": "${aws:PrincipalTag/project}" } } } ] }

1.3 - 修改現有資源上的標籤以維護標記管理的 IAM 政策

在此 IAM 政策中,只有在存取點標籤的值符合主體project標籤的值時,IAM 主體 (使用者或角色) 才能修改存取點上的project標籤。這些存取點只允許aws:TagKeys條件索引鍵中cost-center指定的四個標籤 project environmentowner、、 和 。這有助於強制執行標籤控管、防止未經授權的標籤修改,並使標記結構描述在您的存取點之間保持一致。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnforceTaggingRulesOnModification", "Effect": "Allow", "Action": [ "s3express:TagResource" ], "Resource": "arn:aws::s3express:region:111122223333:accesspoint/my-access-point", "Condition": { "StringEquals": { "aws:ResourceTag/project": "${aws:PrincipalTag/project}" }, "ForAllValues:StringEquals": { "aws:TagKeys": [ "project", "environment", "owner", "cost-center" ] } } } ] }

1.4 - 使用 s3express:AccessPointTag 條件金鑰

在此 IAM 政策中,只有在用於存取儲存貯體的存取點具有標籤索引鍵 Environment 和標籤值 時, 條件陳述式才會允許存取儲存貯體的資料Production

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAccessToSpecificAccessPoint", "Effect": "Allow", "Action": "*", "Resource": "arn:aws::s3express:region:111122223333:accesspoint/my-access-point", "Condition": { "StringEquals": { "s3express:AccessPointTag/Environment": "Production" } } } ] }

使用目錄儲存貯體存取點的標籤

您可以使用 Amazon S3 主控台、 AWS 命令列界面 (CLI)、 AWS SDKs 或使用 S3 APIs 來新增或管理目錄儲存貯體的存取點標籤:TagResourceUntagResourceListTagsForResource。如需詳細資訊,請參閱: