我以前从未这样做过。我想做的是允许已经在我自己的网站上进行了身份验证的客户通过我自己网站上的仪表板将文件上传到 S3 存储桶。以下是该过程的细分。
我正在阅读 SDK for PHP V3 文档,其中指出,“[我]必须确定[我的]代码如何通过 AWS 进行身份验证。”我已阅读 建议的链接,但仍不清楚对我来说,我应该使用哪种身份验证模式作为身份提供者
我应该创建一个 IAM 用户并使用其凭证吗?在做了更多阅读之后,这对我来说似乎是最合适的方法(我缺乏这方面的经验和知识)...还有另一种方法吗推荐的还是更安全的方式?
有两种方法可以为您的应用程序提供 AWS 凭证。
如果您的应用程序在 Amazon EC2 实例上运行,那么您应该:
临时凭证。 如果您的应用程序在
AWS 之外运行,您应该创建一个具有所需权限的 IAM 用户。然后,您可以为该 IAM 用户创建安全凭证,该凭证将具有访问密钥和秘密密钥(类似于用户名和密码)。然后,应通过运行 AWS CLI aws configure
命令将这些凭证存储在您的计算机上。这会将凭据存储在配置文件中。当您的 PHP 应用程序使用适用于 PHP 的 AWS 开发工具包时,它将自动检索这些凭证并在与 AWS 通信时使用它们。
也是明智之举,它可用于让最终用户将文件上传到 S3 存储桶。该存储桶仍然是私有的,但预签名的 URL 将允许他们在特定时间段(例如 5 分钟)内上传文件。这可能是允许他们将文件上传到您的系统的另一种方式。