

# 限制 `SecureString` 参数值的解密
<a name="ps-restrict-decryption"></a>

`SecureString` 参数值使用 Amazon KMS 密钥进行加密。无论调用哪个 Parameter Store 操作，任何检索解密值的主体都必须对该密钥拥有 `kms:Decrypt` 权限。这样一来，Amazon KMS 密钥权限就能成为控制 `SecureString` 参数的有效手段，因为单个 Amazon KMS 策略语句可同时应用于所有检索路径。

要有效使用此控制方法，请使用客户自主管理型密钥来加密敏感参数，而非 Amazon 托管式密钥。

**重要**  
Parameter Store（`aws/ssm`）的 Amazon 托管式密钥会向 Amazon Web Services 账户中的所有 IAM 主体授予 `Decrypt` 权限。如需要对账户中的 `SecureString` 参数执行不同级别的访问控制，请勿使用默认密钥对其进行加密。

有关密钥策略示例，包括如何拒绝对 Amazon 托管式密钥的访问，以及如何授予对客户自主管理型密钥的访问权限，请参阅[使用 Amazon KMS 密钥加密和解密参数](parameter-store-setting-up.md#ps-kms-permissions)。

**注意**  
限制 `kms:Decrypt` 会阻止主体读取加密的*值*。这样做不会隐藏参数的名称、描述或其他未加密的元数据，也不会阻止列出该参数。如[限制对特定参数和路径的访问](ps-restrict-parameter-access.md)所述，使用 Parameter Store 操作拒绝来控制这些内容。