Vue.js 如何将vue/flask应用程序集成到AWS S3,以便用户能够访问其S3映像
我正在尝试从我的AWS S3 bucket中获取图像,并将它们显示给我的特定用户,而不让对象URL公开 AWS S3Vue.js 如何将vue/flask应用程序集成到AWS S3,以便用户能够访问其S3映像,vue.js,amazon-s3,Vue.js,Amazon S3,我正在尝试从我的AWS S3 bucket中获取图像,并将它们显示给我的特定用户,而不让对象URL公开 AWS S3 我在AWS S3中创建了一个bucket“mybucket”管理员用户具有AmazonS3FullAccess,并且对象URL不是公共的 Flask/Python 我可以使用boto3.resource和boto3.client从烧瓶应用程序输入图像 例如,我可以通过以下方式发送图像: s3 = boto3.resource('s3', aws_access_key_id= ac
我在AWS S3中创建了一个bucket“mybucket”
管理员用户具有AmazonS3FullAccess,并且对象URL不是公共的 Flask/Python
我可以使用boto3.resource和boto3.client从烧瓶应用程序输入图像
例如,我可以通过以下方式发送图像:
s3 = boto3.resource('s3', aws_access_key_id= access_key_AWS,
aws_secret_access_key = secret_access_key_AWS,
config = Config(signature_version = 's3v4'))
data = open('imagepath/image.jpg','rb')
s3.Bucket('mybucket').put_object(Key='userfolder/image.jpg', Body=data)
Vue如果URL是公共的,我可以使用对象URL访问vue应用程序中的图像
<template>
<div class="">
<img :src= "image1" />
</div>
</template>
<script>
export default {
data:function(){
return {
image1: "https://mybucket.s3.eu-north-1.amazonaws.com/userfolder/image.jpg",
}
}
}
</script>
导出默认值{
数据:函数(){
返回{
图像1:“https://mybucket.s3.eu-north-1.amazonaws.com/userfolder/image.jpg",
}
}
}
问题
但我想对用户可以访问的内容设置限制,即我不想要公共对象URL
我希望用户只能访问“mybucket”bucket中的特定文件夹。我怎样才能做到这一点
如何对bucket中的文件夹设置限制,以便只有特定用户才能访问它(即,如何设置限制,以便在URL不是公共的情况下,用户可以通过对象URL访问图像)
用户是否需要通过服务器登录AWS才能访问图像,还是可以通过Vue和对象URL完成所有操作
对于我的应用程序中的每个用户,应用程序是否需要有一个AWS IAM用户?
这是因为不同的用户应该只能访问他们的特定文件夹,我不希望其他任何人访问他们(无论是从应用程序还是在浏览器中输入对象URL)