【发布时间】:2021-12-11 22:39:32
【问题描述】:
我尝试使用我的个人 aws 凭证在我的本地控制台中运行 aws lambda publish-layer-version 命令行,但是对于存储 zip 层的存储桶,我遇到了 Amazon S3 Access Denied 错误。
aws lambda publish-layer-version --layer-name layer_name --content S3Bucket=bucket_name,S3Key=layers/libs.zip
An error occurred (AccessDeniedException) when calling the PublishLayerVersion operation: Your access has been denied by S3, please make sure your request credentials have permission to GetObject for {URI of layer in my S3 bucket}. S3 Error Code: AccessDenied. S3 Error Message: Access Denied
当我在同一个存储桶中运行aws cp 命令时,一切正常
aws s3 cp s3://bucket_name/layers/libs.zip libs.zip
所以我假设 aws lambda 命令行使用的角色与我运行 aws cp 命令行时使用的角色不同?或者也许它使用了另一种我不知道的机制。但我在 AWS 文档中找不到任何关于它的信息。 我刚刚读到 AWS 可以返回 403 它找不到文件。所以也许这可能是命令语法的问题?
感谢您的帮助。
【问题讨论】:
-
你能分享你运行发布的完整命令吗?它看起来像这样吗: aws lambda publish-layer-version --layer-name hello-world-layer --description "Hello World Layer" --license-info "MIT" --content S3Bucket=lambda-layers- us-east-1-1234567890,S3Key=hello-world-layer.zip
-
aws lambda publish-layer-version --layer-name get_paying_user_classification --content S3Bucket=bucket-name,S3Key=layers/get_paying_user_classification_python_libs.zip
-
任何想法@TobievanderMerwe ?
-
您能否提供有效的
s3 cp命令? -
还有 - 您对存储桶有任何资源策略吗?
标签: amazon-web-services aws-lambda amazon-iam aws-cli