Điểm:0

Chính sách bộ chứa AWS S3 để nhận và tải lên

lá cờ si

Tôi có hai thùng, mỗi thùng có mục tiêu riêng. Cho đến nay tôi không thể hiểu cấu hình phức tạp của cài đặt bộ chứa. Có vẻ như có ba điều để cấu hình

  1. Chặn truy cập công khai
  2. Chính sách nhóm
  3. ACL

Tôi biết rằng nếu tôi tắt (1), mọi thứ mà tôi muốn hoàn thành sẽ hoạt động. Mặc dù đây là bốn cài đặt vô nghĩa nhất mà tôi từng thấy (tại sao tôi lại quan tâm đến việc hạn chế quyền truy cập vào nhóm dựa trên thời điểm chính sách được sửa đổi???)

Có vẻ như những gì tôi thêm vào (2) không thực sự quan trọng. Ví dụ: tôi có một chính sách chỉ cho phép GetObject, nhưng tôi có thể DeleteObject và PutObject từ SDK. Tôi có một chính sách khác cho phép DeleteObject, GetObject và PutObject, nhưng chỉ xóa các tác phẩm và đưa ra một Quyền truy cập bị Từ chối (từ tài khoản IAM có quyền truy cập Quản trị vào mọi thứ dưới ánh mặt trời).

Tôi thậm chí không biết điểm của (3). Tại sao tôi lại muốn cấp quyền cho không tí nào Người dùng AWS? Dù sao thì..

Tôi có hai nhóm với hai mục tiêu và tôi không thể tìm ra sự kết hợp của những việc cần làm.

A: Nhóm công khai cho trang web tĩnh

Đối với cái này, tôi có quyền truy cập công khai của Bock vào TẮT và một chính sách như vậy (mà tôi nghĩ là không có tác dụng gì cả). Bất kỳ ai cũng có thể xem nội dung nhóm (tốt!) nhưng chính sách này không cho phép bất kỳ PutObject nào.

{
    "Phiên bản": "17-10-2012",
    "Id": "Chính sách1632669906301",
    "Bản tường trình": [
        {
            "Sid": "Stmt1632669869776",
            "Hiệu ứng": "Cho phép",
            "Hiệu trưởng": "*",
            "Hành động": "s3:GetObject",
            "Tài nguyên": "arn:aws:s3:::publicwebsite/*"
        }
    ]
}

Tại sao tôi có thể tải lên và xóa khi chỉ có GetObject được xác định?

B: Xô an toàn để sao lưu

Bộ chứa này dành cho ứng dụng của tôi để gửi các bản sao lưu dữ liệu tới. Vì vậy, điều duy nhất có thể đọc/ghi là ứng dụng của tôi. Nhưng nếu tôi bật Chặn truy cập công khai, tôi không thể tải lên, nhưng tôi có thể xóa. Một lần nữa, nó không có ý nghĩa gì cả. Nếu mình tắt Block public access thì làm được hết. Đây là chính sách

