从 AWS PHP SDK 调用操作时,有没有办法以不可读格式保护其负载内容?

When calling an operation from the AWS PHP SDK, is there a way to secure its payload contents in a non-readable format?

最近使用PHP SDK测试了SecretsManager服务下的一些操作。一切正常。但是,我需要确保使用 createSecret 操作发送的信息不受任何第三方威胁。

所以我做了一个小调查来查看请求的正文内容。我能够在 StreamRequestPayloadMiddleware.php.

下查看此内容

使用json_decode修改请求内容后,发现:

array(4) { 
    ["Name"]=> string(9) "demo/Test" 
    ["SecretString"]=> string(39) "{"username":"Tom","password":"Test123"}" 
    ["KmsKeyId"]=> string(xx) "arn:aws:kms:xx-xxxx-x:xxxxxxxxxx:key/xxx-xxx-xxx-xxx-xxxxxxxxxx" 
    ["ClientRequestToken"]=> string(xx) "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" 
} 

然后我意识到 SecretString 的明文内容在请求正文中可见。

我知道 SecretsManager 使用 KMS 密钥来加密秘密值;但是,这只会在操作发送到服务器端(AWS 控制台)后发生。

因此,我需要知道是否有任何方法可以以 加密格式 保护有效负载内容,以便 SecretsManager 服务或 AWS 可以 解压它内容恢复到其原始值,而不以新的加密格式保存。

默认情况下,用户和服务端点之间的流量通过安全 HTTPS/TLS 连接进行加密。

https://docs.aws.amazon.com/cli/latest/userguide/data-protection.html