Python 在生成预设计的s3 url之前承担角色
在django应用程序中,我们允许用户直接将文件上传到S3 我们用电脑来做这件事 所有这些都很好,但我们现在在中收到可疑访问警报,因为它看到EC2凭据正在外部使用 梅西的描述是 此警报是由正在使用的临时EC2实例凭据创建的 亚马逊IP空间之外。EC2实例配置文件凭据为 预计最常用于EC2实例,这些实例 已由EC2元数据服务提供。这项技术是可行的 用于开源开发框架,如Metasploit和 从AWS网络外部观察其使用情况可能表明 潜在泄漏。请考虑联系用户确认 他们是否有意在AWS之外使用EC2凭证。如果 因此,白名单有效用户或考虑重置IAM用户凭据。 这是有意义的,因为实例角色生成由外部用户使用的预签名帖子url 我是否真的有可能让外部用户获得与我的实例角色相同的访问权限 如果是这样的话,是否值得在我的特定bucket中创建一个单独的角色,该角色只能访问Python 在生成预设计的s3 url之前承担角色,python,amazon-web-services,amazon-s3,boto3,amazon-macie,Python,Amazon Web Services,Amazon S3,Boto3,Amazon Macie,在django应用程序中,我们允许用户直接将文件上传到S3 我们用电脑来做这件事 所有这些都很好,但我们现在在中收到可疑访问警报,因为它看到EC2凭据正在外部使用 梅西的描述是 此警报是由正在使用的临时EC2实例凭据创建的 亚马逊IP空间之外。EC2实例配置文件凭据为 预计最常用于EC2实例,这些实例 已由EC2元数据服务提供。这项技术是可行的 用于开源开发框架,如Metasploit和 从AWS网络外部观察其使用情况可能表明 潜在泄漏。请考虑联系用户确认 他们是否有意在AWS之外使用EC2凭证
s3:PutObject
,然后在生成预签名的帖子url之前假设该角色?这样,如果以某种方式被破坏,它将没有实例角色那么多的特权
基于,url应该只授予将特定对象发布到特定bucket的访问权限,但是这个Macie警报让我感到紧张
谢谢 除了将文件上传到您的bucket之外,您不必担心外部用户获得任何访问权限 htt ps://s3.amazonaws.com/bucket/foo.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256& X-Amz-Expires=3600&X-Amz-Credential=AkiaJZxxxxxxxus-east-1%2Fs3%2Faws4\u请求&X-Amz-SignedHeaders=host&X-Amz-Date=20171021T190750Z&X-Amz-Signature=8b84ae9b59e9f8a8d7066ecc39e797c8dc29848abcdef61717 AWS所做的只是获取与您的访问密钥相关联的秘密密钥(AKIAJRZXXXXXXXX),根据对象url、过期时间等计算签名,并检查它是否与url中的签名匹配。只有你和AWS知道密匙,没有其他人知道。如果签名匹配,用户可以上载文件,否则由于URL被篡改或过期,访问将被拒绝