首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >S3上的AWS EC2 IAM角色访问被拒绝

S3上的AWS EC2 IAM角色访问被拒绝
EN

Stack Overflow用户
提问于 2016-01-04 15:16:58
回答 2查看 2.9K关注 0票数 4

我使用IAM角色"webapp“启动了一个EC2实例。角色已附加,我可以使用以下命令进行确认

代码语言:javascript
复制
curl http://169.254.169.254/latest/meta-data/iam/security-credentials/webapp
{
  "Code" : "Success",
  "LastUpdated" : "2016-01-04T06:44:50Z",
  "Type" : "AWS-HMAC",
  "AccessKeyId" : "xxx",
  "SecretAccessKey" : "xxx",
  "Token" : "xxx",
  "Expiration" : "2016-01-04T12:46:27Z"
}

webapp角色具有针对S3的附加策略

代码语言:javascript
复制
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "s3:*",
      "Resource": "*"
    }
  ]
}

但是我无法访问S3上的对象。我正在使用aws-php-sdk

代码语言:javascript
复制
require_once 'vendor/autoload.php';
use Aws\S3\S3Client;

$client = S3Client::factory(array('region'  => 'us-west-2','version'=>'2006-03-01'));
  $result = $client->getObject(array(
    'Bucket' => 'test-bkt88767',
    'Key'    => "file.txt",
  ));
echo $result['Body'] . "\n";

我要买一辆403禁飞车

代码语言:javascript
复制
PHP Fatal error:  Uncaught exception 'Aws\S3\Exception\S3Exception' with message 'Error executing "GetObject" on "https://s3-us-west-2.amazonaws.com/test-bkt88767/file.txt"; AWS HTTP error: Client error: `GET https://s3-us-west-2.amazonaws.com/test-bkt88767/file.txt` resulted in a `403 Forbidden` response:
<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>995F9A (truncated...)
 AccessDenied (client): Access Denied - <?xml version="1.0" encoding="UTF-8"?>
<Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>995F9AC51CC2164F</RequestId><HostId>JPKyfP1LBLW5ky2wH9t2CEjHrKT0tI9zgyXHU/qcJWvBoOwhK7O0dzl1wCjjzV58UhKZVHXvFFg=</HostId></Error>'

我是否也需要更改存储桶权限?或者我在conf上做错了什么。关于EC2的?

EN

回答 2

Stack Overflow用户

发布于 2018-01-29 11:11:48

检查你在IAM中的webapp角色,它应该是这样的:

代码语言:javascript
复制
{
    "Action": [
        "s3:ListBucket"
    ],
    "Resource": "arn:aws:s3:::your_bucket",
    "Effect": "Allow"
},
{
    "Action": [
        "s3:GetObject"
    ],
    "Resource": "arn:aws:s3:::your_bucket/*",
    "Effect": "Allow"
}

票数 0
EN

Stack Overflow用户

发布于 2020-01-20 14:23:07

您是否可以检查是否为任何没有正确访问S3存储桶权限的用户配置了AWS和access ID,或者您可以尝试使用另一个s3应用程序接口,我以后也会遇到同样的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34586332

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档