Amazon web services boto3生成带有SSE加密的预签名url
我正在寻找使用boto3和sse加密生成预签名url的示例 这是到目前为止我的代码Amazon web services boto3生成带有SSE加密的预签名url,amazon-web-services,amazon-s3,encryption,boto3,Amazon Web Services,Amazon S3,Encryption,Boto3,我正在寻找使用boto3和sse加密生成预签名url的示例 这是到目前为止我的代码 s3_client = boto3.client('s3', region_name='ap-south-1', endpoint_url='http://s3.ap-south-1.amazonaws.com',
s3_client = boto3.client('s3',
region_name='ap-south-1',
endpoint_url='http://s3.ap-south-1.amazonaws.com',
config=boto3.session.Config(signature_version='s3v4'),
)
try:
response = s3_client.generate_presigned_url('put_object',
Params={'Bucket': bucket_name,
'Key': object_name},
ExpiresIn=expiration)
except ClientError as e:
logging.error("In client error exception code")
logging.error(e)
return None
我正在努力找到正确的参数来使用SSE加密。
我能够使用PUT调用上传文件。我还想从客户端了解用于坚持sse加密的头。您可以向预签名URL添加条件,这些条件必须满足才能使上载有效。这可能包括
x-amz-server-side-encryption
见:
或者,您可以添加一个bucket策略来拒绝任何未加密的请求
请参阅:是否应将其作为标题的一部分发送?x-amz-server-side-encryption由于我使用了PUT选项,是否应该将其作为查询字符串的一部分发送?我从上面显示的服务器代码中获取预签名UrL。我确实将其视为查询字符串
x-amz-server-side-encryption-customer-algorithm
的一部分,但我在bucket上启用了sse-s3。我唯一的经验是,在bucket上使用代码片段创建了带条件的预签名UrL。您好,您成功了吗?我有完全相同的要求,无法使它工作