У меня есть изображение в моем ковше AWS S3. Можно ли включить это изображение на мой сайт, разместив URL-адрес AWS в теге <img>
? URL-адрес включает в себя такие параметры, как «Amz-Signature», «Amz-Credential» и «amz-security-token». Могут ли они быть злонамеренно использованы для доступа к другим файлам в моем ведре S3?Можно ли использовать ссылку на изображение в моем ковше AWS S3 на моей веб-странице?
Вот пример URL:.
https://s3.amazonaws.com/MyBucketName/FileName.jpg?X-Amz-Date=20160126T141139Z&X-Amz-Expires=300&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Signature=Lots_of_letters_and_Numbers2&X-Amz-Credential=MYAMAZON_CREDENTIALS/20160126/us-east-1/s3/aws4_request&X-Amz-SignedHeaders=Host&x-amz-security-token=REALLY_LONG_SECURITYTOKEN
с другой стороны, я могу генерировать экспирации URL из моего C# код с помощью AWS SDK что-то вроде:
var expiryUrlRequest = new GetPreSignedUrlRequest
{
BucketName = WebConfigurationManager.AppSettings["AWSBucketName"],
Key = fileName,
Expires = DateTime.Now.AddHours(3)
};
Это дает URL, который имеет "AWSAccessKeyId" в качестве параметра
.Являются ли эти URL безопасными для использования на моей веб-странице? Какие риски будут связаны с их использованием на моем сайте?
Большое спасибо за ваше время. Пожалуйста, дайте мне знать, если вам нужна дополнительная информация или я неясен.
EDIT: Чтобы предоставить некоторое представление о моем приложении, пользователи загружают файл в ведро S3. Я использую SignalR, чтобы подтвердить, что изображение находится в ведре, показывая изображение с S3 на моей веб-странице, чтобы пользователь мог его видеть.
Благодарим вас за отзыв. Однако, когда я использую 'GetPreSignedUrlRequest', он возвращает URL-адрес с параметрами' AWSAccessKeyId = 'и' Signature = '. Безопасно ли предоставлять пользователям эту информацию? – user95227
Это способ работы с заранее подписанными URL-адресами, AWSAccessKeyId является временным, а подпись - способ гарантировать, что URL-адрес не может быть изменен. Вы можете обязательно пойти с этим – Tom
Да, это безопасно, как я упоминал в пункте № 2 в разделе «Использование этой техники в безопасности». –