首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带SSE加密的boto3 generate_presigned_url

带SSE加密的boto3 generate_presigned_url
EN

Stack Overflow用户
提问于 2019-12-25 02:17:54
回答 2查看 1.5K关注 0票数 1

我正在寻找使用boto3和sse加密生成预签名url的示例。

这是到目前为止我的代码

代码语言:javascript
复制
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加密。

EN

回答 2

Stack Overflow用户

发布于 2022-04-18 15:36:00

代码语言:javascript
复制
import boto3

access_key = "..."
secret_key = "..."
bucket = "..."
s3 = boto3.client('s3',
              aws_access_key_id=access_key,
              aws_secret_access_key=secret_key)
return(s3.generate_presigned_url(
    ClientMethod='get_object',
    Params={
        'Bucket': bucket,
        'Key': filename,
        'SSECustomerAlgorithm': 'AES256',
    }
))

还添加标题:-

代码语言:javascript
复制
'x-amz-server-side-encryption': 'AES256' 

在前端代码中调用预先签名的url。

票数 0
EN

Stack Overflow用户

发布于 2019-12-25 05:51:27

您可以将条件添加到必须满足的预签名URL中,这样上传才能有效。这可能包括x-amz-server-side-encryption

请参阅:创建POST策略- Amazon S3

或者,您可以添加拒绝任何未加密请求的桶策略。

请参阅:如何防止未加密对象上载到

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59474712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档