【问题标题】:Why we give permissions to Lambda while fetching Kinesis Stream and not the other way around?为什么我们在获取 Kinesis Stream 时向 Lambda 授予权限,而不是相反?
【发布时间】:2019-11-10 02:20:15
【问题描述】:

我有一个从 Kinesis 流中获取数据的 lambda。在分配权限时,我们为 lambda 执行角色提供了访问 Kinesis 流的策略。但是,我们没有向 Kinesis 授予任何权限,它允许 lambda 从中获取数据?为什么会这样?

同样,带有 Dynamodb 的 lambda 也是类似的情况。但是当我们确实将 lambda 与 Api 网关集成时,在这种情况下,我们为 lambda 添加了 API 网关可以调用它的权限。

我想了解 IAM 权限和角色的基本概念,它们将定义我们应该授予哪些资源权限以及不应该授予哪些资源。在了解IAM的这些概念时,我很天真。你能给出的关于这件事的任何解释都会非常有帮助。

【问题讨论】:

    标签: amazon-web-services permissions aws-lambda amazon-iam amazon-kinesis


    【解决方案1】:

    Lambda 执行角色授予其访问必要 AWS 服务和资源的权限。 Lambda 将在执行期间担任该角色。

    正如您所提到的,这就是您授予 Kinesis(或)DynamoDB 权限的原因,因为您在 lambda 中对这些服务执行操作

    但是,您为 API Gateway 添加的权限是基于资源的策略,允许 API Gateway(或任何 AWS 服务)调用您的函数。

    参考: https://docs.aws.amazon.com/lambda/latest/dg/lambda-permissions.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-24
      • 1970-01-01
      • 2014-09-12
      • 1970-01-01
      • 1970-01-01
      • 2021-03-06
      • 1970-01-01
      • 2019-12-03
      相关资源
      最近更新 更多