gpt4 book ai didi

php - 如何为 PHP 设置 AWS S3 凭证

转载 作者:行者123 更新时间:2023-12-05 06:36:00 24 4
gpt4 key购买 nike

我是 S3 的新手,很难通过文件设置我的凭据。这是我目前使用硬编码凭证的有效解决方案(IAM_KEY 和 IAM_SECRET 是用于存储我的 key 的变量):

// Using hard-coded credentials
$s3 = new S3Client([
'version' => 'latest',
'region' => 'us-east-1',
'credentials' => [
'key' => $IAM_KEY,
'secret' => $IAM_SECRET ,
],
]);

但是,我想将 key 和 secret 存储在一个文件中,这样当我将我的文件推送到 GitHub 上时,它是不可见的。这是我无效的尝试:

// using credential file - not working :(
$s3 = S3Client::factory(
array(
'profile' => 'my_profile',
'version' => 'latest',
'region' => 'us-east-1'
));

我的凭证文件如下:

[my_profile]
aws_access_key_id = someKey
aws_secret_access_key = someKey

我已经阅读了 AWS 上的文档 ( https://docs.aws.amazon.com/cli/latest/userguide/cli-config-files.html ),但仍然卡住了。它提到我必须将我的凭证文件存储在 ~/.aws/credentials 中,但是,我找不到该目录(我需要先安装 AWS 的命令行工具吗?)。另外,凭据文件的扩展名是什么?

我已经坚持了好几个小时,所以任何帮助都将不胜感激。

最佳答案

  1. 对于 AWS 配置文件(Creds 文件)

    是的,您需要安装 AWS CLI 工具,然后使用以下命令设置配置文件

    aws 配置

    访问此 link用于 CLI 配置。

  2. 要在您的应用程序中使用第 1 步中配置的凭据,您应该使用 AWS SDK 中的凭据提供程序。请阅读此link

  3. 我的建议:阅读 IAM 配置文件 -> here
    您的应用程序可以从附加到 AWS 资源的 IAM 角色获取 S3 权限,无论是 lambda 还是 EC2

    您应该跳过将 creds 传递给客户端或使用 Creds Provider。

    因为当您在代码中创建 S3 客户端时。

    在本地环境中:配置 CLI 后。 S3 Client 会自动在多个地方查找凭证,例如 env vars 或 ~/.aws 目录。

    部署时:它将从附加到部署了 lambda 或 EC2 的 AWS 资源的 IAM 角色中选择权限。

关于php - 如何为 PHP 设置 AWS S3 凭证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49443390/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com