20

Tôi đang thêm và xóa chính sách người dùng AWS IAM theo lập trình và tôi nhận được kết quả không nhất quán từ việc áp dụng các chính sách đó.Tôi nên chờ bao lâu sau khi áp dụng chính sách AWS IAM trước khi hợp lệ?

Ví dụ, điều này có thể hoặc có thể không thành công (Tôi đang sử dụng SDK Java 1.6.6):

  1. Bắt đầu với một người sử dụng có thể đọc từ một thùng đặc biệt
  2. chính sách sử dụng rõ ràng (chính sách danh sách sau đó gọi "deleteUserPolicy" cho mỗi một)
  3. Chờ cho đến khi người dùng không có chính sách sử dụng (gọi là "listUserPolicies" cho đến khi nó trả về một tập rỗng)
  4. Cố gắng để đọc từ xô (điều này nên thất bại)

Nếu tôi đặt điểm ngắt giữa # 3 và # 4 và chờ vài giây, người dùng không thể đọc từ nhóm, đó là những gì tôi mong đợi. Nếu tôi xóa các điểm ngắt, người dùng có thể đọc từ nhóm, điều đó sai.

(Đây cũng là mâu thuẫn khi tôi thêm một chính sách sau đó truy cập vào một tài nguyên)

Tôi muốn biết khi nào một sự thay đổi chính sách đã có ảnh hưởng đến các thành phần (S3, SQS, vv), không chỉ trên hệ thống IAM. Có cách nào để nhận biên lai hoặc xác nhận từ điều này không? Hoặc có thể có một khoảng thời gian nhất định để chờ đợi?

Có tài liệu nào về nội bộ của đơn đăng ký chính sách không?

(FYI tôi đã sao chép câu hỏi của tôi từ https://forums.aws.amazon.com/thread.jspa?threadID=140383&tstart=0)

Trả lời

24

Cụm từ "gần như ngay lập tức" được sử dụng 5 lần trong IAM FAQ, và, tất nhiên, có phần chủ quan.

Vì AWS là hệ thống phân phối trên toàn cầu, các thay đổi của bạn phải lan truyền và toàn bộ hệ thống dường như được thiết kế để hỗ trợ tính khả dụng và dung sai phân vùng as opposed to nhất quán ngay lập tức.

Tôi không biết bạn có cân nhắc điều đó hay không, nhưng nó hoàn toàn nằm trong phạm vi khả năng mà bạn thực sự có thể, ở bước 4 trong luồng của bạn, xem một chuỗi thông qua, thất bại, vượt qua, vượt qua, không thành công, thất bại, thất bại, thất bại ... bởi vì cả xô lẫn đối tượng trong thùng đều không phải là một thứ duy nhất ở một nơi, được chứng minh bằng mô hình mixed consistency của các hành động khác nhau trong S3, nơi các đối tượng mới được nhất quán trong khi ghi đè và xóa cuối cùng là nhất quán ... do đó khái niệm về chính sách "có hiệu lực" hay không trên thùng hoặc đối tượng không phải là khái niệm hoàn toàn có ý nghĩa vì chính sách áp dụng chính sách, gần như chắc chắn .

Để xác nhận việc áp dụng chính sách như vậy sẽ yêu cầu AWS để phơi bày khả năng (ít nhất gián tiếp) thẩm vấn mọi thực thể có bản sao được sao chép của chính sách đó để xem phiên bản hiện có hay không ... có khả năng không thực tế hoặc khó sử dụng để nói rằng ít nhất là trong một hệ thống lớn như S3, đã phát triển vượt ra ngoài một con số đáng kinh ngạc 2 trillion objects, and serves peak loads in excess of 1.1 million requests per second.

Official AWS câu trả lời cho this forum post cung cấp thêm thông tin:

Trong khi thay đổi bạn thực hiện cho các đơn vị IAM được phản ánh trong các API IAM ngay lập tức, có thể mất thời gian đáng kể cho các thông tin được phản ánh toàn cầu. Trong hầu hết các trường hợp, những thay đổi bạn thực hiện được phản ánh trong chưa đầy một phút. Đôi khi, điều kiện mạng đôi khi có thể làm tăng thời gian trễ và một số dịch vụ có thể lưu trữ một số thông tin không có thông tin xác thực nhất định, thời gian này sẽ hết hạn và được thay thế.

Câu trả lời đi kèm với những việc cần làm trong thời gian chờ đợi là "thử lại".

Chúng tôi khuyên bạn nên thử lại sau một chút chậm trễ ban đầu, vì trong hầu hết các trường hợp, bạn sẽ thấy các thay đổi của mình được phản ánh khá nhanh. Nếu bạn ngủ, mã của bạn sẽ chờ đợi quá lâu trong hầu hết các trường hợp, và có thể không đủ dài cho các trường hợp ngoại lệ hiếm hoi.

Chúng tôi chủ động giám sát hiệu suất của hệ thống sao chép. Nhưng giống như S3, chúng tôi chỉ đảm bảo tính nhất quán cuối cùng, không phải bất kỳ giới hạn trên cụ thể nào.

+6

Tôi thường thấy thay đổi sau 5 hoặc 10 giây. Nó chắc chắn không phải là ngay lập tức, nhưng nó không phải là rất chậm. –

+0

Cảm ơn bạn đã trả lời - may mắn thay đây là mã thử nghiệm và tôi có quyền tự do về cơ bản vứt bỏ cách tiếp cận hiện tại của mình và làm điều gì đó khác biệt. –

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