建立 Systems Manager 參數 (Tools for Windows PowerShell) - AWS Systems Manager

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

建立 Systems Manager 參數 (Tools for Windows PowerShell)

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

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

注意

參數只能在建立該參數的 AWS 區域 中使用。

建立 String 參數 (Tools for Windows PowerShell)

  1. 如果您尚未安裝並設定 AWS Tools for PowerShell (適用於 Windows PowerShell 的工具),請進行相應的作業。

    如需相關資訊,請參閱安裝 AWS 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。如需更多詳細資訊,請參閱 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. 如果您尚未安裝並設定 AWS Tools for PowerShell (適用於 Windows PowerShell 的工具),請進行相應的作業。

    如需相關資訊,請參閱安裝 AWS 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 參數 (AWS CLI)

重要

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

重要

Parameter Store 只支援對稱加密 KMS 金鑰。您無法使用非對稱加密 KMS 金鑰來加密您的參數。如需判斷 KMS 金鑰為對稱或非對稱的說明,請參閱《AWS Key Management Service 開發人員指南》中的識別對稱鍵和非對稱金鑰

  1. 如果您尚未安裝並設定 AWS Tools for PowerShell (適用於 Windows PowerShell 的工具),請進行相應的作業。

    如需相關資訊,請參閱安裝 AWS 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 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 值,使用者必須具有呼叫 KMS AWS KMS Decrypt API 操作的許可。如需有關設定 AWS KMS 存取控制的資訊,請參閱《AWS Key Management Service 開發人員指南》中的 ​AWS KMS 的身分驗證與存取控制

重要

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