【问题标题】:boto3 lambda client create_function using default role?boto3 lambda客户端create_function使用默认角色?
【发布时间】:2021-03-26 04:10:16
【问题描述】:

目前我需要以编程方式生成一个 AWS lambda 函数。我通过使用以下代码来做到这一点。

import boto3

session = boto3.Session(aws_access_key_id="[FAKE_ACCESS_KEY]",
                        aws_secret_access_key="[FAKE_SECRET_KEY]",
                        region_name="us-east-1")

lambda_client = session.client("lambda")

lambda_response = lambda_client.create_function(FunctionName="MyCoolFunction",
                              Runtime="python3.7",
                              Role="[ARN_TO_MANUALLY_CREATED_ROLE]",
                              Handler="main.handler",
                              Code={"ZipFile":open("lambda_aws.zip", "rb").read()})

我想知道是否可以将[ARN_TO_MANUALLY_CREATED_ROLE] 替换为具有最少权限的“默认”角色 ID - 所以我不必手动进入控制台并创建它。

【问题讨论】:

  • 您也可以通过检查角色是否不存在以编程方式创建角色
  • @JunedAhsan 我有权创建Lambda 函数,但不能创建IAM 角色——我也不会被允许。

标签: amazon-web-services aws-lambda boto3


【解决方案1】:

AWS 没有可用于执行 lambda 的“默认”角色,您必须将其创建为脚本的一部分,或使用之前创建的角色。

也就是说,他们确实有一个您可以使用的 few 托管 Lambda 执行策略,但显然它们附加到您无法创建的角色。

当我遇到这些类型的情况时,我会查看是否有一个角色可以从源帐户到目标帐户来执行任何需要的操作。有时要求客户提前为您担任角色更容易 - 然后要求他们让您在他们的帐户中制作一些东西。这使他们可以控制您可以做什么。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-05
    • 1970-01-01
    • 1970-01-01
    • 2020-03-09
    相关资源
    最近更新 更多