Поделиться файлом из AWS S3 bucket во внутренней сети - PullRequest
0 голосов
/ 03 марта 2020

Я хотел бы поделиться файлом test.txt из AWS S3 bucket для моей внутренней сети. Пользователь должен иметь возможность загружать этот файл по HTTP (s) без какой-либо авторизации. Я установил точку доступа S3 с помощью VP C:

enter image description here enter image description here

, но когда я пытаюсь загрузить не получается:

$ curl https://access-through-vpc-<account_id>.s3-accesspoint.us-west-2.amazonaws.com/test.txt
<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>InvalidRequest</Code><Message>The authorization mechanism you have provided is not supported. Please use Signature Version 4.</Message><RequestId>B96D773CF3DF265B</RequestId><HostId>gAPCDvlncaP5n63h1qGK/Lkt+LReqfuHzWbdwHIUKPRk8dY1EEAisIadmeCacPc2YvGtRb+lUCU=</HostId></Error>


$ wget https://access-through-vpc-<account_id>.s3-accesspoint.us-west-2.amazonaws.com/test.txt
--2020-03-03 11:21:17--  https://access-through-vpc-<account_id>.s3-accesspoint.us-west-2.amazonaws.com/test.txt
Resolving access-through-vpc-<account_id>.s3-accesspoint.us-west-2.amazonaws.com (access-through-vpc-<account_id>.s3-accesspoint.us-west-2.amazonaws.com)... 52.218.208.209
Connecting to access-through-vpc-<account_id>.s3-accesspoint.us-west-2.amazonaws.com (access-through-vpc-<account_id>.s3-accesspoint.us-west-2.amazonaws.com)|52.218.208.209|:443... connected.
HTTP request sent, awaiting response... 400 Bad Request
2020-03-03 11:21:17 ERROR 400: Bad Request.

Можете ли вы помочь, пожалуйста?

1 Ответ

2 голосов
/ 03 марта 2020

Когда вы говорите «для моей внутренней сети», я понимаю, что из вашего VP C.
Вы уже создали точку доступа S3, используя Network access type VP C, что правильно для ограничения доступа к только ваш VP C.

Чтобы S3 понимал, что доступ поступает от вашего VP C, вам необходимо иметь конечную точку VP C для S3 и настроить таблицы маршрутов для использования этой конечной точки.
В противном случае ваши запросы к S3 будут отправляться через inte rnet, что даст вам "запрещенный доступ"

Поскольку вы блокируете весь доступ publi c, вашим экземплярам потребуется роль с разрешением на это поле.
Если вы действительно хотите избежать проверки подлинности, вам нужно установить политику Bucket и политику точки доступа в соответствии с этим.

В приведенной ниже ссылке объясняется процесс использования VP C Endpoint и S3 Access. Очки.
https://docs.aws.amazon.com/AmazonS3/latest/dev/creating-access-points.html

...