

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

# 在中标记存储库 Amazon CodeCommit
标记存储库

*标签*是您或 Amazon 分配给 Amazon 资源的自定义属性标签。 Amazon 标签不同于 Git 标签，后者可以应用于提交。每个 Amazon 标签由两部分组成：
+ *标签键* （例如，`CostCenter`、`Environment`、`Project` 或 `Secret`）。标签密钥区分大小写。
+ 一个称为*标签值*的可选字段（例如，`111122223333`、`Production` 或团队名称）。省略标签值与使用空字符串效果相同。与标签键一样，标签值区分大小写。

这些被统称为键-值对。有关存储库可拥有的标签数量限制以及标签键和值的限制，请参阅[限制](limits.md#limits-tags)。

标签可帮助您识别和整理 Amazon 资源。许多 Amazon 服务都支持标记，因此您可以为来自不同服务的资源分配相同的标签，以表明这些资源是相关的。例如，您可以为 CodeCommit存储库分配与分配给 Amazon S3 存储桶相同的标签。有关标记策略的更多信息，请参阅为资源[添加标签。 Amazon](https://docs.amazonaws.cn/general/latest/gr/aws_tagging.html)

在中 CodeCommit，主要资源是存储库。您可以使用 CodeCommit 控制台、 Amazon CLI CodeCommit APIs、或 Amazon SDKs 为存储库添加、管理和移除标签。除了使用标签标识、整理和跟踪存储库以外，您还可以在 IAM 策略中使用标签以帮助控制哪些用户可以查看并与存储库交互。有关基于标签的访问策略示例，请参阅[示例 5：使用标签拒绝或允许对存储库执行操作](customer-managed-policies.md#identity-based-policies-example-5)。

**Topics**
+ [

# 为存储库添加标签
](how-to-tag-repository-add.md)
+ [

# 查看存储库的标签
](how-to-tag-repository-list.md)
+ [

# 编辑存储库的标签
](how-to-tag-repository-update.md)
+ [

# 从存储库中移除标签
](how-to-tag-repository-delete.md)

# 为存储库添加标签


向存储库添加标签可以帮助您识别和组织 Amazon 资源并管理对资源的访问权限。首先，为存储库添加一个或多个标签（键值对）。请记住，存储库可以拥有的标签数量有限制。键和值字段中可以使用的字符有限制。有关更多信息，请参阅[限制](limits.md#limits-tags)。有了标签后，您可以创建 IAM 策略以根据这些标签管理对存储库的访问。您可以使用 CodeCommit 控制台或 Amazon CLI 向存储库添加标签。

**重要**  
为存储库添加标签会影响对该存储库的访问。为存储库添加标签之前，请务必查看是否存在任何 IAM 策略可能使用标签来控制对资源（如存储库）的访问。有关基于标签的访问策略示例，请参阅[示例 5：使用标签拒绝或允许对存储库执行操作](customer-managed-policies.md#identity-based-policies-example-5)。

有关在创建存储库时为其添加标签的更多信息，请参阅[创建存储库（控制台）](how-to-create-repository.md#how-to-create-repository-console)。

**Topics**
+ [

## 为存储库添加标签（控制台）
](#how-to-tag-repository-add-console)
+ [

## 为存储库添加标签 (Amazon CLI)
](#how-to-tag-repository-add-cli)

## 为存储库添加标签（控制台）


您可以使用 CodeCommit 控制台向 CodeCommit 存储库添加一个或多个标签。

1. 在 [https://console.aws.amazon.com/codesuite/codemmit](https://console.amazonaws.cn/codesuite/codecommit/home) /home 打开 CodeCommit 控制台。

1. 在 **Repositories (存储库)** 中，选择要在其中添加标签的存储库的名称。

1. 在导航窗格中，选择**设置**。选择 **Repository tags (存储库标签)**。

1. 如果此存储库中尚未添加标签，请选择 **Add tag (添加标签)**。反之，请选择**编辑**，然后选择**添加标签**。

1. 在**键**中，输入标签的名称。您可以在**值**中添加可选的标签值。  
![\[为存储库添加标签\]](http://docs.amazonaws.cn/codecommit/latest/userguide/images/codecommit-repository-tags-edit.png)

1. （可选）要添加其他标签，请再次选择**添加标签**。

1. 添加完标签后，选择**提交**。

## 为存储库添加标签 (Amazon CLI)


按照以下步骤使用 Amazon CLI 向 CodeCommit 存储库添加标签。要在创建存储库为其添加标签，请参阅[创建存储库 (Amazon CLI)](how-to-create-repository.md#how-to-create-repository-cli)。

在这些步骤中，我们假设您已安装最新版本的 Amazon CLI 或已更新到当前版本。有关更多信息，请参阅[安装 Amazon Command Line Interface](https://docs.amazonaws.cn/cli/latest/userguide/installing.html)。

在终端或命令行中运行 **tag-resource** 命令，并指定要添加标签的存储库的 Amazon 资源名称（ARN）以及要添加的标签的键和值。您可以将多个标签添加到一个存储库中。例如，要*MyDemoRepo*使用两个标签来标记名为的存储库，一个标签键*Status*的标签值为*Secret*，一个标签键*Team*的标签值为*Saanvi*：

```
aws codecommit tag-resource --resource-arn arn:aws:codecommit:us-west-2:111111111111:MyDemoRepo --tags Status=Secret,Team=Saanvi 
```

如果成功，该命令不返回任何内容。

# 查看存储库的标签


标签可以帮助您识别和整理 Amazon 资源并管理对资源的访问权限。有关标记策略的更多信息，请参阅为资源[添加标签。 Amazon](https://docs.amazonaws.cn/general/latest/gr/aws_tagging.html)有关基于标签的访问策略示例，请参阅[示例 5：使用标签拒绝或允许对存储库执行操作](customer-managed-policies.md#identity-based-policies-example-5)。

## 查看存储库的标签（控制台）


您可以使用 CodeCommit 控制台查看与 CodeCommit 仓库关联的标签。

1. 在 [https://console.aws.amazon.com/codesuite/codemmit](https://console.amazonaws.cn/codesuite/codecommit/home) /home 打开 CodeCommit 控制台。

1. 在 **Repositories (存储库)** 中，选择要在其中查看标签的存储库的名称。

1. 在导航窗格中，选择**设置**。选择 **Repository tags (存储库标签)**。

## 查看存储库的标签 (Amazon CLI)


按照以下步骤使用 Amazon CLI 来查看 CodeCommit 存储库的 Amazon 标签。如果尚未添加标签，则返回的列表为空。

在终端或命令行中，运行 **list-tags-for-resource** 命令。例如，查看名为 *MyDemoRepo* 并具有 ARN *arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo* 的存储库的标签键和标签值列表：

```
aws codecommit list-tags-for-resource --resource-arn arn:aws:codecommit:us-west-2:111111111111:MyDemoRepo
```

如果成功，该命令返回类似以下内容的信息：

```
{
    "tags": {
        "Status": "Secret",
        "Team": "Saanvi"
    }
}
```

# 编辑存储库的标签


您可以更改与存储库关联的标签值。您也可以更改标签键的名称，这相当于删除当前的标签并使用新名称和相同的值添加一个不同的标签。请记住，键和值字段中可以使用的字符有限制。有关更多信息，请参阅[限制](limits.md#limits-tags)。

**重要**  
编辑存储库的标签会影响对该存储库的访问。编辑存储库的标签名称（键）或值之前，请务必查看是否存在任何 IAM 策略可能使用标签的键或值来控制对资源（如存储库）的访问。有关基于标签的访问策略示例，请参阅[示例 5：使用标签拒绝或允许对存储库执行操作](customer-managed-policies.md#identity-based-policies-example-5)。

## 编辑存储库的标签（控制台）


您可以使用 CodeCommit 控制台编辑与 CodeCommit 仓库关联的标签。

1. 在 [https://console.aws.amazon.com/codesuite/codemmit](https://console.amazonaws.cn/codesuite/codecommit/home) /home 打开 CodeCommit 控制台。

1. 在 **Repositories (存储库)** 中，选择要为其编辑标签的存储库的名称。

1. 在导航窗格中，选择**设置**。选择 **Repository tags (存储库标签)**。

1. 选择**编辑**。

1. 请执行以下操作之一：
   + 要更改标签，则在**键**中输入新名称。更改标签的名称相当于删除标签并使用新的键名添加新标签。
   + 要更改标签的值，则输入新值。如果您想将标签值清空，请删除当前的值并将字段保留为空白。

1. 编辑完标签后，选择**提交**。

## 编辑存储库的标签 (Amazon CLI)


按照以下步骤使用 Amazon CLI 来更新 CodeCommit 存储库的标签。您可以更改现有键的值或添加另一个键。

在终端或命令行中运行 **tag-resource** 命令，并指定要更新标签的存储库的 Amazon 资源名称（ARN）以及标签键和标签值：

```
aws codecommit tag-resource --resource-arn arn:aws:codecommit:us-west-2:111111111111:MyDemoRepo --tags Team=Li
```

# 从存储库中移除标签


您可以移除与存储库关联的一个或多个标签。移除标签不会从与该标签关联的其他 Amazon 资源中删除该标签。

**重要**  
删除存储库的标签会影响对该存储库的访问。从存储库中移除标签之前，请务必查看是否存在任何 IAM 策略可能使用标签的键或值来控制对资源（如存储库）的访问。有关基于标签的访问策略示例，请参阅[示例 5：使用标签拒绝或允许对存储库执行操作](customer-managed-policies.md#identity-based-policies-example-5)。

## 从存储库中移除标签（控制台）


您可以使用 CodeCommit 控制台删除标签和 CodeCommit 存储库之间的关联。

1. 在 [https://console.aws.amazon.com/codesuite/codemmit](https://console.amazonaws.cn/codesuite/codecommit/home) /home 打开 CodeCommit 控制台。

1. 在 **Repositories (存储库)** 中，选择要移除其标签的存储库的名称。

1. 在导航窗格中，选择**设置**。选择 **Repository tags (存储库标签)**。

1. 选择**编辑**。

1. 找到要移除的标签，然后选择**移除标签**。

1. 移除标签之后，选择**提交**。

## 从存储库中移除标签 (Amazon CLI)


按照以下步骤使用从 Amazon CLI CodeCommit 存储库中移除标签。移除标签不会将其删除，而只是删除标签和存储库之间的关联。

**注意**  
如果删除 CodeCommit 存储库，则会从已删除的存储库中移除所有标签关联。您无需在删除存储库之前移除标签。

在终端或命令行中运行 **untag-resource** 命令，并指定要移除标签的存储库的 Amazon 资源名称（ARN）以及要移除的标签的标签键。例如，要在以标签键命名的存储库上删除标签*MyDemoRepo*，请执行以下*Status*操作：

```
aws codecommit untag-resource --resource-arn arn:aws:codecommit:us-west-2:111111111111:MyDemoRepo --tag-keys Status
```

如果成功，该命令不返回任何内容。要验证与存储库关联的标签，请运行 **list-tags-for-resource** 命令。