- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在 AWS AMI 中运行我的应用程序。 AMI 通过云形成模板启动,该模板使用 sts:AssumeRole
创建 AWS::IAM::Role
角色。 EC2 实例启动后,我使用 boto3.create_bucket
从 Ec2 实例创建一个 S3 存储桶。
在我的应用程序中,我将一个文件上传到创建的存储桶,并启用加密标志。但在上传时出现错误:
com.amazonaws.services.s3.model.AmazonS3Exception: x-amz-server-side-encryption header is not supported for this operation. (Service: Amazon S3; Status Code: 400; Error Code: InvalidArgument; Request ID: 04DD9259D04F92CA), S3 Extended Request ID: EVdqFn6jUNshxUejZFWa6VN/lHPXHyi0F+TG+UZ3K9Sh8Gy0MPABi1AnxZloIajypLb39/5UAVA=
这是我的代码的服务器端加密部分:
ObjectMetadata meta = new ObjectMetadata();
meta.setContentLength(contentLength);
meta.setSSEAlgorithm(ObjectMetadata.AES_256_SERVER_SIDE_ENCRYPTION)
我做错了什么?当我在其他地方运行代码并使用 S3 存储桶时,这会按预期工作。这是否与云的形成或 sts:AssumeRole
有关?
最佳答案
The Put object function in boto3具有用于设置对象级加密的选项。
object = bucket.put_object(
ServerSideEncryption='AES256'|'aws:kms',
SSECustomerAlgorithm='string',
SSECustomerKey='string',
SSEKMSKeyId='string',
)
ServerSideEncryption (string) -- The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms). StorageClass (string) -- The type of storage to use for the object. Defaults to 'STANDARD'.
SSECustomerAlgorithm (string) -- Specifies the algorithm to use to when encrypting the object (e.g., AES256).
SSECustomerKey (string) -- Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side-encryption-customer-algorithm header.> -
SSECustomerKeyMD5 (string) -- Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error. Please note that this parameter is automatically populated if it is not provided. Including this parameter is not required
SSEKMSKeyId (string) -- Specifies the AWS KMS key ID to use for object encryption. All GET and PUT requests for an object protected by AWS KMS will fail if not made via SSL or using SigV4. Documentation on configuring any of the officially supported AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version)
http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html
关于amazon-s3 - 此操作不支持 x-amz-server-side-encryption header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44425560/
我正在尝试将PUT请求发送到amazonS3预签名URL。即使我只有一个PUT请求,我的请求似乎也被调用了两次。第一个请求返回200 OK,第二个请求返回400 Bad Request。 这是我的代码
在我的表格中,它显示了我的政策和 x-amz-credential、x-amz-algorithm、x-amz-signature、我的存储桶等... data-form-data = "{"key"
前言:我的 Fineuploader 支持的上传网站在 2013 年底运行,使用 S3 作为存储。随后亚马逊多处将授权机制升级至V4。所以我决定升级我的fineuploader。 我的问题是,当 co
尝试将文件上传到 S3 时出现以下错误: S3StorageError: AccessDeniedAWS authentication requires a valid Date or x-amz-
我正在通过 PHP 将照片上传到 Amazon S3 存储桶。到目前为止一切正常。 我的问题是关于 x-amz-meta。我会使用 x-amz-meta 键/值对来存储数据,例如上传者的用户 ID 及
我想创建一个所谓的“预签名”URL,用于将特定对象 (PUT) 上传到 Amazon S3 存储桶。 到目前为止一切顺利。我正在使用 python 库 boto创建一个包含所有必要内容(过期、签名等)
我正在尝试使用Go Lambda函数将图像写入S3存储桶,客户端将通过 public URL访问该图像。当我在环境中使用我的AWS凭证在本地执行该函数时,可以在/image.jpg结尾的s3 URL上
我有一个用于将文件上传到 aws s3 的 Node 程序,我需要在请求 header 中指定 x-amz-tagging。我尝试了一些方法,但它不起作用! function buildRequest
const AWS = require('aws-sdk'); export function main (event, context, callback) { const s3 = new A
我正在 AWS AMI 中运行我的应用程序。 AMI 通过云形成模板启动,该模板使用 sts:AssumeRole 创建 AWS::IAM::Role 角色。 EC2 实例启动后,我使用 boto3.
例如,我在 S3 上有一个包含一些元数据的文件x-amz-meta-description="一些描述"当我将文件上传到 S3 时,此元数据已包含在内。如果我使用 Amazon 控制台检查元数据,元数
我正在尝试将我的项目部署到亚马逊 AWS Elastic Beanstalk(使用 eclipse),但出现以下错误: com.amazonaws.services.s3.model.AmazonS3
我正在尝试使用 cURL 通过传递 AWS 请求的所需 header 来进行简单的图像上传,但出现以下错误... AccessDeniedAWS authentication requires a v
尝试使用带有可选元数据参数的 Node.js AWS sdk s3Client.upload 时: const AWS = require('aws-sdk') const s3Client = ne
我的应用程序在 ios 6 中运行良好..它从亚马逊网络服务器 s3 上传和下载数据..但是当我将我的 ios 6 升级到 ios 7 时...我收到警告消息“无法连接到服务器”日志窗口中的错误 “E
是 X-Amz-Expires必需的 header /参数?官方文档不一致,在some examples中使用, 而不是在 others . 如果不需要,签名请求的默认过期值是多少?它是否等于 X-A
我有一个不完全正统的 CF->S3 设置。这里的相关组件是: Cloudfront 分发与 origin s3.ap-southeast-2.amazonaws.com 添加 S3 授权(版本 2)查
我想对 S3 网页使用重定向。 AWS Configuring a Web Page Redirect文档说要设置 x-amz-website-redirect-location属性,但这似乎不可设置
首先,基本问题 - 是否有一种直接的方法可以将 HTTP header X-Amz-Invocation-Type:'Event' 添加到具有集成类型 Lambda 函数的现有 API 网关 POST
我正在尝试使用 go sdk 为我的 S3 存储桶中的文件创建预签名 URL。 当我从命令行运行程序时,我得到了不包含 X-Amz-Security-Token 的预签名 URL。 但如果我使用来自
我是一名优秀的程序员,十分优秀!