• 2026 年 4 月 30 日之後將不再提供 AWS Systems Manager CloudWatch Dashboard。客戶可以繼續使用 Amazon CloudWatch 主控台來檢視、建立和管理其 Amazon CloudWatch 儀表板,就像現在一樣。如需詳細資訊,請參閱 Amazon CloudWatch Dashboard 文件。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定 Parameter Store
在 中設定參數之前Parameter Store,設定 AWS Identity and Access Management (IAM) 政策為帳戶中的主體提供執行您指定動作的許可。
在本節中,您將了解如何使用 IAM 主控台手動設定這些政策,以及如何將政策指派給使用者和使用者群組。您也可以建立和指派政策,來控制可在受管節點上執行何種參數動作。
本節也說明如何建立 Amazon EventBridge 規則,讓您接收 Systems Manager 參數變更的通知。您可以使用 EventBridge 規則 AWS ,根據 中的變更在 中叫用其他動作Parameter Store。
目錄
使用 IAM 政策管理對Parameter Store參數的存取
存取 AWS Systems Manager 參數的 IAM 主體必須具有執行所需 SSM 動作的許可。委託人可以是 IAM 使用者、IAM 角色、Amazon EC2 執行個體描述檔、Lambda 執行角色、Amazon ECS 任務角色、CodeBuild 服務角色或其他 AWS 服務角色。
下表說明不同Parameter Store動作所需的 IAM 許可。
| Action | 必要的 IAM 權限 | 參考資訊 |
|---|---|---|
| 建立或更新參數 | ssm:PutParameter |
PutParameter |
| 擷取一個參數 | ssm:GetParameter |
GetParameter |
| 擷取多個具名參數 | ssm:GetParameters |
GetParameters |
| 在路徑下擷取參數 | ssm:GetParametersByPath |
GetParametersByPath |
| 檢視參數中繼資料 | ssm:DescribeParameters |
DescribeParameters |
| 檢視參數版本歷史記錄 | ssm:GetParameterHistory |
GetParameterHistory |
| 刪除一個參數 | ssm:DeleteParameter |
DeleteParameter |
| 刪除多個參數 | ssm:DeleteParameters |
DeleteParameters |
使用 IAM 政策授予 Systems Manager 參數的存取權時,建議您建立和使用限制性 IAM 政策。例如,下列政策允許委託人針對一組有限的資源呼叫 DescribeParameters和 GetParameters API 操作。委託人可以取得 的相關資訊,並使用以 開頭的所有參數prod-*。
重要
如果使用者擁有路徑的存取權限,則該使用者可存取該路徑的所有層級。例如,如果使用者擁有存取路徑 /a 的許可,則該使用者也可以存取 /a/b。即使委託人在 IAM 中明確拒絕參數 的存取/a/b,他們仍然可以遞迴呼叫 的 GetParametersByPath API 操作/a並檢視 /a/b。
針對信任的管理員,您可以使用類似以下範例的政策,提供所有 Systems Manager 參數 API 操作的完整存取。此政策可讓使用者完整存取所有以 dbserver-prod-* 開頭的生產參數。
拒絕許可
每個 API 都是唯一的,且具有不同的操作和許可,您可以單獨允許或拒絕它們。任何政策中的明確拒絕會覆寫任何允許。
注意
default AWS Key Management Service (AWS KMS) 金鑰具有 內所有 IAM 主體的Decrypt許可 AWS 帳戶。如果您希望帳戶中的SecureString參數有不同的存取層級,我們不建議您使用預設金鑰。
如果您希望擷取參數值的所有 API 操作具有相同的行為,那麼您可以在政策中使用 GetParameter* 等模式。下列範例會顯示如何拒絕以 prod-* 開頭的所有參數的 GetParameter、GetParameters、GetParameterHistory 以及 GetParametersByPath。
下列範例顯示如何拒絕某些命令,同時允許使用者在以 prod-* 開頭的所有參數中執行其他命令。
注意
參數歷程包含所有參數版本,包括目前的參數版本。因此,如果 GetParameter、GetParameters 和 GetParameterByPath 的使用者許可遭到拒絕、但允許 GetParameterHistory 的許可,則透過使用 GetParameterHistory,他們可以看到當前參數,包括 SecureString 參數。
使用 AWS KMS 金鑰加密和解密參數
Parameter Store SecureString 參數使用 AWS KMS 金鑰進行 encryption。 會使用 AWS 受管金鑰 或客戶受管金鑰來 AWS KMS 加密值。如需 AWS KMS 和 的詳細資訊 AWS KMS key,請參閱 AWS Key Management Service 開發人員指南。
客戶帳戶中的所有使用者都可以存取預設 AWS 受管金鑰。您可以在 AWS KMS 主控台的AWS 受管金鑰aws/ssm 標識。您可能想要使用預設金鑰來加密SecureString參數,同時防止使用者使用SecureString參數。在此情況下,IAM 政策必須明確拒絕存取預設金鑰,如下列政策範例所示。
使用客戶受管金鑰時,授予委託人存取參數或參數路徑的 IAM 政策必須提供金鑰的明確kms:Encrypt許可。例如,下列政策允許委託人建立、更新和檢視以指定 AWS 區域 和 prod- 開頭的SecureString參數 AWS 帳戶。
注意
使用指定的客戶自管金鑰建立加密的進階參數時,需要 kms:GenerateDataKey 許可。
如果您需要對帳戶中的SecureString參數進行精細存取控制,請使用客戶受管金鑰來保護和限制對這些參數的存取。我們也建議使用 AWS CloudTrail 來監控SecureString參數活動。
如需詳細資訊,請參閱下列主題:
-
《IAM 使用者指南》中的政策評估邏輯
-
使用《AWS Key Management Service 開發人員指南》中的金鑰政策 AWS KMS
-
如需詳細資訊,請參閱《AWS CloudTrail 使用者指南》中的使用 CloudTrail 事件歷史記錄檢視事件。
允許受管節點存取特定參數
若要控制受管節點可以擷取哪些Parameter Store參數,您可以將 IAM 政策連接至執行個體角色。如果您在建立SecureString參數時選擇 參數類型,Systems Manager 會使用 AWS KMS 來加密參數值。您可以從 執行下列命令 AWS 受管金鑰 來檢視 AWS CLI。
aws kms describe-key --key-id alias/aws/ssm
下列範例允許節點僅取得以 prod- 開頭的參數的參數值。如果參數為 SecureString 參數,則節點會使用 AWS KMS來解密字串。
注意
執行個體政策 (例如以下範例) 會指派給 IAM 中的執行個體角色。如需設定存取 Systems Manager 功能的詳細資訊,包括如何將政策指派給使用者和執行個體,請參閱 使用 Systems Manager 管理 EC2 執行個體。