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

创建 Systems Manager 参数

当您创建参数时,需要指定以下信息:

  • 名称:(必填) 指定用于识别您的参数的名称。

    请注意以下有关 Systems Manager 参数名称的要求和限制:

    • 参数名称区分大小写。

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

      • /CMH/TestParam1

      • /TestParam1

      以下示例也是唯一的:

      • /CMH/TestParam1/Logpath1

      • /CMH/TestParam1

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

      • /TestParam1

      • TestParam1

    • 参数名称不得以“aws”或“ssm”(不区分大小写) 作为前缀。例如,以下示例会导致异常并失败:

      • awsTestParameter

      • SSM-testparameter

      • /aws/testparam1

    • 参数名称只能包含下列符号和字母:

      • a-zA-Z0-9_.-/

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

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

      • /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。即使用户在 IAM 中被明确拒绝对参数 /a 的访问,他们仍然可以递归调用 GetParametersByPath API 操作并查看 /a/b。

  • 数据类型:(必填) 指定数据类型,以定义系统使用参数的方式。

    Parameter Store 目前支持以下数据类型:

    • String

    • StringList

    • SecureString

    注意

    StringList 中的项目必须用逗号 (,) 分隔。不能使用其他标点符号或特殊字符对列表中的项目进行转义。如果您有需要逗号的参数值,则使用 String 数据类型。

  • 描述 (可选,但建议):键入描述,以帮助您识别参数及其预期用途。

  • :(必填) 您的参数值。

  • 密钥 IDKey ID仅适用于使用 SecureString 数据类型的参数。Key ID 可以是自动分配给您的 AWS 账户的默认 AWS Key Management Service (AWS KMS) 密钥,也可以是自定义密钥。请注意以下几点:

    • 要使用默认 AWS KMS 密钥,请选择 SecureString 类型数据,而且在创建参数时不要指定 Key ID。系统会自动用您的默认 KMS 密钥填充 Key ID

    • 要使用自定义 KMS 密钥,请选择带有 Key ID 参数的 SecureString 数据类型。

创建参数后,您可以在 SSM 文档、命令或脚本中使用以下语法指定该参数 (括号之间没有空格):

{{ssm:parameter_name}} 或 {{ ssm:parameter_name }}

注意

Systems Manager 参数的名称 不得以“ssm”或“aws”作为前缀,但是,如果在 SSM 文档或命令中指定参数,语法中会包含“ssm”,如下例所示。

有效:{{ssm:addUsers}}

无效: {{ssm:ssmAddUsers}}

您可以使用 AWS CLI、AWS Tools for Windows PowerShell或 AWS Systems Manager 控制台创建参数。