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

创建 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(如果尚未执行该操作)。

    有关信息,请参阅安装或升级 Amazon 命令行工具

  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。有关更多信息,请参阅Amazon Machine Image 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(如果尚未执行该操作)。

    有关信息,请参阅安装或升级 Amazon 命令行工具

  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 Developer Guide 中的识别对称 KMS 密钥和非对称 KMS 密钥

  1. 安装并配置 Amazon Tools for PowerShell(如果尚未执行该操作)。

    有关信息,请参阅安装或升级 Amazon 命令行工具

  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 托管的 Amazon KMS key,请从命令中删除 -KeyId 参数。

    以下是针对密码参数和 Amazon 托管式 Amazon KMS key 使用模糊名称 (3l3vat3131) 的示例。

    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 Developer Guide 中的 Amazon KMS 的身份验证和访问控制

重要

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