我需要向AWS Lambda函数发送另一项服务的密钥和密钥。我可以将密钥/秘密烘焙到函数中,但是当它/如果它们发生变化时我必须重新发布Lambda函数,这似乎是不可取的。
我通过SNS触发我的Lambda功能。所以我的工作流程将是:
我假设SNS发布是通过HTTPS完成的,因此Server -> SNS topic
将被加密。
我没有看到特别提到的是SNS -> Lambda
的转移。我可以再次认为它已经安全完成,但我正在寻找验证。
我在Slack Echo Service的AWS Lambda示例中看到的另一个选项是使用AWS Key Management
进行加密和解密。例如,使用python:
kms = boto3.client('kms')
key = kms.decrypt(CiphertextBlob = b64decode(event["key"]))['Plaintext']
secret = kms.decrypt(CiphertextBlob = b64decode(event["secret"]))['Plaintext']
在这里使用Key Management Encryption Services
是否过度/甚至是必要的还是我可以发送有效负载并让HTTPS处理它?</ p>
或
我是否应该公开抨击,甚至考虑在SNS -> Lambda
上发送类似密钥/密钥的内容,而应将其烘焙到Lambda函数本身。
答案 0 :(得分:0)
我无法回答有关SNS-&gt; Lambda加密的问题。我认为,就像你一样,这是通过HTTPS,但我认为你需要联系AWS支持以获得确认。
关于你的另一个问题,我认为KMS实际上非常适合这一点而不一定是矫枉过正。您可能考虑的另一个选项是将密钥存储在DynamoDB中。我也看到人们建议在S3中存储这样的Lambda配置数据。