gpt4 book ai didi

amazon-web-services - AWS 凭证不起作用 - ~/.aws/credentials

转载 作者:行者123 更新时间:2023-12-02 11:56:33 27 4
gpt4 key购买 nike

我的 AWS 凭证有问题。我使用了在 ~/.aws/credentials 上创建的凭证文件,就像 AWS 文档中所写的一样。但是,apache 就是无法读取它。

首先,我收到此错误:

从实例配置文件元数据服务器检索凭据时出错。当您不在 Amazon EC2 内部运行时,您必须在创建客户端时在“key”和“secret”选项中提供您的 AWS 访问 key ID 和 secret 访问 key ,或者提供实例化的 Aws\Common\Credentials CredentialsInterface 对象。

然后我尝试了一些在互联网上找到的解决方案。例如,我尝试检查我的 HOME 变量。它是/home/ubuntu。我还尝试将我的凭据文件移动到/var/www 目录,即使它不是我的 Web 服务器目录。什么都没起作用。我仍然遇到同样的错误。

作为第二种解决方案,我发现我们可以直接调用 CredentialsProvider 并指示客户端上的目录。

https://forums.aws.amazon.com/thread.jspa?messageID=583216&#583216

错误已更改,但我无法使其工作:

无法从/.aws/credentials 读取凭证

我还看到我们可以使用 CredentialsProvider 的默认提供程序而不是指示路径。

http://docs.aws.amazon.com/aws-sdk-php/v3/guide/guide/credentials.html#using-credentials-from-environment-variables

我尝试过,但我不断收到相同的错误:

无法从/.aws/credentials 读取凭证

以防万一您需要此信息,我正在使用 aws/aws-sdk-php (3.2.5)。我尝试使用的服务是 AWS Elastic Transcoder。我的 EC2 实例是 Ubuntu 14.04。它运行使用 Capifony 部署的 Symfony 应用程序。

在尝试使用此生产服务器之前,我在开发服务器中进行了尝试,它仅适用于 ~/.aws/credentials 文件。该开发服务器实际上是生产服务器的副本。但是,它不使用 Capifony 进行部署。它只是项目的普通 git 克隆。而且它只有一个 EBS 卷,而生产服务器有一个用于操作系统,一个用于应用程序。

啊!我还检查了两台服务器上凭证文件的权限/所有者是否相同,并且它们是相同的。我尝试了 777,看看它是否能改变一些东西,但什么也改变不了。

有人有想法吗?

最佳答案

听起来你做错了。您无需将凭证部署到 EC2 实例即可让该实例与其他 AWS 服务交互,而且实际上也不应将凭证部署到 EC2 实例。

相反,当您创建实例时,您将一个 IAM 角色与其关联。该角色具有控制对其他 AWS 服务的访问的策略。

您可以创建一个空角色,启动实例,然后稍后修改该角色。实例启动后您无法分配角色。

您现在可以在分配实例后向实例添加角色。

不将实际凭证部署到 EC2 实例仍然被认为是最佳实践。

关于amazon-web-services - AWS 凭证不起作用 - ~/.aws/credentials,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31883374/

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