2017-11-09 21 views
6

S3 hiện hỗ trợ mã hóa được áp dụng theo mặc định khi các yêu cầu PUT đối tượng riêng lẻ không chứa tiêu đề mã hóa cụ thể.Mẫu CloudFormation để đặt mã hóa mặc định của thùng S3

Làm cách nào để thiết lập này như một phần của tạo nhóm trong mẫu CloudFormation? Tôi đã tìm thấy các API call cho điều này nhưng nó sẽ là tuyệt vời nếu nó có thể được cung cấp như là một thuộc tính trong CloudFormation chứ không phải là một bước riêng biệt.

Cho đến nay các tùy chọn duy nhất tôi thấy là

  • làm cho một API/cuộc gọi khách hàng riêng biệt sau khi tạo xô
  • sử dụng cách cũ của một chính sách xô để từ chối yêu cầu không được mã hóa, mà thể được cung cấp qua CloudFormation S3::BucketPolicy tài nguyên
+0

Tôi muốn đặt cược rằng CloudFormation sẽ sớm thêm tính năng mới này. – jarmod

+0

@wrschneider Có vấn đề gì với việc thêm S3 :: BucketPolicy bạn đã đề cập đến mẫu đám mây tạo nhóm? Có lý do nào mà bạn không muốn sử dụng cách tiếp cận đó không? –

+0

vì chính sách nhóm không mã hóa bất kỳ thứ gì - các yêu cầu riêng lẻ vẫn phải chỉ định mã hóa. Nó chỉ từ chối các yêu cầu PUT mà không mã hóa được chỉ định. – wrschneider

Trả lời

5

Có một số thời điểm giữa thứ Sáu tuần trước và hôm nay, cuối cùng họ đã thêm thuộc tính BucketEncryption vào nhóm S3 trong CloudFormation, cho phép bạn bật mã hóa mặc định này.

1

jarmod là đúng, Cloud thường bị chậm lại trong việc triển khai các tính năng mới.

Đồng thời, bạn có thể sử dụng hàm lambda để phản hồi sự kiện CreateBucket để thực hiện put_bucket_encryption (boto3) trên thùng.

Điều này sẽ sử dụng tùy chọn đầu tiên bạn đề xuất nhưng bạn sẽ không cần phải nhớ thực hiện cuộc gọi api riêng biệt.

+1

Vấn đề với lambda là phiên bản botocore trên Lambda không hỗ trợ cuộc gọi 'put_bucket_encryption'. – wrschneider

+1

Điều này đúng, nhưng bạn có thể gói phiên bản botocore mới với chức năng – tkwargs

Các vấn đề liên quan