將參數組織到 層級 - AWS Systems Manager

若我們提供該指南英語版本的翻譯,在有任何牴觸的狀況下請以英文版本的指南為主。其透過機器翻譯提供翻譯。

將參數組織到 層級

將數十或數百個參數作爲固定列表進行管理非常耗時, 容易出現錯誤。可能很難確定 任務。這意味着您可能會意外使用錯誤的參數,或者您可能會創建 使用相同的配置數據的多個參數。

您可以使用參數層級來幫助您組織和管理參數。A 層級是一個參數名稱,其中包含您通過使用前進 斜線(/)。

參數層級示例

以下示例使用名稱中的三個層級級別來識別 以下內容:

/環境/計算機/應用程序/數據類型

/Dev/DBServer/MySQL/db-string13

您可以創建最多15個層級的層級。我們建議您 創建層級,反映您 環境,如以下示例所示:

  • 您的 持續整合連續 交付 環境(CI/CD工作流程)

    /Dev/DBServer/MySQL/db-string

    /Staging/DBServer/MySQL/db-string

    /Prod/DBServer/MySQL/db-string

  • 使用容器的應用程序

    /MyApp/.NET/Libraries/my-password
  • 您的業務組織

    /Finance/Accountants/UserList

    /Finance/Analysts/UserList

    /HR/Employees/EU/UserList

參數層級規範化了創建參數和製作參數的方式 更易於管理參數。參數層級也可以幫助您 識別配置任務的正確參數。這有助於您避免 創建具有相同配置數據的多個參數。

您可以創建一個層級,允許您在 不同的環境,如以下示例所示, 開發和分期環境。

/DevTest/MyApp/database/my-password

然後,您可以爲您的生產環境創建唯一的密碼, 示例如下:

/prod/MyApp/database/my-password

您不需要指定參數層級。您可以創建 參數。它們被稱爲 參數。爲了向後兼容,所有參數創建於 參數存放區 在層級發佈之前是根參數。該系統可同時處理 以下參數作爲根參數。

/parameter-name

parameter-name

有關如何使用參數層級的示例,請參閱 演練: 管理參數 使用層級(AWS CLI).

在中查詢參數 層級

使用層級的另一個好處是能夠查詢所有 層級中的參數,方法是使用 GetParametersByPath API操作。例如,如果您從 AWS CLI, 系統返回IIS級別中的所有參數。

aws ssm get-parameters-by-path --path /Dev/Web/IIS

查看已加密 SecureString 層級中的參數, 指定路徑和 --with-decryption 參數,如 示例如下。

aws ssm get-parameters-by-path --path /Prod/ERP/SAP --with-decryption

限制訪問 參數存放區 API 行動

使用 AWS Identity and Access Management (IAM)政策,您可以提供或限制用戶訪問 參數存放區 API操作和內容。

在以下示例策略中,首先授予用戶運行 PutParameter API對 AWS 客戶 123456789012 在 美國東部 (俄亥俄) 區域 (us-east-2)。但是,用戶 限制更改值 現有 因爲 Overwrite 選項被明確拒絕 的 PutParameter 行動。換句話說,分配了 此策略可以創建參數,但不能更改現有 參數。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:PutParameter" ], "Resource": "arn:aws:ssm:us-east-2:123456789012:parameter/*" }, { "Effect": "Deny", "Action": [ "ssm:PutParameter" ], "Condition": { "StringEquals": { "ssm:Overwrite": [ "true" ] } }, "Resource": "arn:aws:ssm:us-east-2:123456789012:parameter/*" } ] }