

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

# 搭配 S3 資料表儲存貯體使用標籤
<a name="table-bucket-tagging"></a>

 AWS 標籤是金鑰值對，可保留資源的中繼資料，在此情況下為 Amazon S3 資料表儲存貯體。您可以在建立 S3 資料表儲存貯體或管理現有資料表儲存貯體上的標籤時標記 S3 資料表儲存貯體。如需有關標籤的一般資訊，請參閱 [成本分配或屬性型存取控制 (ABAC) 的標記](tagging.md)。

**注意**  
在超過標準 S3 API 請求率的資料表儲存貯體上使用標籤不會產生額外費用。如需詳細資訊，請參閱 [Simple Storage Service (Amazon S3) 定價](https://aws.amazon.com/s3/pricing/)。

## 搭配資料表儲存貯體使用標籤的常見方式
<a name="common-ways-to-use-tags-table-bucket"></a>

在 S3 資料表儲存貯體上使用標籤：

**屬性型存取控制 (ABAC)** – 擴展存取許可，並根據 S3 資料表儲存貯體的標籤授予存取權。如需詳細資訊，請參閱[使用標籤執行 ABAC](https://docs.aws.amazon.com/AmazonS3/latest/userguide/tagging.html#using-tags-for-abac)。

### S3 資料表儲存貯體的 ABAC
<a name="abac-for-table-buckets"></a>

Amazon S3 資料表儲存貯體支援使用標籤的屬性型存取控制 (ABAC)。在您的 AWS 組織、 AWS Identity and Access Management (IAM) 和 S3 資料表儲存貯體政策中使用標籤型條件索引鍵。Amazon S3 中的 ABAC 支援跨多個 AWS 帳戶進行授權。

在您的 IAM 政策中，您可以使用 `s3tables:TableBucketTag/tag-key`條件金鑰或 [AWS 全域條件金鑰](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys)：`aws:ResourceTag/key-name`、 `aws:RequestTag/key-name`或 ，根據資料表儲存貯體的標籤來控制對 S3 資料表儲存貯體的存取`aws:TagKeys`。

#### aws：ResourceTag/key-name
<a name="table-bucket-condition-key-resource-tag"></a>

使用此條件金鑰來比較您在政策中指定的標籤鍵/值對，以及連接到資源的鍵/值對。例如，您可以要求只有在資料表儲存貯體具有值為 `Department`的標籤索引鍵時，才允許存取資料表儲存貯體`Marketing`。

此條件索引鍵適用於使用 Amazon S3 主控台、 AWS 命令列界面 (CLI)、S3 APIs 或 AWS SDKs 執行的所有資料表儲存貯體動作，但 `CreateBucket` API 請求除外。

如需政策範例，請參閱 [1.1 - 使用標籤限制資料表儲存貯體內資料表操作的資料表儲存貯體政策](#example-policy-table-bucket-resource-tag)。

如需其他範例政策和詳細資訊，請參閱*AWS Identity and Access Management 《 使用者指南*》中的[控制對 AWS 資源的存取](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html#access_tags_control-resources)。

**注意**  
對於在資料表上執行的動作，此條件索引鍵作用於套用至資料表的標籤，而非套用至包含資料表之資料表儲存貯體的標籤。如果您希望 ABAC 政策在執行資料表動作時對資料表儲存貯體的標籤採取行動，請`s3tables:TableBucketTag/tag-key`改用 。

#### aws：RequestTag/key-name
<a name="table-bucket-condition-key-request-tag"></a>

使用此條件索引鍵，將請求中傳遞的標籤索引鍵/值對與您在政策中指定的標籤對進行比較。例如，您可以檢查標記資料表儲存貯體的請求是否包含標籤索引鍵，`Department`以及其值是否為 `Accounting`。

此條件索引鍵適用於在 `TagResource`或 `CreateTableBucket` API 操作請求中傳遞標籤索引鍵，或使用 Amazon S3 主控台、 AWS 命令列界面 (CLI) 或 SDKs 標記或 AWS 建立具有標籤的資料表儲存貯體時。

如需政策範例，請參閱 [1.2 - 使用特定標籤建立或修改資料表儲存貯體的 IAM 政策](#example-policy-table-bucket-request-tag)。

如需其他範例政策和詳細資訊，請參閱*AWS Identity and Access Management 《 使用者指南*》中的[控制請求期間的 AWS 存取](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html#access_tags_control-requests)。

#### aws:TagKeys
<a name="table-bucket-condition-key-tag-keys"></a>

使用此條件索引鍵將請求中的標籤索引鍵與您在政策中指定的索引鍵進行比較，以定義允許存取的標籤索引鍵。例如，若要在`CreateTableBucket`動作期間允許標記，您必須建立同時允許 `s3tables:TagResource`和 `s3tables:CreateTableBucket`動作的政策。然後，您可以使用 `aws:TagKeys`條件金鑰來強制執行請求中僅使用特定標籤`CreateTableBucket`。

此條件金鑰適用於在 `TagResource`、 `UntagResource`或 `CreateTableBucket` API 操作中傳遞標籤金鑰，或使用 Amazon S3 主控台、 AWS 命令列界面 (CLI) 或 AWS SDKs 標記、取消標記或建立具有標籤的資料表儲存貯體時。

如需政策範例，請參閱 [1.3 - IAM 政策，用於控制對維護標記控管之現有資源的標籤修改](#example-policy-table-bucket-tag-keys)。

如需其他範例政策和詳細資訊，請參閱*AWS Identity and Access Management 《 使用者指南*》中的[根據標籤索引鍵控制存取](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html#access_tags_control-tag-keys)。

#### s3tables：TableBucketTag/tag-key
<a name="table-bucket-condition-key"></a>

使用此條件索引鍵，使用標籤將許可授予資料表儲存貯體中的特定資料。此條件索引鍵主要作用於指派給所有 S3 資料表動作之資料表儲存貯體的標籤。即使您建立具有標籤的資料表，此條件索引鍵仍會作用於套用至包含該資料表之資料表儲存貯體的標籤。例外狀況如下：
+ 當您使用標籤建立資料表儲存貯體時，此條件索引鍵會作用於請求中的標籤。

如需政策範例，請參閱 [1.4 - 使用 s3tables：TableBucketTag 條件索引鍵](#example-policy-table-bucket-tag)。

#### 資料表儲存貯體的範例 ABAC 政策
<a name="example-table-buckets-abac-policies"></a>

請參閱下列 Amazon S3 資料表儲存貯體的 ABAC 政策範例。

**注意**  
如果您使用 Lake Formation 來管理對 Amazon S3 Tables 的存取，並且擁有根據主體標籤限制 IAM 使用者和 IAM 角色的 IAM 或 S3 Tables 資源型政策，則必須將相同的主體標籤連接到 Lake Formation 用來存取 Amazon S3 資料的 IAM 角色 （例如 LakeFormationDataAccessRole)，並授予此角色必要的許可。這是標籤型存取控制政策與 S3 Tables 分析整合搭配使用的必要條件。

##### 1.1 - 使用標籤限制資料表儲存貯體內資料表操作的資料表儲存貯體政策
<a name="example-policy-table-bucket-resource-tag"></a>

在此資料表儲存貯體政策中，指定的 IAM 主體 （使用者和角色） 只有在資料表`project`標籤的值符合主體`project`標籤的值時，才能對資料表儲存貯體中的任何資料表執行`GetTable`動作。

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowGetTable",
      "Effect": "Allow",
      "Principal": {
        "AWS": "{{111122223333}}"
      },
      "Action": "s3tables:GetTable",
      "Resource": "arn:aws::s3tables:{{us-west-2}}:{{111122223333}}:bucket/{{amzn-s3-demo-table-bucket/*}}",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/{{project}}": "${aws:PrincipalTag/{{project}}}"
        }
      }
    }
  ]
}
```

##### 1.2 - 使用特定標籤建立或修改資料表儲存貯體的 IAM 政策
<a name="example-policy-table-bucket-request-tag"></a>

**注意**  
如果您使用 AWS Lake Formation 來管理對 Amazon S3 資料表的存取，並且使用 ABAC 搭配 Amazon S3 資料表，請確定您也提供 Lake Formation 擔任必要存取的 IAM 角色。如需為 Lake Formation 設定 IAM 角色的詳細資訊，請參閱《 *AWS Lake Formation 開發人員指南*》中的[將 Amazon S3 資料表目錄與資料目錄和 Lake Formation 整合的先決條件](https://docs.aws.amazon.com/lake-formation/latest/dg/s3tables-catalog-prerequisites.html)。

在此 IAM 政策中，具有此政策的使用者或角色只能在資料表儲存貯體建立請求`Trinity`中使用標籤索引鍵`project`和標籤值標記資料表儲存貯體時，才能建立 S3 資料表儲存貯體。只要`TagResource`請求包含標籤鍵/值對 ，他們也可以在現有的 S3 資料表儲存貯體上新增或修改標籤`project:Trinity`。此政策不會授予資料表儲存貯體或其物件的讀取、寫入或刪除許可。

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "CreateTableBucketWithTags",
      "Effect": "Allow",
      "Action": [
        "s3tables:CreateTableBucket",
        "s3tables:TagResource"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/{{project}}": [
            "{{Trinity}}"
          ]
        }
      }
    }
  ]
}
```

##### 1.3 - IAM 政策，用於控制對維護標記控管之現有資源的標籤修改
<a name="example-policy-table-bucket-tag-keys"></a>

在此 IAM 政策中，只有在資料表儲存貯體標籤的值符合主體`project`標籤的值時，IAM 主體 （使用者或角色） 才能修改資料表儲存貯體上的`project`標籤。這些資料表儲存貯體僅允許`aws:TagKeys`條件索引鍵中`cost-center`指定的四個標籤 `project` `environment``owner`、、 和 。這有助於強制執行標籤控管、防止未經授權的標籤修改，並保持資料表儲存貯體的標記結構描述一致。

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "EnforceTaggingRulesOnModification",
      "Effect": "Allow",
      "Action": [
        "s3tables:TagResource",
        "s3tables:UntagResource"
      ],
      "Resource": "arn:aws::s3tables:{{us-west-2}}:{{111122223333}}:bucket/{{amzn-s3-demo-table-bucket}}",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/project": "${aws:PrincipalTag/project}"
        },
        "ForAllValues:StringEquals": {
          "aws:TagKeys": [
            "{{project}}",
            "{{environment}}",
            "{{owner}}",
            "{{cost-center}}"
          ]
        }
      }
    }
  ]
}
```

##### 1.4 - 使用 s3tables：TableBucketTag 條件索引鍵
<a name="example-policy-table-bucket-tag"></a>

在此 IAM 政策中，只有在資料表儲存貯體具有標籤索引鍵 `Environment`和標籤值 時， 條件陳述式才允許存取資料表儲存貯體的資料`Production`。與`aws:ResourceTag/<tag-key>`條件索引鍵`s3tables:TableBucketTag/<tag-key>`不同，因為除了根據資料表儲存貯體的標籤控制對資料表儲存貯體的存取之外，它還允許您根據其父資料表儲存貯體上的標籤控制對資料表的存取。

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowAccessToSpecificTables",
      "Effect": "Allow",
      "Action": "*",
      "Resource": "arn:aws::s3tables:{{us-west-2}}:{{111122223333}}:bucket/{{amzn-s3-demo-table-bucket}}/*",
      "Condition": {
        "StringEquals": {
          "s3tables:TableBucketTag/Environment": "Production"
        }
      }
    }
  ]
}
```

## 管理資料表儲存貯體的標籤
<a name="table-bucket-working-with-tags"></a>

您可以使用 Amazon S3 主控台、 AWS 命令列界面 (CLI)、 AWS SDKs 或使用 S3 APIs 來新增或管理 S3 資料表儲存貯體的標籤：[TagResource](https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3Buckets_TagResource.html)、[UntagResource](https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3Buckets_UntagResource.html) 和 [ListTagsForResource](https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3Buckets_ListTagsForResource.html)。如需詳細資訊，請參閱下列內容：

**Topics**
+ [搭配資料表儲存貯體使用標籤的常見方式](#common-ways-to-use-tags-table-bucket)
+ [管理資料表儲存貯體的標籤](#table-bucket-working-with-tags)
+ [使用標籤建立資料表儲存貯體](table-bucket-create-tag.md)
+ [將標籤新增至資料表儲存貯體](table-bucket-tag-add.md)
+ [檢視資料表儲存貯體標籤](table-bucket-tag-view.md)
+ [從資料表儲存貯體刪除標籤](table-bucket-tag-delete.md)