创建 Systems Manager 参数 (Tools for Windows PowerShell) - Amazon Systems Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

创建 Systems Manager 参数 (Tools for Windows PowerShell)

您可以使用 Amazon Tools for Windows PowerShell 创建 StringStringListSecureString 参数类型。删除参数后,至少等待 30 秒才能创建具有相同名称的参数。

参数不能被引用或嵌套在其他参数的值中。参数值中不能包含 {{}}{{ssm:parameter-name}}

注意

参数只在创建它的 Amazon Web Services 区域可用。

创建 String 参数 (Tools for Windows PowerShell)

  1. 如果您尚未安装和配置 Amazon Tools for PowerShell(适用于 Windows PowerShell 的工具),请执行这些操作。

    有关信息,请参阅安装 Amazon Tools for PowerShell

  2. 运行以下命令,创建一个包含纯文本值的参数。将每个示例资源占位符替换为您自己的信息。

    Write-SSMParameter ` -Name "parameter-name" ` -Value "parameter-value" ` -Type "String"

    - 或者 -

    运行以下命令,创建一个包含 Amazon Machine Image (AMI) ID 作为参数值的参数。

    注意

    要创建带有标签的参数,请先创建 service.model.tag 作为变量。以下是示例。

    $tag = New-Object Amazon.SimpleSystemsManagement.Model.Tag $tag.Key = "tag-key" $tag.Value = "tag-value"
    Write-SSMParameter ` -Name "parameter-name" ` -Value "an-AMI-id" ` -Type "String" ` -DataType "aws:ec2:image" ` -Tags $tag

    仅当要创建包含 AMI ID 的参数时,才必须指定 -DataType 选项。对于所有其他参数,默认数据类型为 text。有关更多信息,请参阅 亚马逊机器映像 ID 的本机参数支持

    以下是使用参数层次结构的示例。

    Write-SSMParameter ` -Name "/IAD/Web/SQL/IPaddress" ` -Value "99.99.99.999" ` -Type "String" ` -Tags $tag
  3. 运行以下命令验证参数的详细信息。

    (Get-SSMParameterValue -Name "the-parameter-name-you-specified").Parameters

创建 StringList 参数 (Tools for Windows PowerShell)

  1. 如果您尚未安装和配置 Amazon Tools for PowerShell(适用于 Windows PowerShell 的工具),请执行这些操作。

    有关信息,请参阅安装 Amazon Tools for PowerShell

  2. 运行以下命令,创建 StringList 参数。将每个示例资源占位符替换为您自己的信息。

    注意

    要创建带有标签的参数,请先创建 service.model.tag 作为变量。以下是示例。

    $tag = New-Object Amazon.SimpleSystemsManagement.Model.Tag $tag.Key = "tag-key" $tag.Value = "tag-value"
    Write-SSMParameter ` -Name "parameter-name" ` -Value "a-comma-separated-list-of-values" ` -Type "StringList" ` -Tags $tag

    如果成功,则该命令返回参数的版本号。

    以下是示例。

    Write-SSMParameter ` -Name "stringlist-parameter" ` -Value "Milana,Mariana,Mark,Miguel" ` -Type "StringList" ` -Tags $tag
    注意

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

  3. 运行以下命令验证参数的详细信息。

    (Get-SSMParameterValue -Name "the-parameter-name-you-specified").Parameters

创建 SecureString 参数 (Tools for Windows PowerShell)

在创建 SecureString 参数前,请阅读关于此类型参数的要求。有关更多信息,请参阅 创建 SecureString 参数 (Amazon CLI)

重要

只会加密 SecureString 参数的。不会加密参数名称、描述和其他属性。

重要

Parameter Store 仅支持对称加密 KMS 密钥。不能使用非对称加密 KMS 密钥来加密您的参数。要获取确定 KMS 密钥是对称还是非对称密钥的帮助,请参阅《Amazon Key Management Service 开发人员指南》中的识别对称 KMS 密钥和非对称 KMS 密钥

  1. 如果您尚未安装和配置 Amazon Tools for PowerShell(适用于 Windows PowerShell 的工具),请执行这些操作。

    有关信息,请参阅安装 Amazon Tools for PowerShell

  2. 运行以下命令创建一个参数。将每个示例资源占位符替换为您自己的信息。

    注意

    要创建带有标签的参数,请先创建 service.model.tag 作为变量。以下是示例。

    $tag = New-Object Amazon.SimpleSystemsManagement.Model.Tag $tag.Key = "tag-key" $tag.Value = "tag-value"
    Write-SSMParameter ` -Name "parameter-name" ` -Value "parameter-value" ` -Type "SecureString" ` -KeyId "an Amazon KMS key ID, an Amazon KMS key ARN, an alias name, or an alias ARN" ` -Tags $tag

    如果成功,则该命令返回参数的版本号。

    注意

    要使用分配给您的账户的 Amazon 托管式密钥,请移除命令中的 -KeyId 参数。

    以下示例使用了一个密码参数的模糊名称(3l3vat3131)和一个 Amazon 托管式密钥。

    Write-SSMParameter ` -Name "/Finance/Payroll/3l3vat3131" ` -Value "P@sSwW)rd" ` -Type "SecureString"` -Tags $tag
  3. 运行以下命令验证参数的详细信息。

    (Get-SSMParameterValue -Name "the-parameter-name-you-specified" –WithDecryption $true).Parameters

默认情况下,所有 SecureString 值均显示为密码文本。要解密 SecureString 值,用户必须有权调用 Amazon KMS Decrypt API 操作。有关配置 Amazon KMS 访问控制的信息,请参阅《Amazon Key Management Service 开发人员指南》中的 Amazon KMS 的身份验证和访问控制

重要

如果更改用于加密参数的 KMS 密钥的别名,则还必须更新该参数用于引用 Amazon KMS 的密钥别名。这仅适用于 KMS 密钥别名;除非删除整个密钥,否则别名附加到的密钥 ID 将保持不变。