

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 为安全湖资源添加标签
标注资源

*标签是一个可选标签*，您可以定义并分配给 AWS 资源，包括某些类型的 Amazon Security Lake 资源。标签可帮助您以不同方式（例如按用途、所有者、环境或其他标准）对资源进行标识、分类和管理。例如，您可以使用标签来应用策略、分配成本、区分资源或识别支持某些合规性要求或工作流的资源。

您可以为以下类型的 Security Lake 资源分配标签：订阅者和您的 AWS 账户 个人数据湖配置 AWS 区域。

**Topics**
+ [

# 标签基础知识
](tags-basics.md)
+ [

# 在 IAM policy 中使用标签
](tags-iam.md)
+ [将标签添加到资源](tags-add.md)
+ [编辑资源的标签](tags-update.md)
+ [从资源中删除标签](tags-remove.md)

# 标签基础知识


一个资源可具有多达 50 个标签。每个标签都包含您定义的一个*标签键*和一个可选的*标签值*。*标签键*是一种常见的标签，充当更具体的标签值的类别。*标签值* 充当标签键的描述符。

例如，如果您添加订阅用户来分析来自不同环境的安全数据（一组订阅用户用于云数据，另一组用于本地数据），则可以为这些订阅用户分配 `Environment` 标签键。关联的标签值可能`Cloud`适用于分析来自的数据的订阅者 AWS 服务，也可能`On-Premises`适用于其他用户。

在为 Amazon Security Lake 资源定义和分配标签时，请注意以下几点：
+ 每个资源最多可以有 50 个标签。
+ 对于每个资源，每个标签键都必须是唯一的，并且每个标签键只能有一个标签值。
+ 标签键和值区分大小写。作为最佳实践，我们建议您定义一个利用标签的策略，并在所有资源中一致地实施该策略。
+ 一个标签键最多可包含 128 个 UTF-8 字符。一个标签值最多可包含 256 个 UTF-8 字符。这些字符可以是字母、数字、空格或以下符号：\$1 . : / = \$1 - @
+ 前`aws:`缀保留给使用 AWS。您不能在自己定义的任何标签键或值中使用此前缀。此外，您无法更改或删除使用此前缀的标签键或值。使用此前缀的标签不计入每个资源的 50 个标签限额中。
+ 您分配的任何标签仅供您使用， AWS 账户 并且仅适用于您分配标签 AWS 区域 的标记。
+ 如果您使用 Security Lake 为资源分配标签，则这些标签仅应用于适用 AWS 区域内直接存储在 Security Lake 中的资源。它们不适用于 Security Lake 在其他 AWS 服务中为您创建、使用或维护的任何关联支持资源。例如，如果您为数据湖分配标签，则这些标签仅应用于指定区域内 Security Lake 中的数据湖配置。它们不适用于存储日志和事件数据的 Amazon Simple Storage Service (Amazon S3) 桶。要同时为关联资源分配标签，您可以使用 AWS Resource Groups 或来存储资源，例如 AWS 服务 ，用于 S3 存储桶的 Amazon S3。为关联资源分配标签可帮助您标识数据湖的支持资源。
+ 如果删除资源，则为该资源分配的所有标签都将被删除。

有关其他限制、提示和最佳实践，请参阅《[标记 AWS 资源](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html)*用户指南》中的为 AWS 资源添加标签*。

**重要**  
不要在标签中存储机密或其他类型的敏感数据。许多人都可以访问标签 AWS 服务，包括 AWS 账单与成本管理。标签不适合用于敏感数据。

要为 Security Lake 资源添加和管理标签，您可以使用 Security Lake 控制台或 Security Lake API。

# 在 IAM policy 中使用标签


