【问题标题】:Cross-account-access Lambda S3 with access key带访问密钥的跨账户访问 Lambda S3
【发布时间】:2021-03-14 21:20:19
【问题描述】:
我对 AWS 还很陌生,并尝试使用 Lambda 函数将对象放在 S3 上,该函数位于存储桶之外的另一个账户中。从 S3 存储桶的帐户中,我刚刚获得了一个角色的访问密钥和秘密访问密钥,它可以将东西放入存储桶中。我只是拥有使用 Lambda 函数的帐户。
通过搜索答案,我发现我需要修改另一个帐户的存储桶策略,这不是一个真正的解决方案。
有没有可以直接在 lambda 函数中使用访问密钥和密钥的解决方案?
非常感谢您提前提供的帮助。
【问题讨论】:
标签:
amazon-web-services
amazon-s3
aws-lambda
【解决方案1】:
有没有可以直接在 lambda 函数中使用访问密钥和密钥的解决方案?
这是一种非常不好的做法,不应使用。正确的方法是通过cross-account roles和specifically for lambda。
尽管如此,如果由于某种原因您必须在 lambda 函数中使用访问密钥和秘密密钥,那么每个 AWS 开发工具包客户端都允许您指定它们。例如,在 boto3 中,对于 python,您可以使用 Session 或 client 来提供凭据。对于client:
import boto3
s3 = boto3.client('s3', aws_secret_access_key=<ddd>, aws_session_token=<ddfdfd>