AWS-您无权在从ec2客户端对象访问describeInstanceStatus时执行此操作


AWS - You are not authorized to perform this operation on accessing describeInstanceStatus from ec2 client object

我使用AWS文档中提到的方法创建了一个ec2客户端。我正在为SDK使用aws.phar文件。ec2客户端是正确创建的,因为当我var_dump客户端时,它会返回Ec2Client对象。但是,当我尝试从ec2客户端访问describeInstanceStatus时,它会抛出一个You are not authorized to perform this operation.异常。这是我的密码。

use Aws'Ec2'Ec2Client;
require 'aws.phar';
$ec2Client = Ec2Client::factory(array(
'key'    => '<aws access key>',
'secret' => '<aws secret key>',
'region' => 'us-east-1'
));
try{
$ec2Client->describeInstanceStatus(array(
    'DryRun' => false,
    'InstanceIds' => array('InstanceId'),
    'Filters' => array(
        array(
            'Name' => 'availability-zone',
            'Values' => array('us-east-1'),
        ),
    ),
    'MaxResults' => 10,
    'IncludeAllInstances' => false,
));}
catch(Exception $e){
echo $e->getMessage();
}

请告诉我我哪里搞错了。我试过在谷歌上搜索,在AWS论坛上搜索,但没有结果。非常感谢。

错误来自通过AWS IAM授予/拒绝的访问。

您在代码中使用其访问/密钥的用户没有描述实例的权限。此权限在应用于此用户的IAM策略中配置。

您的代码没有任何问题。您需要查看IAM策略,了解向该用户授予/拒绝的所有权限。

相关文章:
  • 没有找到相关文章