当前位置: 首页 > 知识库问答 >
问题:

具有IAM凭证的交叉账户AWS Lambda

张成济
2023-03-14

我有一个关于在Lambda函数中运行的跨帐户IAM问题。(我知道人们可能会使用STS,但这个软件包真的不值得保护,我不想通过链接帐户)

账户“一”。

S3 – package “s3://foo/foo”

IAM credentials “pkg_creds” for bucket "s3://foo" 

账户“B”

Lamba function “gogo” runs

In this Lambda function, it attempts to use boto3 and the pkg_creds to
download package “s3://foo/foo”, but if fails with this error:

 **The provided token is malformed or otherwise invalid.**

Lambda是只读的,但是我相信boto3不会将凭据写入~/. aws,如果我使用boto3.client(不是会话)。不过我也把AWS_CONFIG_FILE设为 /tmp以防万一。它仍然失败。我怀疑我的提议是不可能的,因为LAMBDA有不可变的AWS凭据,在那里你不能改变范围,即使是显式给boto3的范围。

让我知道你的想法。我可以尝试使用Faragate来完成这项工作,但Lambda函数更易于维护和部署。

提前谢谢!

共有3个答案

郎鹤龄
2023-03-14

故障排除后,更多。问题是我参加了在lambda函数上设置的“环境变量”会话,但不是在我的ec2实例上。所以我总是使用lambda会话密钥,它似乎超越了显式密钥和秘密。

莘羽
2023-03-14

用户错误。我可以验证lambda函数中的bot3是否可以在其作用域之外使用凭据。

常自怡
2023-03-14

Lambda没有使用~/。awsconfig文件,默认情况下使用环境变量。有很多方法可以在boto3中配置AWS凭据。您应该能够在Lambda函数中使用明确的AWS凭据创建新的boto3客户端,如下所示:

client = boto3.client(
    's3',
    aws_access_key_id=ACCOUNT_A_ACCESS_KEY,
    aws_secret_access_key=ACCOUNT_A_SECRET_KEY
)

并将ACCOUNT\u A\u ACCESS\u KEYACCOUNT\u SECRET\u KEY作为环境变量传递给函数。

 类似资料:
  • 问题内容: 我希望使用Amazon的Elasticsearch服务器在Django数据库中搜索长文本字段。但是,我也不想向那些没有登录并且不想通过模糊性或某些IP限制策略依赖安全性的用户公开此搜索(除非它可以与现有的heroku应用完美配合,部署Django应用的位置)。 Haystack似乎在这方面还有很长的路要走,但是似乎没有一种简单的方法来配置它以使用Amazon的IAM凭据来访问Elast

  • 在ngram模型(字符ngram或单词袋)中,我们需要确保测试数据的词汇不被用于拟合或训练模型。 这就是sklearn TfidfVectorizer函数对两个函数(fit和transform)所做的操作。 还是一开始就适合模型一次(第一次)?

  • 交叉验证 那么什么时候才需要交叉验证呢?交叉验证用在数据不是很充足的时候。比如在我日常项目里面,对于普通适中问题,如果数据样本量小于一万条,我们就会采用交叉验证来训练优化选择模型。如果样本大于一万条的话,我们一般随机的把数据分成三份,一份为训练集(Training Set),一份为验证集(Validation Set),最后一份为测试集(Test Set)。用训练集来训练模型,用验证集来评估模型预

  • 网站通常会自己实现一套登录系统,需要账号和密码作为登录信息。使用凭证管理 API 进行账号密码凭证管理,即可方便快捷地实现自动登录,提升用户体验。 凭证管理 API 提供了 PasswordCredential 凭据对象,需要将账号密码信息转换为凭证之后再进行存取操作。 PasswordCredential 实现了 Credetial 的接口。PasswordCredential 初始化传入的对象

  • 我试图得到F1,LSTM模型交叉验证的精度和召回率。 我知道如何显示精度,但当我尝试使用交叉验证显示其他指标时,我会得到许多不同的错误。 我的代码如下: 我得到的错误如下: 纪元1/1 1086/1086 [==============================] - 18s 17ms/阶跃损失: 0.6014-acc: 0.7035 ----------------------------

  • 问题内容: 我正在尝试进行交叉验证,并且遇到一个错误:“找到的输入变量样本数量不一致:[18,1]” 我在熊猫数据框(df)中使用不同的列作为要素,最后一列作为标签。这源自UC Irvine的机器学习存储库。导入我过去使用过的交叉验证程序包时,我收到了一个错误消息,说明它可能已贬值。我将运行决策树,SVM和K-NN。 我的代码是这样的: 任何帮助将是巨大的! 问题答案: 不推荐使用该模块。新模块已