当前位置: 首页 > 知识库问答 >
问题:

S3 S3EncryptionClient AWS SDK for PHP:从实例配置文件元数据服务器检索凭据时出错

丌官和泰
2023-03-14

对于我使用的连接,请使用AWS共享凭据文件默认配置文件。我有。aws/credentials设置,包含aws_access_key_id aws_secret_access_key。这适用于使用S3Client的本地主机到S3的连接。

但是,我希望使用S3EncryptionClient进行客户端html" target="_blank">加密/解密,这里是问题的开始。使用PHP 3.6和aws-sdk-php 3.5。我不得不手动安装加密目录,因为无论出于什么原因,composer都无法获得它们,尽管据我所知,V3.38中添加了支持。

使用AWS SDK for PHP Version3示例进行Amazon S3客户端加密后的putObject失败,原因是“从实例配置文件元数据服务器检索凭据时出错”。在使用S3Client或S3EncryptionClient时,我使用相同的用户、密钥和机密。我假设KmsMaterialsProvider不要求指定'Credentials'=>$provider,但我也尝试过。

编辑:在IAM策略模拟器中尝试相同的操作。可能策略设置不正确。但不太确定需要什么。尝试了一堆不同的变体,但没有任何成功。不断得到“denied隐式denied(没有匹配语句)”。对于诸如:加密、解密之类的操作,即使策略有这些操作。问题是我在本地机器上这样做吗?但我会想到,对于非加密的写/读,它也会以同样的方式失败。

共有1个答案

殷功
2023-03-14

我想出了这一点,以防有人遇到同样的问题,至少有几个人没有答案。在开发环境(localhost)上创建KmsClient需要指定'credentials'=>$provider,即使已经为S3EncryptionClient指定了。还要确保为密钥和KMS服务设置了权限策略。

 类似资料:
  • 服务器成功启动并接受数据,但当我检索数据时,却出现以下错误: O.a.c.c.[.[/].[dispatcherServlet]:路径为[]的上下文 中servlet[dispatcherServlet]的servlet.Service()引发异常[请求处理失败;嵌套异常为 org.springframework.data.MongoDb.UncategorizedMongoDbException

  • 从EC2实例中使用AWS CLI时,如何指定要使用实例配置文件凭据?文件说: 这是自动的还是我需要调用元数据服务并将返回的凭据保存到文件...然后进行调用?

  • 我是微服务架构的新手,我正在尝试使用两个 Spring 启动微服务构建一个简单的项目,eureka 作为服务发现和 Spring 云用于 API 网关。UserService和OrderService连接到不同的MySQL模式,我的问题是,如何通过客户端调用rest方法并传递用户ID来从orders_table检索数据?我有一个仪表板,我必须在其中显示登录用户下的所有订单。 客户端项目是一个Spr

  • 我正试图从ftp服务器检索一个文件,但我得到如下错误。请你帮帮我好吗 导入java.io.BufferedOutputStream; 导入java.io.file; 导入java.io.FileOutputStream; 导入java.io.IOException; 导入java.io.InputStream; 导入java.io.OutputStream; 导入java.text.DateFor

  • 我试图通过json从在线数据库(MySql)获取数据,并希望将其显示为ListView。到目前为止我所做的: Downloader.java } 美娜ctivity.java 当我运行应用程序时,应用程序。。在Downloader.java类的第35行,我收到一条toast消息,上面写着“无法下载数据”。所以我猜我从数据库中得到的数据是空的…但为什么是空的。。。。 $con=mysqli_conn

  • 我试图显示一个零件的"loc",如果它的零件号我给。以下是数据结构的样子: 活动代码: getLoc是Product类的getter函数,它返回给定curP对应的“loc”。curP部分表示子值。 逻辑对我来说似乎是正确的,但我没有得到输出。我哪里出了问题?