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

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

创建 Systems Manager 参数

使用以下主题中的信息可帮助您使用 AWS Systems Manager 控制台、AWS Command Line Interface (AWS CLI) 或适用于 Windows PowerShell 的 AWS 工具(适用于 Windows PowerShell 的工具)创建系统管理器参数。

此部分演示如何使用 Parameter Store 在测试环境中创建、存储和运行参数。它还演示了如何将参数存储与其他 Systems Manager 功能和 AWS 服务一起使用。有关更多信息,请参阅 什么是参数?

关于参数名称的要求和约束

使用本主题中的信息可在您创建参数时帮助您为参数名称指定有效值。

此信息补充了主题中的详细信息PutParameter中的AWS Systems Manager API 参考,它还提供了有关值的信息AllowedPattern说明KeyIdOverwrite类型, 和

参数名称的要求和约束包括:

  • 区分大小写:参数名称区分大小写。

  • 空格:参数名称不能包含空格。

  • 有效字符:参数名称只能包含以下符号和字母:a-zA-Z0-9_.-

    此外,斜杠字符 (/) 用于描述参数名称中的层次结构。例如:/Dev/Production/East/Project-ABC/MyParameter

  • 有效 AMI 格式:在选择aws:ec2:image作为String参数,则输入的 ID 必须验证 AMI ID 格式ami-12345abcdeEXAMPLE

  • 完全合格:在层次结构中创建或引用参数时,必须包含前导正斜杠字符 (/)。当引用属于层次结构一部分的参数时,必须指定包括初始斜杠 (/) 在内的整个层次结构路径。

    • 完全限定的参数名称:MyParameter1/MyParameter2/Dev/Production/East/Project-ABC/MyParameter

    • 未完全限定的参数名称:MyParameter3/L1

  • 长度:参数名称的最大长度包含参数 Amazon 资源名称 (ARN) 的完整内容,是 1011 个字符。例如,以下参数的长度是 65 个字符,而不是 20 个字符:

    arn:aws:ssm:us-east-2:111122223333:parameter/ExampleParameterName
  • 前缀:参数名称不得以“aws”或“ssm”(不区分大小写) 作为前缀。例如,尝试使用以下名称创建参数失败,并引发异常:

    • awsTestParameter

    • SSM-testparameter

    • /aws/testparam1

    注意

    在 SSM 文档、命令或脚本中指定参数时,可将ssm作为语法的一部分,如以下示例所示。

    • 有效:{{ssm:parameter-name}} 和 {SSM:parameter-name }},例如{{ssm:MyParameter}}, 和{{ ssm:MyParameter }}

  • UNISTINGE:参数名称必须在 AWS 区域中是唯一的。例如,Systems Manager 将以下参数视为不同的参数 (如果它们存在于同一区域中):

    • /Test/TestParam1

    • /TestParam1

    以下示例也是唯一的:

    • /Test/TestParam1/Logpath1

    • /Test/TestParam1

    但是,以下示例(如果在同一区域中)不是唯一的:

    • /TestParam1

    • TestParam1

  • 层次结构深度:如果您指定参数层次结构,则层次结构可以具有最多十五个级别的深度。可以在该层次结构的任何级别定义参数。以下两个示例的结构都是有效的:

    • /Level-1/L2/L3/L4/L5/L6/L7/L8/L9/L10/L11/L12/L13/L14/parameter-name

    • parameter-name

    尝试创建以下参数将失败并引发 HierarchyLevelLimitExceededException 异常:

    • /Level-1/L2/L3/L4/L5/L6/L7/L8/L9/L10/L11/L12/L13/L14/L15/L16/parameter-name

重要

如果用户有权访问某个路径,则该用户可以访问该路径的所有级别。例如,如果某个用户有权访问路径 /a,则该用户也可以访问 /a/b。即使用户在 AWS Identity and Access Management (IAM) 中被明确拒绝访问参数/a/b,它们仍然可以调用GetParametersByPath用于递归的 API 操作/a和查看/a/b