从 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
最近使用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