AWS - Centos7 - /home/.aws/credentials not working



我在/home目录上安装了一个带有AWS CLI的Centos7 VPS。我已经将我的凭据添加到aws configure中,它生成了以下文件:

/home/.aws/credentials
/home/.aws/config

如果我运行以下代码,它将失败:

$client = new AwsLightsailLightsailClient([
'region' => 'eu-west-2',
'version' => '2016-11-28'
]);

错误消息为:

AccessDeniedException (client): User: arn:aws:sts::523423432423:assumed-role/AmazonLightsailInstanceRole/i-0eb5b2155b08e5185 is not authorized to perform

然而,如果我这样添加我的凭据,它会起作用:

$credentials = new AwsCredentialsCredentials('key', 'secret');
$client = new AwsLightsailLightsailClient([
'region' => 'eu-west-2',
'version' => '2016-11-28',
'credentials' => $credentials
]);

为了让我的脚本读取/home/.aws/credentials文件,我需要做一些额外的事情吗?

Do I need to do something extra in order to get my script to read the /home/.aws/credentials file?

是的,您需要将.aws/credentials目录放在运行该命令的用户的主目录中。这将类似于/home/username,而意味着凭证的完整路径将是/home/username/.aws/credentials。无论您将aws命令安装到何处。

最新更新