{
    "Phiên bản": "17-10-2012",
    "Id": "Chính sách1635858319261",
    "Bản tường trình": [
        {
            "Sid": "Stmt1635858317672",
            "Hiệu ứng": "Cho phép",
            "Hiệu trưởng": {
                "AWS": "arn:aws:iam::XXXXXXXXX:người dùng/người dùng dự phòng"
            },
            "Hoạt động": [
                "s3:Xóa đối tượng",
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Tài nguyên": "arn:aws:s3:::backups/*"
        }
    ]
}

Tại sao tôi có thể xóa nhưng không đặt?


Hơn nữa, Amazon là TUYỆT VỜI về việc luôn bật Chặn quyền truy cập công khai, nhưng bạn thậm chí không thể sửa đổi chính sách Bộ chứa nếu điều này được bật! Đây là sự điên rồ!!!!!!!


Đây là những phát hiện của tôi sau một số thử nghiệm.

tài khoản của tôi là như vậy

  1. tài khoản root, chủ sở hữu của nhóm
  2. Tài khoản IAM (Quản trị viên) với mọi thứ Quản trị
  3. Tài khoản IAM (Người dùng) hoàn toàn không có quyền làm bất cứ điều gì

Đối với các chính sách nhóm, hãy xem chính sách thứ hai được đăng ở trên.

Tôi đang khám phá tác dụng của sự kết hợp giữa chính sách và cài đặt Chặn quyền truy cập công cộng. Họ tiếp tục làm cho 0 ý nghĩa bất cứ điều gì.

Trường hợp 1

  • Chặn tất cả truy cập công khai: TẮT
  • Chính sách nhóm: Rỗng
  • ACL: Chủ sở hữu nhóm (liệt kê, viết | đọc, viết)

Kết quả: Admin up xóa được, User không làm được gì

trường hợp 2

  • Chặn tất cả truy cập công cộng:
    • [x] danh sách kiểm soát truy cập mới
  • Chính sách nhóm: Rỗng
  • ACL: Chủ sở hữu nhóm (liệt kê, viết | đọc, viết)

Kết quả: Admin xóa được nhưng không upload được, User không làm được gì

trường hợp 3

  • Chặn tất cả truy cập công cộng:
    • [x] danh sách kiểm soát truy cập mới
    • [x] mọi danh sách kiểm soát truy cập
  • Chính sách nhóm: Rỗng
  • ACL: Chủ sở hữu nhóm (liệt kê, viết | đọc, viết)

Kết quả: Admin xóa được nhưng không upload được, User không làm được gì

Trường hợp 4

  • Chặn tất cả truy cập công cộng:
    • [x] danh sách kiểm soát truy cập mới
    • [x] mọi danh sách kiểm soát truy cập
    • [x] chính sách điểm truy cập mới
  • Chính sách nhóm: Rỗng
  • ACL: Chủ sở hữu nhóm (liệt kê, viết | đọc, viết)

Kết quả: Admin xóa được nhưng không upload được, User không làm được gì

Trường hợp 5

  • Chặn tất cả truy cập công khai: BẬT
  • Chính sách nhóm: Rỗng
  • ACL: Chủ sở hữu nhóm (liệt kê, viết | đọc, viết)

Kết quả: Admin xóa được nhưng không upload được, User không làm được gì

Phần kết luận: Chặn quyền truy cập công khai khi được đặt thành BẬT cho phép mọi thứ. Bất kỳ cấu hình nào khác cho phép xóa (và có thể nhiều hơn, như nhận) nhưng không đặt.


Trường hợp 6

  • Chặn tất cả truy cập công khai: TẮT
  • Chính sách nhóm: Quản trị viên (Nhận/Đặt/Xóa đối tượng) Người dùng (không có gì)
  • ACL: Chủ sở hữu nhóm (liệt kê, viết | đọc, viết)

Kết quả: Admin up xóa được, User không làm được gì

Trường hợp 7

  • Chặn tất cả truy cập công cộng:
    • [x] danh sách kiểm soát truy cập mới
  • Chính sách nhóm: Quản trị viên (Nhận/Đặt/Xóa đối tượng) Người dùng (không có gì)
  • ACL: Chủ sở hữu nhóm (liệt kê, viết | đọc, viết)

Kết quả: Admin xóa được, User không làm được gì

Trường hợp 8

  • Chặn tất cả truy cập công cộng:
    • [x] danh sách kiểm soát truy cập mới
    • [x] mọi danh sách kiểm soát truy cập
  • Chính sách nhóm: Quản trị viên (Nhận/Đặt/Xóa đối tượng) Người dùng (không có gì)
  • ACL: Chủ sở hữu nhóm (liệt kê, viết | đọc, viết)

Kết quả: Admin xóa được, User không làm được gì

Trường hợp 9

  • Chặn tất cả truy cập công cộng:
    • [x] danh sách kiểm soát truy cập mới
    • [x] mọi danh sách kiểm soát truy cập
    • [x] chính sách điểm truy cập mới
  • Chính sách nhóm: Quản trị viên (Nhận/Đặt/Xóa đối tượng) Người dùng (không có gì)
  • ACL: Chủ sở hữu nhóm (liệt kê, viết | đọc, viết)

Kết quả: Admin xóa được, User không làm được gì

Trường hợp 10

  • Chặn tất cả truy cập công khai: BẬT
  • Chính sách nhóm: Quản trị viên (Nhận/Đặt/Xóa đối tượng) Người dùng (không có gì)
  • ACL: Chủ sở hữu nhóm (liệt kê, viết | đọc, viết)

Kết quả: Admin xóa được, User không làm được gì

Phần kết luận: Chính sách nhóm thực sự không ảnh hưởng đến bất cứ điều gì


TLDR: Có vẻ như chính sách Nhóm không làm gì cả.Chỉ Chặn quyền truy cập công khai mới có bất kỳ tác động có thể đo lường nào với tùy chọn duy nhất có thể sử dụng được là tắt tính năng này. Tôi cũng đã xóa chính sách nhóm của mình khỏi nhóm công khai và nó cũng không thay đổi bất cứ điều gì.

Kết luận của tôi là chính sách Nhóm bị hỏng, tài liệu không đủ hoặc bản thân các cài đặt phản trực giác và không thực sự làm những gì chúng nói. Hoặc bất kỳ sự kết hợp của bất cứ điều gì.

Tại thời điểm này, tôi muốn lưu trữ nội dung của mình trên máy chủ FTP ở tầng hầm.

lá cờ vn
Bạn đang sử dụng cái gì để đặt các đối tượng? Ví dụ, tôi đã thấy các thư viện không chỉ yêu cầu PutObject mà cả PutObjectAcl.
pbuzz007 avatar
lá cờ si
SDK Node.js
lá cờ vn
Bạn có thể hiển thị các cuộc gọi cụ thể đang được sử dụng và nhận được thông báo lỗi cụ thể không?
pbuzz007 avatar
lá cờ si
Không có gì thực sự với nó. Tôi gọi hàm `s3.upload` do AWS SDK cung cấp và tôi gặp lỗi `Quyền truy cập bị từ chối`. Tuy nhiên, tôi có thể xóa tốt.
Tim avatar
lá cờ gp
Tim
Thật không may, chúng tôi không có đủ thông tin để trợ giúp ở đây. Để điều tra đầy đủ điều này, tôi muốn xem các quyền IAM, chính sách nhóm, ACL nhóm cho từng nhóm, chặn cài đặt truy cập công khai, sau đó chạy lệnh CLI và kết quả. Nó sẽ là rất nhiều công việc.Có thể phức tạp để giải quyết vấn đề này, nhưng tôi có thể đảm bảo với bạn rằng nó hoạt động như tài liệu. Bạn đã thực hiện bất kỳ khóa đào tạo AWS nào chưa? Dành riêng cho bảo mật S3 hoặc tốt hơn nữa là liên kết kiến ​​trúc AWS / đào tạo bảo mật AWS. AWS là một nền tảng doanh nghiệp rất phức tạp, mọi người dành nhiều năm để tìm hiểu nó.
pbuzz007 avatar
lá cờ si
Tôi đã liệt kê các kết hợp của ba cài đặt quyền nhóm chính. Nếu phải mất nhiều năm để ai đó hiểu được điều đó, thì thật nực cười. Tôi chỉ muốn một nhóm riêng có CRUD cho một người dùng IAM chứ không phải ai khác và một nhóm có GET cho bất kỳ ai và CRUD cho một người dùng IAM chứ không phải ai khác. Tôi thực sự đã thử mọi sự kết hợp có thể, và kết quả thật vô nghĩa. Chặn quyền truy cập công khai là một trong những cài đặt được xác định và diễn đạt tồi tệ nhất mà tôi có thể tưởng tượng.
pbuzz007 avatar
lá cờ si
Tôi cũng liệt kê từng điều bạn yêu cầu, bao gồm cài đặt IAM (Quản trị viên = mọi thứ, Người dùng = không có gì). Các lệnh được chạy từ Node JS SDK và kết quả chỉ đơn giản là "Truy cập bị từ chối" hoặc thành công, dừng hoàn toàn. Thành thật mà nói thì không có gì nhiều. Nó chỉ không hoạt động như mô tả. Các chính sách không hoạt động đúng.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.