我将在我们的项目中集成Amazon S3存储桶服务。我正在使用此处列出的PHP类。 https://github.com/tpyo/amazon-s3-php-class
我在其中使用'putObjectFile
'方法&它工作正常。
问题:现在,当我在没有传递安全凭证的情况下使用此类时。
赞,$s3 = new S3();
它也是完美的,不应该。
所以,我不知道,哪些设置仍然存在于桶中。只有当我通过完美的证书时,它才有效。
这是我的存储桶政策
{
"Id": "POLICY_ID",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "SID_ID",
"Action": "s3:*",
"Effect": "Allow",
"Resource": "arn:aws:s3:::BUCKET_NAME/*",
"Principal": "*"
}
]
}
答案 0 :(得分:0)
您是否在具有IAM角色的ec2实例上托管代码,该角色为ec2实例提供对s3存储桶的完全访问权限。这允许您在没有凭据的情况下访问存储桶。
如果您未明确向客户端对象提供凭据且没有可用的环境变量凭据,则SDK会尝试从Amazon EC2实例元数据服务器检索实例配置文件凭据。只有在已配置了IAM角色的Amazon EC2实例上运行时,这些凭据才可用。