【问题标题】:Dynamically set assumed role in lambda based on invokation基于调用在 lambda 中动态设置假定角色
【发布时间】:2022-11-17 04:32:10
【问题描述】:

在以下情况下,您将如何实施安全模型:

  • 用户能够“编写”他们自己的 lambda 函数并与其他用户共享。
  • 只应允许此 lambda 在每个用户的基础上动态承担角色。例如基于通过事件对象传递的“userId”键(原因是:lambda 函数将敏感文件写入 s3 存储桶中的“userId”特定路径)
  • 相同的 lambda 代码应该可以由其他用户使用他们各自的执行策略来执行,而不仅仅是复制粘贴 lambda 代码并且只是具有不同的执行策略。

有没有办法在运行时动态地授予 lambda 函数权限?例如,假设一个基于执行它的用户的角色?

【问题讨论】:

    标签: aws-lambda amazon-iam


    【解决方案1】:

    这应该可以使用策略变量。

    例如,如果您的“用户”是 IAM 用户并且您的 S3 存储桶的前缀包含用户名,那么您可以使用

    "Condition": {"StringLike": {"s3:prefix": ["${aws:username}/*"]}}
    

    在用于访问 S3 的 IAM 策略中,并将其附加到每个 IAM 用户。

    请参阅documentation on policy variables

    【讨论】:

      猜你喜欢
      • 2019-06-18
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      • 1970-01-01
      • 2019-09-21
      • 2015-09-30
      • 2017-07-17
      • 1970-01-01
      相关资源
      最近更新 更多