AWS Systems Manager
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

为 Systems Manager 文档添加标签

可以使用 Systems Manager 控制台、AWS CLI、AWS Tools for Windows 或 AddTagsToResource API 向 Systems Manager 资源 (包括文档、托管实例、Maintenance Window、Parameter Store 参数和补丁基准) 添加标签。

当您具有相同类型的许多资源时,添加标签会很有用 — 您可以根据分配给资源的标签快速识别特定资源。每个标签都包含您定义的一个 和一个可选

例如,您可以为特定环境、部门、用户、组或时间段的文档添加标签。在为文档添加标签后,您可以通过创建一个指定用户可访问的标签的 IAM 策略来限制对该文档的访问权限。有关使用标签限制对文档的访问权限的更多信息,请参阅使用标签控制对文档的访问权限

为文档添加标签 (AWS CLI)

  1. 在终端 (Linux, OS X, or Unix) 或命令提示符 (Windows) 中,运行 list-documents 命令列出可添加标签的文档。

    aws ssm list-documents

    记下您要添加标签的文档的名称。

  2. 运行以下命令为文档添加标签。

    aws ssm add-tags-to-resource --resource-type "Document" --resource-id "document-name" --tags "Key=key,Value=value"

    document-name - 您要添加标签的 Systems Manager 文档的名称。

    key 是您提供的自定义密钥的名称。例如,regionquarter

    value 是您要为该密钥提供的值的自定义内容。例如,westQ318

    如果成功,则命令没有输出。

  3. 执行以下命令验证文档标签。

    aws ssm list-tags-for-resource --resource-type "Document" --resource-id "document-name"

为文档添加标签 (AWS Tools for Windows)

  1. 打开 AWS Tools for Windows PowerShell 并运行以下命令以列出您可添加标签的文档:

    Get-SSMDocumentList
  2. 一次运行一条以下命令来为文档添加标签:

    $tag1 = New-Object Amazon.SimpleSystemsManagement.Model.Tag $tag1.Key = "key" $tag1.Value = "value" Add-SSMResourceTag -ResourceType "Document" -ResourceId "document-name" -Tag $tag1

    document-name - 您要添加标签的 Systems Manager 文档的名称。

    key 是您提供的自定义密钥的名称。例如,regionquarter

    value 是您要为该密钥提供的值的自定义内容。例如,westQ318

    如果成功,则命令没有输出。

  3. 运行以下命令验证文档标签:

    Get-SSMResourceTag -ResourceType "Document" -ResourceId "document-name"

为文档添加标签 (控制台)

  1. https://console.amazonaws.cn/systems-manager/ 上打开 AWS Systems Manager 控制台。

  2. 在左侧导航窗格中,选择文档

  3. 选择现有文档的名称,然后选择标签选项卡。

  4. 在第一个框中,为标签输入键,如区域

  5. 在第二个框中,为标签输入值,如西部

  6. 选择 Save

使用标签控制对文档的访问权限

在为文档添加标签后,您可以通过创建一个指定用户可访问的标签的 IAM 策略来限制对该文档的访问权限。当用户尝试使用文档时,系统会检查 IAM 策略和为该文档指定的标签。如果用户对分配给该文档的标签没有访问权限,用户会收到访问被拒绝错误。使用以下过程创建一个 IAM 策略来通过使用标签限制对文档的访问权限。

开始前的准备工作

创建文档并添加标签。有关更多信息,请参阅 为 Systems Manager 文档添加标签

使用标签限制用户对文档的访问权限

  1. Open the IAM console at https://console.amazonaws.cn/iam/.

  2. 在导航窗格中选择 Policies,然后选择 Create policy

  3. 选择 JSON 选项卡。

  4. 将以下示例策略复制粘贴到此文本字段中,替换示例文本。将 tag_keytag_value 替换为您的标签的键值对。

    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "ssm:GetDocument" ], "Resource":"*", "Condition":{ "StringLike":{ "ssm:resourceTag/tag_key":[ "tag_value" ] } } } ] }

    您可以使用以下 Condition 格式在策略中指定多个键。指定多个键会为这些键创建 AND 关系。

    "Condition":{ "StringLike":{ "ssm:resourceTag/tag_key1":[ "tag_value1" ], "ssm:resourceTag/tag_key2":[ "tag_value2" ] } }

    您可以使用以下 Condition 格式在策略中指定多个值。ForAnyValue 为这些值建立 OR 关系。还可以指定ForAllValues 来建立 AND 关系。

    "Condition":{ "ForAnyValue:StringLike":{ "ssm:resourceTag/tag_key1":[ "tag_value1", "tag_value2" ] } }
  5. 选择查看策略

  6. Name 字段中,指定一个将它标识为目标文档的用户策略的名称。

  7. 输入描述。

  8. 摘要部分,验证策略详细信息。

  9. 选择 Create policy

  10. 将策略分配给 IAM 用户或组。有关更多信息,请参阅更改 IAM 用户的权限将策略附加到 IAM 组

将策略附加到 IAM 用户或组账户之后,如果用户尝试使用某个文档,并且用户的策略不允许用户访问该文档的标签 (调用 GetDocument API),系统将会返回错误。错误类似于以下内容:

"User: user_name is not authorized to perform: ssm:GetDocument on resource: document-name with the following command."

当文档具有多个标签时,如果用户无权访问这些标签中的任何一个,则用户仍会收到访问被拒绝错误。