本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
管理参数层
Parameter Store,一种能力 Amazon Systems Manager,包括标准参数和高级参数。需单独配置参数以使用标准参数层(默认层)或高级参数层。
您可以随时将标准参数更改为高级参数,但不能将高级参数恢复为标准参数。这是因为将高级参数恢复为标准参数会导致系统将参数的大小从 8KB 缩小到 4KB,从而导致数据丢失。恢复参数还会移除所有应用于参数的策略。此外,高级参数使用不同于标准参数的加密形式。有关更多信息,请参阅《Amazon Key Management Service 开发人员指南》中的 Amazon Systems Manager Parameter Store 如何使用 Amazon KMS。
如果您不再需要高级参数,或者如果您不想再为高级参数支付费用,请删除它并将它重新创建为新的标准参数。
下表介绍了两个层之间的区别。
Standard | 高级 | |
---|---|---|
允许的参数的总数 (按 Amazon Web Services 账户 和 Amazon Web Services 区域) |
10000 |
100000 |
参数值的最大大小 |
4 KB |
8 KB |
提供参数策略 |
否 |
是 有关更多信息,请参阅 分配参数策略。 |
费用 |
无额外费用 |
需支付费用 有关更多信息,请参阅Amazon Systems Manager
定价Parameter Store |
指定默认参数层
在创建或更新参数的请求(即 PutParameter
操作)中,您可以指定要在请求中使用的参数层。以下是使用 Amazon Command Line Interface
(Amazon CLI) 的示例。
无论何时在请求中指定层,Parameter Store 都会根据您的请求创建或更新参数。不过,如果没有在请求中显式指定层,Parameter Store 默认层设置会确定在哪个层中创建参数。
在开始使用 Parameter Store 时,默认层是标准参数层。如果使用高级参数层,则可以将以下其中一项指定为默认值:
-
高级:在使用该选项时,Parameter Store 会将所有请求作为高级参数进行评估。
-
智能分层:在使用该选项时,Parameter Store 会评估每个请求以确定参数是标准还是高级参数。
如果请求不包含任何需要使用高级参数的选项,则会在标准参数层中创建参数。如果在请求中包含一个或多个需要使用高级参数的选项,则 Parameter Store 会在高级参数层中创建参数。
智能分层的优点
以下是您可能选择智能分层作为默认层的原因。
成本控制 - 除非绝对需要使用高级参数,否则智能分层将始终创建标准参数以帮助控制参数相关成本。
自动升级到高级参数层 - 在对需要将标准参数升级到高级参数的代码进行更改时,智能分层将为您处理转换。您无需更改代码即可进行升级。
以下是一些自动升级的示例:
-
您的 Amazon CloudFormation 模板在运行时会预置许多参数。当此过程导致您达到标准参数层中的 10,000 个参数配额时,Intelligent-Tiering 会自动将您升级到高级参数层,并且您的流程不会中断。 Amazon CloudFormation
-
您需将证书值存储在一个参数中,定期轮换证书值,并且内容小于标准参数层的 4 KB 配额。如果替换证书值超过 4 KB,智能分层会自动将参数升级到高级参数层。
-
您希望将大量现有标准参数与参数策略相关联,这需要使用高级参数层。并非必须在更新参数的所有调用中包含
--tier Advanced
选项,智能分层会自动将参数升级到高级参数层。无论何时引入高级参数层条件,智能分层选项都会将参数从标准升级到高级。
需要使用高级参数的选项包括以下几项:
-
参数的内容大小超过 4 KB。
-
参数使用参数策略。
-
当前,您的 Amazon Web Services 账户 参数已超过 10,000 个 Amazon Web Services 区域。
默认层选项
您可以指定为默认值的层选项包括以下内容。
-
Standard (标准) – 在开始使用 Parameter Store 时,默认层是标准参数层。使用标准参数层,您可以为每个参数创建 10,000 个参数 Amazon Web Services 区域 。 Amazon Web Services 账户每个参数的内容大小最大可等于 4 KB。标准参数不支持参数策略。使用标准参数层不会产生额外的费用。选择标准作为默认层表示 Parameter Store 将始终尝试为未指定层的请求创建标准参数。
-
高级-使用高级参数层为每个参数创建最多 100,000 个参数 Amazon Web Services 区域 。 Amazon Web Services 账户每个参数的内容大小最大可等于 8 KB。高级参数支持参数策略。使用高级参数层会产生相应的费用。有关更多信息,请参阅Amazon Systems Manager 定价Parameter Store
。选择高级作为默认层表示 Parameter Store 将始终尝试为未指定层的请求创建高级参数。 注意
选择高级参数层时,您需要明确授权 Amazon 就您创建的任何高级参数向您的账户收取相应费用。
-
智能分层 – 使用智能分层选项,Parameter Store 可以根据请求内容确定是使用标准参数层,还是使用高级参数层。例如,如果您运行命令来创建内容小于 4 KB 的参数,并且当前 Amazon Web Services 区域 的参数少于 10,000 个 Amazon Web Services 账户,并且您没有指定参数策略,则会创建一个标准参数。如果您运行命令来创建内容超过 4 KB 的参数,则当前 Amazon Web Services 区域 的参数已经超过 10,000 个 Amazon Web Services 账户,或者您指定了参数策略,则会创建一个高级参数。
注意
当您选择 Intelligent-Tiering 时,请明确授权 Amazon 向您的账户收取您创建的任何高级参数的费用。
您可以随时更改 Parameter Store 默认层设置。
配置权限以指定 Parameter Store 默认层
Parameter Store通过执行以下任一操作,验证您是否有权在 Amazon Identity and Access Management (IAM) 中更改默认参数层:
-
确保将
AdministratorAccess
策略附加到您的 IAM 实体(例如用户、组或角色)。 -
确保您有权使用以下 API 操作更改默认层设置:
向 IAM 实体授予以下权限,以允许用户查看和更改 Amazon Web Services 账户 内特定 Amazon Web Services 区域 中参数的默认层设置
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:GetServiceSetting" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:UpdateServiceSetting" ], "Resource": "arn:aws:ssm:
region
:account-id
:servicesetting/ssm/parameter-store/default-parameter-tier" } ] }
管理员可以通过分配以下权限来指定只读权限。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:GetServiceSetting" ], "Resource": "*" }, { "Effect": "Deny", "Action": [ "ssm:ResetServiceSetting", "ssm:UpdateServiceSetting" ], "Resource": "*" } ] }
要提供访问权限,请为您的用户、组或角色添加权限:
-
通过身份提供商在 IAM 中托管的用户:
创建适用于身份联合验证的角色。按照《IAM 用户指南》中为第三方身份提供商创建角色(联合身份验证)的说明进行操作。
-
IAM 用户:
-
创建用户可以担任的角色。按照《IAM 用户指南》中为 IAM 用户创建角色的说明进行操作。
-
(不推荐使用)将策略直接附加到用户或将用户添加到用户群组。按照《IAM 用户指南》中向用户添加权限(控制台)中的说明进行操作。
-
指定或更改 Parameter Store 默认层(控制台)
以下过程说明如何使用 Systems Manager 控制台来指定或更改当前 Amazon Web Services 账户 和的默认参数层 Amazon Web Services 区域。
提示
如果您尚未创建参数,则可以使用 Amazon Command Line Interface (Amazon CLI) 或 Amazon Tools for Windows PowerShell 来更改默认参数层。有关信息,请参阅指定或更改 Parameter Store 默认层 (Amazon CLI)和指定或更改 Parameter Store 默认层 (PowerShell)。
指定或更改 Parameter Store 默认层
打开 Amazon Systems Manager 控制台,网址为 https://console.aws.amazon.com/systems-manager/
。 在导航窗格中,选择 Parameter Store。
-或者-
如果首先打开 Amazon Systems Manager 主页,请选择菜单图标 ( ) 以打开导航窗格,然后选择Parameter Store。
-
选择 Settings 选项卡。
-
选择 Change default tier (更改默认层)。
-
选择以下任一选项。
-
Standard
-
高级
-
智能分层
有关这些选项的信息,请参阅 指定默认参数层。
-
-
查看消息,然后选择确认。
如果要稍后更改默认层设置,请重复该过程并指定不同的默认层选项。
指定或更改 Parameter Store 默认层 (Amazon CLI)
以下过程说明如何使用更改当前 Amazon Web Services 账户 和的默认参数层设置 Amazon Web Services 区域。 Amazon CLI
使用 Amazon CLI 指定或更改 Parameter Store 默认层
-
打开 Amazon CLI 并运行以下命令来更改 Amazon Web Services 区域 中特定参数层的默认参数层设置 Amazon Web Services 账户。
aws ssm update-service-setting --setting-id arn:aws:ssm:
region
:account-id
:servicesetting/ssm/parameter-store/default-parameter-tier --setting-valuetier-option
re
gion 表示 Amazon Web Services 区域 支持的标识符 Amazon Systems Manager,例如us-east-2
美国东部(俄亥俄州)地区的标识符。有关支持的region
值的列表,请参阅《Amazon Web Services 一般参考》中的 Systems Manager service endpoints 的 Region 列。tier-option
值包括Standard
、Advanced
和Intelligent-Tiering
。有关这些选项的信息,请参阅 指定默认参数层。如果此命令成功,则无任何输出。
-
运行以下命令以查看当前 Amazon Web Services 账户 和Parameter Store中的当前默认参数层服务设置 Amazon Web Services 区域。
aws ssm get-service-setting --setting-id arn:aws:ssm:
region
:account-id
:servicesetting/ssm/parameter-store/default-parameter-tier系统返回类似于以下内容的信息。
{ "ServiceSetting": { "SettingId": "/ssm/parameter-store/default-parameter-tier", "SettingValue": "Advanced", "LastModifiedDate": 1556551683.923, "LastModifiedUser": "arn:aws:sts::123456789012:assumed-role/Administrator/Jasper", "ARN": "arn:aws:ssm:us-east-2:123456789012:servicesetting/ssm/parameter-store/default-parameter-tier", "Status": "Customized" } }
如果要再次更改默认层设置,请重复该过程并指定不同的 SettingValue
选项。
指定或更改 Parameter Store 默认层 (PowerShell)
以下过程说明如何使用适用于 Windows 的工具 PowerShell 来更改 Amazon Web Services 账户 Amazon Web Services 区域 中特定参数层的默认参数层设置。
要指定或更改Parameter Store默认等级,请使用 PowerShell
-
更改当前Parameter Store版本中的默认等级, Amazon Web Services 账户 然后 Amazon Web Services 区域 使用 Amazon Tools for PowerShell (工具 for PowerShell)。
Update-SSMServiceSetting -SettingId "arn:aws:ssm:
region
:account-id
:servicesetting/ssm/parameter-store/default-parameter-tier" -SettingValue "tier-option
" -Regionregion
re
gion 表示 Amazon Web Services 区域 支持的标识符 Amazon Systems Manager,例如us-east-2
美国东部(俄亥俄州)地区的标识符。有关支持的region
值的列表,请参阅《Amazon Web Services 一般参考》中的 Systems Manager service endpoints 的 Region 列。tier-option
值包括Standard
、Advanced
和Intelligent-Tiering
。有关这些选项的信息,请参阅 指定默认参数层。如果此命令成功,则无任何输出。
-
运行以下命令以查看当前 Amazon Web Services 账户 和Parameter Store中的当前默认参数层服务设置 Amazon Web Services 区域。
Get-SSMServiceSetting -SettingId "arn:aws:ssm:
region
:
:servicesetting/ssm/parameter-store/default-parameter-tier" -Regionaccount-id
region
re
gion 表示 Amazon Web Services 区域 支持的标识符 Amazon Systems Manager,例如us-east-2
美国东部(俄亥俄州)地区的标识符。有关支持的region
值的列表,请参阅《Amazon Web Services 一般参考》中的 Systems Manager service endpoints 的 Region 列。系统返回类似于以下内容的信息。
ARN : arn:aws:ssm:us-east-2:123456789012:servicesetting/ssm/parameter-store/default-parameter-tier LastModifiedDate : 4/29/2019 3:35:44 PM LastModifiedUser : arn:aws:sts::123456789012:assumed-role/Administrator/Jasper SettingId : /ssm/parameter-store/default-parameter-tier SettingValue : Advanced Status : Customized
如果要再次更改默认层设置,请重复该过程并指定不同的 SettingValue
选项。
将标准参数更改为高级参数
使用以下过程可将现有的标准参数更改为高级参数。有关如何创建新的高级参数的信息,请参阅 创建 Systems Manager 参数。
将标准参数更改为高级参数
打开 Amazon Systems Manager 控制台,网址为 https://console.aws.amazon.com/systems-manager/
。 在导航窗格中,选择 Parameter Store。
-或者-
如果首先打开 Amazon Systems Manager 主页,请选择菜单图标 ( ) 以打开导航窗格,然后选择Parameter Store。
-
选择一个参数,然后选择 Edit (编辑)。
-
对于 Description (说明),输入有关此参数的信息。
-
选择 Advanced (高级)。
-
对于 Value (值),输入此参数的值。高级参数有最大值限制 8 KB。
-
选择保存更改。