Amazon s3 如何检查S3对象是否使用boto加密?
我正在编写一个python脚本,以确定S3对象是否加密。我尝试使用以下代码,但key.encrypted始终返回None,即使我可以看到S3上的对象已加密Amazon s3 如何检查S3对象是否使用boto加密?,amazon-s3,boto,Amazon S3,Boto,我正在编写一个python脚本,以确定S3对象是否加密。我尝试使用以下代码,但key.encrypted始终返回None,即使我可以看到S3上的对象已加密 keys = bucket.list() for k in keys: print k.name, k.size, k.last_modified, k.encrypted , "\n" k、 encrypted始终不返回任何值。不管它值多少,您都可以使用boto3(它可以与boto并排使用) 有关可用密钥属性的列表,请参见boto
keys = bucket.list()
for k in keys:
print k.name, k.size, k.last_modified, k.encrypted , "\n"
k、 encrypted始终不返回任何值。不管它值多少,您都可以使用
boto3
(它可以与boto
并排使用)
有关可用密钥属性的列表,请参见
boto3
。您还可以使用head\u object
调用检查特定对象的加密状态。下面是Python/boto中的一个示例:
#!/usr/bin/env python
import boto3
s3_client = boto3.client('s3')
head = s3_client.head_object(
Bucket="<S3 bucket name>",
Key="<S3 object key>"
)
if 'ServerSideEncryption' in head:
print head['ServerSideEncryption']
#/usr/bin/env python
进口boto3
s3\u client=boto3.client('s3'))
head=s3\u client.head\u object(
Bucket=“”,
Key=“”
)
如果头中有“ServerSideEncryption”:
打印头['ServerSideEncryption']
请参阅:展开@mfisherca的响应,您可以使用AWS CLI执行此操作:
aws s3api head-object --bucket <bucket> --key <key>
# or query the value directly
aws s3api head-object --bucket <bucket> --key <key> \
--query ServerSideEncryption --output text
aws s3api头对象--bucket--key
#或者直接查询值
aws s3api头对象--桶--键\
--查询服务器端加密--输出文本
我确认这些结果。奇怪!我想知道
boto3
是否解决了这个问题?针对boto
提出了一个问题:如何获取所有对象的状态?不是特定对象,我想知道特定存储桶中所有对象的加密状态。@manda1238 David Morales的回答循环了所有对象并返回每个对象的加密状态。如果这是您所希望的,那么您无法在一个API调用中获得所有对象的状态。
aws s3api head-object --bucket <bucket> --key <key>
# or query the value directly
aws s3api head-object --bucket <bucket> --key <key> \
--query ServerSideEncryption --output text