开始为资源添加标签后，您可以在 AWS Identity and Access Management （IAM）策略中定义基于标签的资源级权限。通过以这种方式使用标签，您可以精细控制您中的哪些用户和角色 AWS 账户 有权创建和标记资源，以及哪些用户和角色有权更笼统地添加、编辑和删除标签。要基于标签控制访问，您可以在 IAM policy 的 [Condition 元素](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)中使用[与标签相关的条件键](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonsecuritylake.html#amazonsecuritylake-policy-keys)。

例如，您可以创建一个策略，允许用户拥有对所有 Amazon Security Lake 资源的完全访问权限，但前提是该资源的 `Owner` 标签指定了他们的用户名：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ModifyResourceIfOwner",
            "Effect": "Allow",
            "Action": "securitylake:*",
            "Resource": "*",
            "Condition": {
                "StringEqualsIgnoreCase": {"aws:ResourceTag/Owner": "${aws:username}"}
            }
        }
    ]
}
```

------

如果您定义基于标签的资源级权限，该权限立即生效。这意味着，您的资源在创建后会更安全，而且您可以快速地开始将标签用于新资源。您还可以使用资源级权限来控制哪些标签键和值可以与新的和现有资源关联。有关更多信息，请参阅 *IAM 用户指南*中的[使用标签控制对 AWS 资源的访问权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html)。

# 为 Amazon Security Lake 资源添加标签
将标签添加到资源

要为 Amazon Security Lake 资源添加标签，您可以使用 Security Lake 控制台或 Security Lake API。

**重要**  
为资源添加标签可能会影响对该资源的访问。在向资源添加标签之前，请查看任何可能使用标签控制资源访问权限的 AWS Identity and Access Management (IAM) 策略。

------
#### [ Console ]

当您为订阅者启用 Security Lake AWS 区域 或创建订阅者时，Security Lake 控制台会提供向资源添加标签的选项，即区域或订阅者的数据湖配置。创建资源时，请按照控制台上的说明为该资源添加标签。

要使用 Security Lake 控制台为现有资源添加一个或多个标签，请按照以下步骤操作。

**为资源添加标签**

1. 在上打开 Security Lake 控制台[https://console.aws.amazon.com/securitylake/](https://console.aws.amazon.com/securitylake/)。

1. 根据要为其添加标签的资源类型，执行以下任一操作：
   + 对于数据湖配置，在导航窗格中选择**区域**。然后，在**区域**表中，选择区域。
   + 对于订阅用户，在导航窗格中选择**订阅用户**。然后，在**我的订阅用户**表中，选择订阅用户。

     如果该订阅用户不在表中，请使用页面右上角的 AWS 区域 选择器，选择在其中创建了该订阅用户的区域。该表仅列出当前区域的现有订阅用户。

1. 选择**编辑**。

1. 展开**标签**部分。本部分列出当前分配给该资源的所有标签。

1. 在**标签**部分中，选择**添加新标签**。

1. 在**键**框中，输入要为该资源添加的标签的标签键。然后，在**值**框中，可以选择输入标签键的标签值。

   一个标签键可包含多达 128 个字符。一个标签值可包含多达 256 个字符。这些字符可以是字母、数字、空格或以下符号：\$1 . : / = \$1 - @

1. 要为该资源添加其他标签，请选择**添加新标签**，然后重复上述步骤。您可以为资源分配多达 50 个标签。

1. 完成添加标签后，选择**保存**。

------
#### [ API ]

要创建资源并以编程方式向其添加一个或多个标签，请对要创建的资源类型使用相应的 `Create` 操作：
+ **数据湖配置**-使用[CreateDataLake](https://docs.aws.amazon.com/security-lake/latest/APIReference/API_CreateDataLake.html)操作，或者，如果您使用的是 AWS Command Line Interface (AWS CLI)，则运行[create-data-lake](https://docs.aws.amazon.com/cli/latest/reference/securitylake/create-data-lake.html)命令。
+ **订阅者**-使用[CreateSubscriber](https://docs.aws.amazon.com/security-lake/latest/APIReference/API_CreateSubscriber.html)操作，或者，如果您使用的是，则运行 [create-](https://docs.aws.amazon.com/cli/latest/reference/securitylake/create-subscriber.html) subscriber 命令。 AWS CLI

在您的请求中，使用 `tags` 形式参数为要添加到资源的每个标签指定标签键 (`key`) 和可选标签值 (`value`)。`tags` 形式参数指定一个对象数组。每个对象都指定一个标签密钥及其关联的标签值。

要向现有资源添加一个或多个标签，请使用 Security Lake API 的[TagResource](https://docs.aws.amazon.com/security-lake/latest/APIReference/API_TagResource.html)操作，或者，如果您使用的是 AWS CLI，则运行 [tag-resou](https://docs.aws.amazon.com/cli/latest/reference/securitylake/tag-resource.html) rce 命令。在您的请求中，指定您要向其添加标签的资源的 Amazon 资源名称（ARN）。使用 `tags` 形式参数为要添加的每个标签指定标签键 (`key`) 和可选标签值 (`value`)。与 `Create` 操作和命令一样，`tags` 形式参数指定一个对象数组，每个标签键及其关联的标签值对应一个对象。

例如，以下 AWS CLI 命令将带有`Environment``Cloud`标签值的标签密钥添加到指定的订阅者。此示例的格式适用于 Linux、macOS 或 Unix，它使用了反斜杠 (\$1) 行继续符来提高可读性。

```
$ aws securitylake tag-resource \
--resource-arn arn:aws:securitylake:us-east-1:123456789012:subscriber/1234abcd-12ab-34cd-56ef-1234567890ab \
--tags key=Environment,value=Cloud
```

其中：
+ `resource-arn` 指定要为其添加标签的订阅用户的 ARN。
+ `Environment` 是要为订阅用户添加的标签的标签键。
+ `Cloud` 是指定标签键 (`Environment`) 的标签值。

在以下示例中，该命令为订阅用户添加多个标签。

```
$ aws securitylake tag-resource \
--resource-arn arn:aws:securitylake:us-east-1:123456789012:subscriber/1234abcd-12ab-34cd-56ef-1234567890ab \
--tags key=Environment,value=Cloud key=CostCenter,value=12345 key=Owner,value=jane-doe
```

对于 `tags` 数组中的每个对象，都需要 `key` 和 `value` 实际参数。但是，`value` 实际参数的值可以是空字符串。如果您不想将标签值与标签键相关联，请不要为 `value` 实际参数指定值。例如，以下命令添加一个没有关联标签值的 `Owner` 标签键：

```
$ aws securitylake tag-resource \
--resource-arn arn:aws:securitylake:us-east-1:123456789012:subscriber/1234abcd-12ab-34cd-56ef-1234567890ab \
--tags key=Owner,value=
```

如果添加标签操作成功，Security Lake 将返回一个空的 HTTP 200 响应。否则，Security Lake 将返回 HTTP 4*xx* 或 500 响应，并说明操作失败的原因。

------

# 编辑 Amazon Security Lake 资源的标签
编辑资源的标签

要编辑 Amazon Security Lake 资源的标签（标签键或标签值），您可以使用 Security Lake 控制台或 Security Lake API。

**重要**  
编辑资源的标签可能会影响对该资源的访问。在编辑资源的标签键或值之前，请查看可能使用该标签控制资源访问权限的任何 AWS Identity and Access Management (IAM) 策略。

------
#### [ Console ]

按照以下步骤，使用 Security Lake 控制台编辑资源的标签。

**编辑资源的标签**

1. 在上打开 Security Lake 控制台[https://console.aws.amazon.com/securitylake/](https://console.aws.amazon.com/securitylake/)。

1. 根据要编辑其标签的资源类型，执行以下任一操作：
   + 对于数据湖配置，在导航窗格中选择**区域**。然后，在**区域**表中，选择区域。
   + 对于订阅用户，在导航窗格中选择**订阅用户**。然后，在**我的订阅用户**表中，选择订阅用户。

     如果该订阅用户不在表中，请使用页面右上角的 AWS 区域 选择器，选择在其中创建了该订阅用户的区域。该表仅列出当前区域的现有订阅用户。

1. 选择**编辑**。

1. 展开**标签**部分。**标签**部分列出当前分配给该资源的所有标签。

1. 执行以下任一操作：
   + 要为现有标签键添加标签值，请在标签键旁边的**值**框中输入值。
   + 要更改现有标签键，请选择标签旁边的**删除**。然后，选择**添加新标签**。在出现的**键**框中，输入新的标签键。在**值**框中，可以选择输入关联的标签值。
   + 要更改现有标签值，请在包含该值的**值**框中选择 **X**。然后，在**值**框中输入新的标签值。
   + 要删除现有标签值，请在包含该值的**值**框中选择 **X**。
   + 要删除现有标签（包括标签键和标签值），请选择标签旁边的**删除**。

   一个资源可具有多达 50 个标签。一个标签键可包含多达 128 个字符。一个标签值可包含多达 256 个字符。这些字符可以是字母、数字、空格或以下符号：\$1 . : / = \$1 - @

1. 完成对标签的编辑后，选择**保存**。

------
#### [ API ]

当您以编程方式编辑资源的标签时，将使用新值覆盖现有标签。因此，编辑标签的最佳方法取决于您是要编辑标签键、标签值还是两者兼而有之。要编辑标签密钥，请[删除当前标签](tags-remove.md)并[添加新标签](tags-add.md)。

要仅编辑或删除与标签键关联的标签值，请使用 Security Lake API 的[TagResource](https://docs.aws.amazon.com/security-lake/latest/APIReference/API_TagResource.html)操作覆盖现有值。如果您使用的是 AWS Command Line Interface (AWS CLI)，则运行 [tag-resource](https://docs.aws.amazon.com/cli/latest/reference/securitylake/tag-resource.html) 命令。在您的请求中，指定要编辑或删除其标签值的资源的 Amazon 资源名称 (ARN)。

要编辑标签值，请使用 `tags` 形式参数指定要更改其标签值的标签键。另外，还要指定该标签键的新标签值。例如，以下 AWS CLI 命令将分配给指定订阅`On-Premises`者的`Environment`标签密钥的标签值从`Cloud`更改为。此示例的格式适用于 Linux、macOS 或 Unix，它使用了反斜杠 (\$1) 行继续符来提高可读性。

```
$ aws securitylake tag-resource \
--resource-arn arn:aws:securitylake:us-east-1:123456789012:subscriber/1234abcd-12ab-34cd-56ef-1234567890ab \
--tags key=Environment,value=On-Premises
```

其中：
+ `resource-arn` 指定订阅用户的 ARN。
+ `Environment` 是与要更改的标签值关联的标签键。
+ `On-Premises` 是指定标签键（`Environment`）的新标签值。

要从标签键中删除标签值，请不要在 `tags` 形式参数中为该标签键的 `value` 实际参数指定值。例如：

```
$ aws securitylake tag-resource \
--resource-arn arn:aws:securitylake:us-east-1:123456789012:subscriber/1234abcd-12ab-34cd-56ef-1234567890ab \
--tags key=Owner,value=
```

如果操作成功，Security Lake 将返回一个空的 HTTP 200 响应。否则，Security Lake 将返回 HTTP 4*xx* 或 500 响应，并说明操作失败的原因。

------

## 查看 Amazon Security Lake 资源的标签
查看资源的标签

您可以使用 Security Lake 控制台或 Security Lake API 查看 Amazon Security Lake 资源的标签（包括标签键和标签值）。

------
#### [ Console ]

按照以下步骤，使用 Security Lake 控制台查看资源的标签。

**查看资源的标签**

1. 在上打开 Security Lake 控制台[https://console.aws.amazon.com/securitylake/](https://console.aws.amazon.com/securitylake/)。

1. 根据要查看其标签的资源类型，执行以下任一操作：
   + 对于数据湖配置，在导航窗格中选择**区域**。在**区域**表中，选择区域，然后选择**编辑**。之后，展开**标签**部分。
   + 对于订阅用户，在导航窗格中选择**订阅用户**。然后，在**我的订阅用户**表中，选择订阅用户的名称。

     如果该订阅用户不在表中，请使用页面右上角的 AWS 区域 选择器，选择在其中创建了该订阅用户的区域。该表仅列出当前区域的现有订阅用户。

**标签**部分列出当前分配给该资源的所有标签。

------
#### [ API ]

要以编程方式检索和查看现有资源的标签，请使用 Security Lake API 的[ListTagsForResource](https://docs.aws.amazon.com/security-lake/latest/APIReference/API_ListTagsForResource.html)操作。在您的请求中，使用 `resourceArn` 参数指定资源的 Amazon 资源名称（ARN）。

如果您使用的是 AWS Command Line Interface (AWS CLI)，请运行[list-tags-for-resource](https://docs.aws.amazon.com/cli/latest/reference/securitylake/list-tags-for-resource.html)命令并使用`resource-arn`参数指定资源的 ARN。例如：

```
$ aws securitylake list-tags-for-resource --resource-arn arn:aws:securitylake:us-east-1:123456789012:subscriber/1234abcd-12ab-34cd-56ef-1234567890ab
```

在前面的示例中，*arn:aws:securitylake:us-east-1:123456789012:subscriber/1234abcd-12ab-34cd-56ef-1234567890ab*是现有订阅者的 ARN。

如果操作成功，Security Lake 将返回一个 `tags` 数组。该数组中的每个对象都指定了当前分配给该资源的标签（包括标签键和标签值）。例如：

```
{
    "tags": [
        {
            "key": "Environment",
            "value": "Cloud"
        },
        {
            "key": "CostCenter",
            "value": "12345"
        },
        {
            "key": "Owner",
            "value": ""
        }
    ]
}
```

其中 `Environment`、`CostCenter` 和 `Owner` 是分配给资源的标签键。`Cloud` 是与 `Environment` 标签键关联的标签值。`12345` 是与 `CostCenter` 标签键关联的标签值。`Owner` 标签密钥没有关联的标签值。

------

# 从 Amazon Security Lake 资源中删除标签
从资源中删除标签

要从 Amazon Security Lake 资源中删除标签，您可以使用 Security Lake 控制台或 Security Lake API。

**重要**  
从资源中删除标签可能会影响对该资源的访问。在移除标签之前，请查看可能使用该标签控制资源访问权限的任何 AWS Identity and Access Management (IAM) 策略。

------
#### [ Console ]

按照以下步骤，使用 Security Lake 控制台从资源中删除一个或多个标签。

**从资源中删除标签**

1. 在上打开 Security Lake 控制台[https://console.aws.amazon.com/securitylake/](https://console.aws.amazon.com/securitylake/)。

1. 根据要从中删除标签的资源类型，执行以下任一操作：
   + 对于数据湖配置，在导航窗格中选择**区域**。然后，在**区域**表中，选择区域。
   + 对于订阅用户，在导航窗格中选择**订阅用户**。然后，在**我的订阅用户**表中，选择订阅用户。

     如果该订阅用户不在表中，请使用页面右上角的 AWS 区域 选择器，选择在其中创建了该订阅用户的区域。该表仅列出当前区域的现有订阅用户。

1. 选择**编辑**。

1. 展开**标签**部分。**标签**部分列出当前分配给该资源的所有标签。

1. 执行以下任一操作：
   + 要仅删除标签的标签值，请在包含要删除的值的**值**框中选择 **X**。
   + 要同时删除标签的标签键和标签值（以键值对的形式），请选择要删除的标签旁边的**删除**。

1. 要从资源中删除其他标签，请针对要删除的每个其他标签重复上述步骤。

1. 完成删除标签后，选择**保存**。

------
#### [ API ]

要以编程方式从资源中移除一个或多个标签，请使用 Security Lake API 的[UntagResource](https://docs.aws.amazon.com/security-lake/latest/APIReference/API_UntagResource.html)操作。在请求中，使用 `resourceArn` 参数指定要从中删除标签的资源的 Amazon 资源名称（ARN）。使用 `tagKeys` 形式参数指定要删除的标签的标签键。要删除多个标签，请为要删除的每个标签添加 `tagKeys` 形式参数和实际参数，并用和符号（&）分隔，例如 `tagKeys=key1&tagKeys=key2` 如果仅从资源中删除特定的标签值（而不是标签键），请[编辑标签](tags-update.md)而不是删除标签。

如果您使用的是 AWS Command Line Interface (AWS CLI)，请运行 [untag-resource 命令从资源](https://docs.aws.amazon.com/cli/latest/reference/securitylake/untag-resource.html)中移除一个或多个标签。在 `resource-arn` 参数中，指定要从中移除标签的资源的 ARN。使用 `tag-keys` 形式参数指定要删除的标签的标签键。例如，以下命令从指定订阅用户中删除 `Environment` 标签（包括标签键和标签值）：

```
$ aws securitylake untag-resource \
--resource-arn arn:aws:securitylake:us-east-1:123456789012:subscriber/1234abcd-12ab-34cd-56ef-1234567890ab \
--tag-keys Environment
```

其中，`resource-arn` 指定要从中删除标签的订阅用户的 ARN，`Environment` 是要删除的标签的标签键。

要从资源中删除多个标签，请添加每个其他标签键作为 `tag-keys` 形式参数的实际参数。例如：

```
$ aws securitylake untag-resource \
--resource-arn arn:aws:securitylake:us-east-1:123456789012:subscriber/1234abcd-12ab-34cd-56ef-1234567890ab \
--tag-keys Environment Owner
```

如果操作成功，Security Lake 将返回一个空的 HTTP 200 响应。否则，Security Lake 将返回 HTTP 4*xx* 或 500 响应，并说明操作失败的原因。

------