使用 Tools for Windows PowerShell 来创建 Parameter Store 参数
您可以使用 AWS Tools for Windows PowerShell 创建 String
、StringList
和 SecureString
参数类型。删除参数后,至少等待 30 秒才能创建具有相同名称的参数。
参数不能被引用或嵌套在其他参数的值中。参数值中不能包含 {{}}
或 {{ssm:
。parameter-name
}}
注意
参数只在创建它的 AWS 区域 可用。
主题
创建字符串参数 (Tools for Windows PowerShell)
如果您尚未安装和配置 AWS Tools for PowerShell(适用于 Windows PowerShell 的工具),请执行这些操作。
有关更多信息,请参阅安装 AWS Tools for PowerShell。
-
运行以下命令,创建一个包含纯文本值的参数。将每个
示例资源占位符
替换为您自己的信息。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
。有关更多信息,请参阅 在 Parameter Store 中为 Amazon Machine Image ID 使用本机参数支持。以下是使用参数层次结构的示例。
Write-SSMParameter ` -Name "/IAD/Web/SQL/IPaddress" ` -Value "99.99.99.999" ` -Type "String" ` -Tags $tag
-
运行以下命令验证参数的详细信息。
(Get-SSMParameterValue -Name "
the-parameter-name-you-specified
").Parameters
创建 StringList 参数 (Tools for Windows PowerShell)
如果您尚未安装和配置 AWS Tools for PowerShell(适用于 Windows PowerShell 的工具),请执行这些操作。
有关更多信息,请参阅安装 AWS Tools for PowerShell。
-
运行以下命令,创建 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
类型。 -
运行以下命令验证参数的详细信息。
(Get-SSMParameterValue -Name "
the-parameter-name-you-specified
").Parameters
创建 SecureString 参数 (Tools for Windows PowerShell)
在创建 SecureString
参数前,请阅读关于此类型参数的要求。有关更多信息,请参阅 使用 AWS CLI 来创建 SecureString 参数。
重要
只会加密 SecureString
参数的值。不会加密参数名称、描述和其他属性。
重要
Parameter Store 仅支持对称加密 KMS 密钥。不能使用非对称加密 KMS 密钥来加密您的参数。要获取确定 KMS 密钥是对称还是非对称密钥的帮助,请参阅 AWS Key Management Service 开发人员指南中的识别对称 KMS 密钥和非对称 KMS 密钥。
如果您尚未安装和配置 AWS Tools for PowerShell(适用于 Windows PowerShell 的工具),请执行这些操作。
有关更多信息,请参阅安装 AWS Tools for PowerShell。
-
运行以下命令创建一个参数。将每个
示例资源占位符
替换为您自己的信息。注意
要创建带有标签的参数,请先创建 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 AWS KMS key ID, an AWS KMS key ARN, an alias name, or an alias ARN
" ` -Tags $tag如果成功,则该命令返回参数的版本号。
注意
要使用分配给您的账户的 AWS 托管式密钥,请移除命令中的
-KeyId
参数。以下示例使用了一个密码参数的模糊名称(3l3vat3131)和一个 AWS 托管式密钥。
Write-SSMParameter ` -Name "/Finance/Payroll/3l3vat3131" ` -Value "P@sSwW)rd" ` -Type "SecureString"` -Tags $tag
-
运行以下命令验证参数的详细信息。
(Get-SSMParameterValue -Name "
the-parameter-name-you-specified
" –WithDecryption $true).Parameters
默认情况下,所有 SecureString
值均显示为密码文本。要解密 SecureString
值,用户必须有权调用 AWS KMS Decrypt API 操作。有关配置 AWS KMS 访问控制的信息,请参阅 AWS Key Management Service 开发人员指南中的 AWS KMS 的身份验证和访问控制。
重要
如果更改用于加密参数的 KMS 密钥的别名,则还必须更新该参数用于引用 AWS KMS 的密钥别名。这仅适用于 KMS 密钥别名;除非删除整个密钥,否则别名附加到的密钥 ID 将保持不变。