Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 专用存储桶中S3文件的URL_Amazon S3 - Fatal编程技术网

Amazon s3 专用存储桶中S3文件的URL

Amazon s3 专用存储桶中S3文件的URL,amazon-s3,Amazon S3,我已经使用SDK将一个文件上传到我的私人S3存储桶中 我可以通过S3UI访问此文件 但是,我无法通过直接链接访问此文件。它给了我一些XML,其中包含“AccessDenied”作为代码和消息 这似乎是合理的,因为我在浏览器中进行了身份验证,并在同一浏览器中单击指向该文件的直接链接,所以应该允许我通过。至少,我应该被引导到一个登录页面 有人对此有经验吗?有两个位置需要根据您希望如何设置对存储桶的访问权限来确保设置正确。它将具有公共或私人访问权限 “属性”选项卡: 在这里,您可以设置将使用铲斗的用途

我已经使用SDK将一个文件上传到我的私人S3存储桶中

我可以通过S3UI访问此文件

但是,我无法通过直接链接访问此文件。它给了我一些XML,其中包含“AccessDenied”作为代码和消息

这似乎是合理的,因为我在浏览器中进行了身份验证,并在同一浏览器中单击指向该文件的直接链接,所以应该允许我通过。至少,我应该被引导到一个登录页面


有人对此有经验吗?

有两个位置需要根据您希望如何设置对存储桶的访问权限来确保设置正确。它将具有公共或私人访问权限

“属性”选项卡:

在这里,您可以设置将使用铲斗的用途

权限选项卡->存储桶策略:

这样,您就可以设置访问权限。我能够使用此站点生成策略:

编辑:

我的正在使用我显示的设置。我建议询问AWS董事会是否要弄清真相。您也可以尝试以下方法:


有两个位置需要根据您想要设置对存储桶的访问权限的方式来确保设置正确。它将具有公共或私人访问权限

“属性”选项卡:

在这里,您可以设置将使用铲斗的用途

权限选项卡->存储桶策略:

这样,您就可以设置访问权限。我能够使用此站点生成策略:

编辑:

我的正在使用我显示的设置。我建议询问AWS董事会是否要弄清真相。您也可以尝试以下方法:


因此,在研究了一段时间后,我发现最好的办法是将控制台URL发布到该文件中

{your bucket}/{your file path}?region={your bucket的区域}&tab=概述

请注意指定正确的区域。如果您是以编程方式形成此文件,请使用Amazon.RegionEndpoint.SystemName

如果你没有登录,它会要求你登录

没有签名的URL是必要的


感谢所有做出贡献的人

因此,在研究了一段时间后,我发现最好的办法是将控制台URL发布到该文件中

{your bucket}/{your file path}?region={your bucket的区域}&tab=概述

请注意指定正确的区域。如果您是以编程方式形成此文件,请使用Amazon.RegionEndpoint.SystemName

如果你没有登录,它会要求你登录

没有签名的URL是必要的


感谢所有做出贡献的人

如果您在专有网络内,可以使用直接链接。您必须:
1-为Amazon S3创建VPC端点。
2-添加允许从VPC端点访问的bucket策略

以下链接中描述了所有步骤:

如果您在专有网络内,则可以使用直接链接。您必须:
1-为Amazon S3创建VPC端点。
2-添加允许从VPC端点访问的bucket策略

以下链接中描述了所有步骤:


请提供一些有关您当前S3存储桶配置的详细信息。您的期望值不高。登录到控制台与能够直接从S3获取对象无关。从S3获取非公共对象的唯一方法是提供签名URL(或授权头)来验证请求。(右键单击并将“下载”链接复制到控制台中的某个对象,以查看其外观。控制台生成。)S3不是最终用户服务--它没有被“用户”访问或浏览器“登录”的概念。S3不使用cookie或会话的概念。您描述的行为是预期的。似乎没有右键单击并捕获该链接的方法。你能提供一个屏幕截图让我看到一些背景吗?请提供一些关于你当前S3存储桶配置的详细信息。你的期望值不高。登录到控制台与能够直接从S3获取对象无关。从S3获取非公共对象的唯一方法是提供签名URL(或授权头)来验证请求。(右键单击并将“下载”链接复制到控制台中的某个对象,以查看其外观。控制台生成。)S3不是最终用户服务--它没有被“用户”访问或浏览器“登录”的概念。S3不使用cookie或会话的概念。您描述的行为是预期的。似乎没有右键单击并捕获该链接的方法。你能提供一个截图让我看到一些背景吗?谢谢,这让我开始了。我不得不额外指定一个用户。如果我不这样做,只使用“*”,那么它会使整个bucket公开。“Principal:{AWS:“arn:AWS:iam::account number without hyphens:user/username”}实际上我说得太快了,它仍然说访问被拒绝。@Cincaps是静态web托管的bucket设置吗?我添加了静态web托管只是为了以防万一,但仍然有相同的问题。“这似乎不影响它。”辛查普斯我又加了一张照片。我推荐AWS板,因为我的工作很好。谢谢,这让我开始了。我不得不额外指定一个用户。如果我不这样做,只使用“*”,那么它会使整个bucket公开。“Principal:{AWS:“arn:AWS:iam::account number without hyphens:user/username”}实际上我说得太快了,它仍然说访问被拒绝。@Cincaps是静态web托管的bucket设置吗?我添加了静态web托管只是为了以防万一,但仍然有相同的问题。“这似乎不影响它。”辛查普斯我又加了一张照片。我推荐AWS板,因为我的工作很好。你能在链接中添加更多关于要查找哪些内容的信息吗