Bài này chúng ta sẽ tìm hiểu về các trường hợp khi nào dùng vai trò IAM, trước khi chúng ta bắt đầu sử dụng AWS một cách dễ dàng hơn bằng cách hiểu các khái niệm và công dụng của từng dịch vụ, tính năng trong AWS.

1. Các trường hợp sử dụng vai trò IAM

Có hai cách để sử dụng các vai trò:

  • Bảng điều khiển IAM: Khi Người dùng IAM làm việc trong Bảng điều khiển IAM và muốn sử dụng vai trò, thì họ tạm thời truy cập các quyền của vai trò. Người dùng IAM từ bỏ các quyền ban đầu của họ và nhận các quyền của vai trò. Khi Người dùng IAM thoát khỏi vai trò, các quyền ban đầu của họ sẽ được khôi phục.
  • Truy cập có lập trình: Một dịch vụ AWS chẳng hạn như phiên bản Amazon EC2 có thể sử dụng vai trò bằng cách yêu cầu thông tin xác thực bảo mật tạm thời bằng cách sử dụng các yêu cầu có lập trình tới AWS.

Vai trò IAM có thể được sử dụng theo những cách sau:

  • Người dùng IAM(IAM User): Vai trò IAM được sử dụng để cấp quyền cho Người dùng IAM của bạn để truy cập tài nguyên AWS trong tài khoản của chính bạn hoặc tài khoản khác. Người dùng IAM có thể sử dụng các quyền được đính kèm với vai trò bằng Bảng điều khiển IAM. Vai trò cũng ngăn chặn việc vô tình truy cập vào các tài nguyên AWS nhạy cảm.
  • Ứng dụng và Dịch vụ(Applications and Services): Bạn có thể cấp quyền truy cập các quyền kèm theo vai trò cho các ứng dụng và dịch vụ bằng cách gọi hàm AssumeRole API. Hàm AssumeRole trả về thông tin xác thực bảo mật tạm thời được liên kết với một vai trò. Một ứng dụng và các dịch vụ chỉ có thể thực hiện những hành động được vai trò cho phép. Một ứng dụng không thể thoát khỏi vai trò theo cách Người dùng IAM trong Bảng điều khiển thực hiện, thay vào đó nó ngừng sử dụng với thông tin xác thực tạm thời và tiếp tục thông tin đăng nhập của nó.
  • Người dùng được Liên kết(Federated Users): Người dùng được Liên kết có thể đăng nhập bằng thông tin đăng nhập tạm thời do nhà cung cấp danh tính cung cấp. AWS cung cấp IDP (nhà cung cấp danh tính) và thông tin xác thực tạm thời được liên kết với vai trò cho người dùng. Thông tin xác thực cấp quyền truy cập các quyền cho người dùng.

