建立 Parameter Store 使用 Tools for Windows 的 參數 PowerShell - AWS Systems Manager

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

建立 Parameter Store 使用 Tools for Windows 的 參數 PowerShell

您可以使用 AWS Tools for Windows PowerShell 建立 StringStringListSecureString 參數類型。刪除參數後,請等待至少 30 秒以建立具有相同名稱的參數。

不能在其他參數的值中參考或巢套參數。參數值中不能包含 {{}}{{ssm:parameter-name}}

注意

參數僅適用於建立參數 AWS 區域 的 。

建立 String 參數 (適用於 Windows 的工具 PowerShell)

  1. 如果您尚未安裝和設定 AWS Tools for PowerShell (適用於 Windows 的工具 PowerShell)。

    如需相關資訊,請參閱安裝 AWS Tools for PowerShell

  2. 執行下列命令,以建立包含純文字值的參數。取代每個 example resource placeholder 使用您自己的資訊。

    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

    只有在您建立的參數包含 時,才必須指定 -DataType選項 AMI ID。對於所有其他參數,預設資料類型為 text。如需詳細資訊,請參閱在 中使用原生參數支援 Parameter Store 適用於 Amazon Machine Image IDs

    以下是使用參數階層的範例。

    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 參數 (適用於 Windows 的工具 PowerShell)

  1. 如果您尚未安裝和設定 AWS Tools for PowerShell (適用於 Windows 的工具 PowerShell)。

    如需相關資訊,請參閱安裝 AWS Tools for PowerShell

  2. 執行下列命令以建立 StringList 參數。取代每個 example resource placeholder 使用您自己的資訊。

    注意

    若要建立具有標籤的參數,請先建立 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 參數 (適用於 Windows 的工具 PowerShell)

建立 SecureString 參數之前,請先閱讀這種參數的需求。如需詳細資訊,請參閱使用 建立 SecureString參數 AWS CLI

重要

僅加密 SecureString 參數的。參數名稱、說明和其他屬性不會加密。

重要

Parameter Store 僅支援對稱加密KMS金鑰 。您不能使用非對稱加密KMS金鑰來加密參數。如需協助判斷KMS金鑰是對稱或非對稱,請參閱 AWS Key Management Service 開發人員指南中的識別對稱和非對稱KMS金鑰

  1. 如果您尚未安裝和設定 AWS Tools for PowerShell (適用於 Windows 的工具 PowerShell)。

    如需相關資訊,請參閱安裝 AWS Tools for PowerShell

  2. 請執行以下命令以建立參數。取代每個 example resource placeholder 使用您自己的資訊。

    注意

    若要建立具有標籤的參數,請先建立 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
  3. 執行以下命令,以驗證參數的詳細資訊。

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

依預設,所有 SecureString 值都顯示為加密文字。若要解密SecureString值,使用者必須具有呼叫 AWS KMS 解密API操作的許可。如需有關設定 AWS KMS 存取控制的資訊,請參閱《AWS Key Management Service 開發人員指南》中的 ​ AWS KMS的身分驗證與存取控制

重要

如果您變更用於加密參數之KMS金鑰的KMS金鑰別名,則也必須更新參數用於參考 的金鑰別名 AWS KMS。這僅適用於KMS金鑰別名;除非您刪除整個金鑰,否則別名所連接的金鑰 ID 會保持不變。