通过input transformer向事件总线事件注入secret values。安全与否?

0

【以下的问题经过翻译处理】 我有一个由事件总线触发的 Lambda 函数(主要是警报状态更改等事件)。在函数内部,对于每种不同类型的事件(警报),我需要向不同的终端发送请求,并且对于这些终端,我需要不同的 API_KEY。我正在考虑如何将 API_KEY 传递给函数。显而易见的方法是使用环境变量,但存在以下问题:

  1. 这将导致有大量的环境变量。
  2. 每次 Lambda 调用都可以访问不与该调用相关的 API_KEY,我不太喜欢这种情况。

另一个我考虑过的选项是使用事件总线输入转换器来注入 API_KEY 到调用中。这种方式可以确保每次调用只接收到正确的 API_KEY。

问题是:这种方法是否可行,或者是否有不妥之处?相比将 API_KEY 存储在函数的环境变量中,我认为安全风险并不会更大,但我可能是错误的。

profile picture
EXPERTE
gefragt vor 5 Monaten11 Aufrufe
1 Antwort
0

【以下的回答经过翻译处理】 只有当 API 密钥是原始事件的一部分时,才能使用Input Transformer将其包含在内。否则,Transformer无法从任何地方获取它。

如果有很多 API 密钥,并且不时添加新密钥或更改现有密钥,我不建议使用环境变量,因为每次更改都需要重新部署函数。倒不如将 API 密钥存储在 SSM、SecretsManager、DynamoDB 或 S3 中,并在函数启动时读取它们。

我明白你担心在只需要一个密钥的情况下访问所有密钥,但无论如何你都需要这样做,除非 API 密钥是在事件本身中发送的。

profile picture
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen