我需要一点指导如何设置我的S3桶策略和/或IAM权限配置文件。我们的Rails应用程序将文件上传到桶中,并在上传后显示文档的链接。基本上,我想启用阻止所有公共访问,因为它是安全的,但从内Rails应用程序文档应该能够上传和打开时,点击一个链接。因此,我创建了一个具有以下权限配置文件的IAM用户:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::<bucket-name>",
"arn:aws:s3:::<bucket-name>"
]
},
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:DeleteObject",
"s3:PutObjectAcl"
],
"Resource": [
"arn:aws:s3:::<bucket-name>/*",
"arn:aws:s3:::<bucket-name>/*"
]
}
]
}
然后我添加了一个桶策略,如下所示:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<iam-user>"
},
"Action": "s3:*",
"Resource": "arn:aws:s3:::<bucket-name>/*"
}
]
}
对于“Action”:“s3:*”
,我想我是说:这个用户可以在这个bucket上做任何事情吗?这适用于打开文档,但在上载文档时,访问被拒绝。那么,我需要做什么改变才能使上传文档再次正常工作呢?
您可以为您的文件创建S3预签名url。这将使您页面的访问者能够下载它们,而无需显式公开。预先签名的网址是临时的,因此您需要一个重新生成过期网址的机制。
其他流行的选择是通过CloudFront公开文件。这样,您的存储桶不仅可以保持完全私有,而且还可以获得全局CDN的好处,它可以更快地为您的文件提供服务器。
如果您希望授予应用程序访问(上传/下载)Amazon S3存储桶的权限,则应在应用程序正在使用的IAM用户或IAM角色的IAM策略中授予权限。没有必要还创建一个桶策略。
这将允许应用程序上传和下载内容。
当应用程序希望允许用户访问私有对象时,它应该生成Amazon S3预签名网址,这是一个有时间限制的网址,提供对私有对象的临时访问。URL可以作为链接插入到超文本标记语言中,甚至可以插入到标记中(例如
预签名的URL也可用于将对象上载到bucket。通过这种方式,应用程序可以控制谁可以上传对象以及将其放置在何处。请参阅:使用预先指定的URL上载对象-Amazon简单存储服务
问题内容: 因此,我只是试图创建一个通过gmail进行导航并自动执行某些任务的代码。我设法成功自动登录到GMail,但是尝试登录页面源时登录后仍然遇到此错误代码。 错误代码 Java代码 注意:我使用的是最新版的Firefox和最新版的Selenium PS:关于类似问题,我经历了11个以上的不同问题,没有人提供明确的解决方案,答案也非常模糊。 问题答案: 伙计们,我很久以前就找到了解决此问题的方
请让我知道如何解决这个问题。
我的应用程序的目标SdkVersion=29 我拍了一张照片,它保存在路径: src=/storage/simulated/0/DCIM/Camera/IMG_20201120_091943。jpg 然后我想使用FileInputStream/FileOutputStream将此图像复制到内部存储。虽然,我的应用程序有WRITE/READ存储权限,但当我编码 我收到了一个FileNotFoundE
用户在轻推上传文件时,考虑到对文件的传播有着不同的考量,因此在发送文件时也可以对文件的转发和下载权限进行设置。转发权限可选择:可转发、仅在企业内转发、不可转;下载权限可设置:可下载和不可下载。 例如,当文件为企业内的重要文件,仅希望企业内员工可见,不希望外传时,则可以设置文件为仅在企业内转发,不可下载;设置后,则该文件只能在企业内分享,文件可以支持在线预览,不可下载,并且将加上阅读者的名字和手机号
这似乎很奇怪,因为该命令试图在Program Files中更改文件,而不是在C:\users\username中更改它应该在的位置。此外,当我为一个.gitconfig文件检查C:\users\username时,我找不到一个。有人知道这是怎么回事吗?
问题内容: 我正在使用拥有者设置为的Apache Web服务器。我永远都不知道文件权限的最佳做法是什么,例如,当我创建新的Laravel 5项目时。 Laravel 5要求文件夹可写。我发现了很多不同的方法可以使其正常工作,而我通常以递归方式使其成为chmod。我知道这不是最好的主意。 官方文件说: Laravel可能需要配置一些权限:Web服务器中的文件夹, 并且需要Web服务器进行写访问。 这