Sau đây là các trường hợp dùng Vai trò:

  • Chuyển sang vai trò là Người dùng IAM trong một tài khoản AWS để truy cập tài nguyên trong một tài khoản khác mà bạn sở hữu.
    • Bạn có thể cấp quyền cho Người dùng IAM của mình để chuyển đổi vai trò trong tài khoản AWS hoặc tài khoản khác của bạn. Ví dụ: bạn có các phiên bản Amazon EC2 rất quan trọng đối với tổ chức của bạn. Thay vì trực tiếp cấp quyền cho người dùng để chấm dứt phiên bản, bạn có thể tạo một vai trò với các đặc quyền cho phép quản trị viên chuyển sang vai trò khi họ cần chấm dứt phiên bản.
    • Bạn phải cấp quyền cho người dùng để đảm nhận vai trò một cách rõ ràng.
    • Vai trò xác thực đa yếu tố có thể được thêm vào vai trò để chỉ những người dùng đăng nhập bằng MFA mới có thể sử dụng vai trò này.
    • Các vai trò ngăn chặn những thay đổi ngẫu nhiên đối với tài nguyên nhạy cảm, đặc biệt nếu bạn kết hợp chúng với việc kiểm tra để các vai trò chỉ có thể được sử dụng khi cần thiết.
    • Người dùng IAM trong một tài khoản có thể chuyển sang vai trò trong cùng một tài khoản hoặc tài khoản khác. Với vai trò, người dùng có thể truy cập các tài nguyên được vai trò cho phép. Khi người dùng chuyển sang vai trò, thì các quyền ban đầu của họ sẽ bị tước bỏ. Nếu người dùng thoát khỏi vai trò, quyền ban đầu của họ sẽ được khôi phục.
  • Cung cấp quyền truy cập vào dịch vụ AWS
    • Các dịch vụ AWS sử dụng các vai trò để truy cập tài nguyên AWS.
    • Mỗi dịch vụ khác nhau về cách sử dụng các vai trò và cách các vai trò được gán cho dịch vụ.
    • Giả sử một dịch vụ AWS chẳng hạn như phiên bản Amazon EC2 chạy ứng dụng của bạn, muốn yêu cầu tài nguyên AWS chẳng hạn như Amazon S3 bucket, dịch vụ phải có thông tin xác thực bảo mật để truy cập tài nguyên. Nếu bạn nhúng trực tiếp thông tin xác thực bảo mật vào phiên bản, thì việc phân phối thông tin xác thực cho nhiều phiên bản sẽ tạo ra rủi ro bảo mật. Để khắc phục những vấn đề như vậy, bạn có thể tạo một vai trò được chỉ định cho phiên bản Amazon EC2 cấp quyền truy cập tài nguyên..
  • Cung cấp quyền truy cập cho người dùng được xác thực bên ngoài.
    Đôi khi người dùng có danh tính bên ngoài AWS, chẳng hạn như trong danh bạ công ty của bạn. Nếu những người dùng đó muốn làm việc với các tài nguyên AWS, thì họ phải biết thông tin xác thực bảo mật. Trong những tình huống như vậy, chúng tôi có thể sử dụng một vai trò để chỉ định quyền cho nhà cung cấp danh tính bên thứ ba (IDP).
    • Liên kết dựa trên
      SAML SAML 2.0 (Ngôn ngữ đánh dấu xác nhận bảo mật 2.0) là một khuôn khổ mở mà nhiều nhà cung cấp danh tính sử dụng. SAML cung cấp cho người dùng đăng nhập một lần được liên kết vào Bảng điều khiển quản lý AWS, để người dùng có thể đăng nhập vào Bảng điều khiển quản lý AWS.
      Cách liên kết dựa trên SAML hoạt động
    • Liên kết nhận dạng web
      Giả sử bạn đang tạo ứng dụng di động truy cập tài nguyên AWS, chẳng hạn như trò chơi chạy trên thiết bị di động, nhưng thông tin được lưu trữ bằng Amazon S3 và DynamoDB.
      Khi tạo một ứng dụng như vậy, bạn cần đưa ra yêu cầu đối với các dịch vụ AWS phải được ký bằng khóa truy cập AWS. Tuy nhiên, không nên sử dụng thông tin đăng nhập AWS dài hạn, thậm chí không phải ở dạng mã hóa. Ứng dụng phải yêu cầu thông tin xác thực bảo mật tạm thời được tạo động khi cần bằng cách sử dụng liên kết nhận dạng web. Các thông tin xác thực bảo mật tạm thời này sẽ ánh xạ đến một vai trò có các quyền cần thiết để ứng dụng thực hiện một tác vụ.
      Với liên kết danh tính web, người dùng không yêu cầu bất kỳ mã đăng nhập tùy chỉnh hoặc danh tính người dùng nào. Người dùng có thể đăng nhập bằng nhà cung cấp danh tính bên ngoài, chẳng hạn như đăng nhập bằng Amazon, Facebook, Google hoặc OpenID khác. Sau khi đăng nhập, người dùng nhận được mã xác thực và họ trao đổi mã xác thực để nhận thông tin xác thực bảo mật tạm thời.
  • Cung cấp quyền truy cập cho bên thứ ba
    Khi các bên thứ ba muốn truy cập tài nguyên AWS, thì bạn có thể sử dụng các vai trò để ủy quyền quyền truy cập cho họ. Vai trò IAM cấp cho các bên thứ ba này quyền truy cập tài nguyên AWS mà không cần chia sẻ bất kỳ thông tin xác thực bảo mật nào.
    Bên thứ ba cung cấp thông tin sau để tạo vai trò:
    • Bên thứ ba cung cấp ID tài khoản chứa Người dùng IAM để sử dụng vai trò của bạn. Bạn cần chỉ định ID tài khoản AWS làm tài khoản chính khi bạn xác định chính sách tin cậy cho vai trò.
    • ID bên ngoài của bên thứ ba được sử dụng để liên kết với vai trò. Bạn chỉ định ID bên ngoài để xác định chính sách tin cậy của vai trò.
    • Các quyền được bên thứ ba sử dụng để truy cập tài nguyên AWS. Các quyền được liên kết với vai trò được thực hiện khi bạn xác định chính sách tin cậy. Chính sách xác định những hành động mà họ có thể thực hiện và những tài nguyên nào họ có thể sử dụng.

Cài ứng dụng cafedev để dễ dàng cập nhật tin và học lập trình mọi lúc mọi nơi tại đây.

Tài liệu từ cafedev:

Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:

Chào thân ái và quyết thắng!

Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!