指派參數政策
參數政策讓您可以將特定條件 (例如過期日期或存留時間) 指派給一個參數,以協助您管理一群不斷增長的參數。參數政策對於強制更新或刪除密碼和儲存於 Parameter Store (AWS Systems Manager 的一項功能) 中的組態資料特別有幫助。Parameter Store 提供以下政策類型:Expiration
、ExpirationNotification
和 NoChangeNotification
。
若要實作密碼輪換生命週期,請使用 AWS Secrets Manager。您可以使用 Secrets Manager 在資料庫登入資料、API 金鑰和其他機密的整個生命週期輕鬆進行輪換、管理和擷取。如需詳細資訊,請參閱《AWS Secrets Manager 使用者指南》中的什麼是 AWS Secrets Manager?。
Parameter Store 使用非同步、定期掃描,強制執行參數政策。建立政策之後,您不需要執行額外的動作,即可強制執行政策。Parameter Store 會依據您指定的條件,獨立執行由政策定義的動作。
參數政策適用於使用進階參數方案的參數。如需詳細資訊,請參閱 管理參數層。
參數政策為一 JSON 陣列,如下表所示。當您建立新的進階參數時,可以指派政策,或藉由更新參數來指派政策。Parameter Store 支援以下類型的參數政策。
政策 | 詳細資訊 | 範例 |
---|---|---|
Expiration |
此政策會刪除參數。您可以透過使用 此範例使用 |
|
ExpirationNotification |
此政策在 Amazon EventBridge (EventBridge) 中啟動事件,藉此通知您有關過期的資訊。使用此政策,您可以在過期時間到達之前接收到通知,以天或小時為單位。 |
|
NoChangeNotification |
如果在指定的時間段沒有修改參數,此政策會啟動 EventBridge 中的事件。例如,當密碼必須在一時間段內變更時,此一政策類型就很有用。 此政策會讀取參數的 |
|
您可以將多個政策指派給一個參數。例如,您可以指派 Expiration
和 ExpirationNotification
政策,讓系統觸發 EventBridge 事件來通知您參數即將刪除。您最多可以將十 (10) 個政策指派給一個參數。
以下範例顯示 PutParameter API 請求語法,該請求會將四個政策指派給新的 SecureString
參數,名為 ProdDB3
。
{ "Name": "ProdDB3", "Description": "Parameter with policies", "Value": "P@ssW*rd21", "Type": "SecureString", "Overwrite": "True", "Policies": [ { "Type": "Expiration", "Version": "1.0", "Attributes": { "Timestamp": "2018-12-02T21:34:33.000Z" } }, { "Type": "ExpirationNotification", "Version": "1.0", "Attributes": { "Before": "30", "Unit": "Days" } }, { "Type": "ExpirationNotification", "Version": "1.0", "Attributes": { "Before": "15", "Unit": "Days" } }, { "Type": "NoChangeNotification", "Version": "1.0", "Attributes": { "After": "20", "Unit": "Days" } } ] }
將政策新增至現有參數
本節包含如何使用 AWS Systems Manager 主控台、AWS Command Line Interface (AWS CLI) 和 AWS Tools for Windows PowerShell,將政策新增至現有參數的資訊。如需關於如何建立包含政策的新參數的資訊,請參閱 建立 Systems Manager 參數。
將政策新增至現有參數 (主控台)
請使用下列程序,以使用 Systems Manager 主控台,將政策新增至現有參數。
將政策新增至現有參數
開啟位於 AWS Systems Managerhttps://console.aws.amazon.com/systems-manager/ 的 主控台。https://console.aws.amazon.com/systems-manager/
在導覽窗格中,選擇 Parameter Store。
-或-
如果 AWS Systems Manager 首頁先開啟,選擇選單圖示 (
) 以開啟導覽窗格,然後選擇 Parameter Store。
-
選擇您要更新之參數旁的選項,以納入政策,然後選擇 Edit (編輯)。
-
選擇 Advanced (進階)。
-
(選用) 在 Parameter policies (參數政策) 部分,請選擇 Enabled (啟用)。您可以為該參數指定過期日期和一個或多個通知政策。
-
選擇 Save changes (儲存變更)。
-
Parameter Store 會保留參數的政策,直到您用新的政策覆寫該政策或將其移除。
-
若要從現有參數中移除所有政策,請編輯參數,並使用括弧和大括號套用空的政策,如以下所示:
[{}]
-
如果您將新政策新增至已經有政策的參數,則 Systems Manager 會覆寫連接到該參數的政策。現有的政策會被刪除。如果您想要將政策新增至已經有一個或多個政策的參數,則複製並貼上原有的政策,輸入新的政策,然後儲存您的變更。
將政策新增至現有參數 (AWS CLI)
請使用下列步驟,利用 AWS CLI 將政策新增至現有參數。
將政策新增至現有參數
如果您尚未安裝並設定 AWS Command Line Interface (AWS CLI),請進行相應的操作。
如需相關資訊,請參閱安裝或升級 AWS 命令列工具。
-
執行以下命令,將政策新增至現有參數。
以下範例包含過期政策,該政策在 15 天之後會將參數刪除。此範例也包含通知政策,該政策會在參數被刪除的五 (5) 天以前產生 EventBridge 事件。最後,它包含
NoChangeNotification
政策,如果 60 天之後該參數沒有變更。此範例使用混淆代碼名稱 (3l3vat3131
) 做為密碼參數,並使用 AWS Key Management Service AWS KMS key。如需 AWS KMS keys 的詳細資訊,請參閱《AWS Key Management Service 開發人員指南》中的 AWS Key Management Service 概念。 -
執行以下命令,以驗證參數的詳細資訊。
-
Parameter Store 會保留參數的政策,直到您用新的政策覆寫該政策或將其移除。
-
若要從現有參數中移除所有的政策,請編輯該參數,並套用由括弧和大括號組成的空白政策。例如:
-
如果您將新政策新增至已經有政策的參數,則 Systems Manager 會覆寫連接到該參數的政策。現有的政策會被刪除。如果您想要將政策新增至已經有一個或多個政策的參數,則複製並貼上原有的政策,輸入新的政策,然後儲存您的變更。
將政策新增至現有參數 (Tools for Windows PowerShell)
請使用下列程序,以使用 Tools for Windows PowerShell,將政策新增至現有參數。
將政策新增至現有參數
-
開啟 Tools for Windows PowerShell 並執行以下命令,以指定您的登入資料。您必須在 Amazon Elastic Compute Cloud (Amazon EC2) 中具備管理員權限,或已在 AWS Identity and Access Management (IAM) 中獲得適當許可。如需詳細資訊,請參閱 Systems Manager 先決條件。
Set-AWSCredentials –AccessKey
access-key-name
–SecretKeysecret-key-name
-
執行以下命令,以設定 PowerShell 工作階段的區域。此範例會使用美國東部 (俄亥俄) 區域 (US-east-2)。
Set-DefaultAWSRegion -Region us-east-2
-
執行以下命令,將政策新增至現有參數。
Write-SSMParameter -Name "
parameter-name
" -Value "parameter-value
" -Type "parameter-type
" -Policies "[{policies-enclosed-in-brackets-and-curly-braces
}]" -Overwrite以下的範例包含過期政策,該政策將在 2020 年 5 月 13 日的午夜 (GMT) 將參數刪除。此範例也包含通知政策,該政策會在參數被刪除的五 (5) 天以前產生 EventBridge 事件。最後,它包含
NoChangeNotification
政策,如果 60 天之後該參數沒有變更。此範例使用混淆代碼名稱 (3l3vat3131
) 作為密碼參數,並使用 AWS 受管金鑰。Write-SSMParameter -Name "/Finance/Payroll/3l3vat3131" -Value "P@sSwW)rd" -Type "SecureString" -Policies "[{\"Type\":\"Expiration\",\"Version\":\"1.0\",\"Attributes\":{\"Timestamp\":\"2018-05-13T00:00:00.000Z\"}},{\"Type\":\"ExpirationNotification\",\"Version\":\"1.0\",\"Attributes\":{\"Before\":\"5\",\"Unit\":\"Days\"}},{\"Type\":\"NoChangeNotification\",\"Version\":\"1.0\",\"Attributes\":{\"After\":\"60\",\"Unit\":\"Days\"}}]" -Overwrite
-
執行以下命令,以驗證參數的詳細資訊。
(Get-SSMParameterValue -Name "
parameter-name-you-specified
").Parameters
-
Parameter Store 會保留參數的政策,直到您用新的政策覆寫該政策或將其移除。
-
若要從現有參數中移除所有的政策,請編輯該參數,並套用由括弧和大括號組成的空白政策。例如:
Write-SSMParameter -Name "
parameter-name
" -Value "parameter-value
" -Type "parameter-type
" -Policies "[{}]" -
如果您將新政策新增至已經有政策的參數,則 Systems Manager 會覆寫連接到該參數的政策。現有的政策會被刪除。如果您想要將政策新增至已經有一個或多個政策的參數,則複製並貼上原有的政策,輸入新的政策,然後儲存您的變更。