Lý thuyết

  • Mục tiêu

Trong bài hôm nay chúng ta sẽ tìm hiểu về tính bảo mật của Amazon Web Services Security : IAM.

  • Tổng quát

IAM - AWS Identify and Access Management : là một dịch vụ của AWS dùng để kiểm soát quyền truy cập vào các dịch vụ của AWS, lưu ý IAM không dùng để quản lý quyền truy cập vào ứng dụng. Người dùng nên dùng tài khoản IAM để quản lý hệ thống chứ không nên dùng tài khoản master. IAM có thể dùng quản lý quyền sử dụng các dịch vụ của AWS, chú ý IAM không phải dùng để quản lý quyền sử dụng của ứng dụng. Ngoài ra IAM cũng cung cấp nhiều tính năng khác kèm theo như:

    • Identity Federation: là tính năng cho phép dùng tài khoản của công ty khác như Facebook, Google, Microsoft để đăng nhập vào AWS
    • Roles: Vai trò là một cách chia sẻ các quyền trên AWS.
    • Cross account API access: là một tính năng của AWS cho phép cấp quyền cho tài khoản khác sử dụng dịch vụ của tài khoản này.

Sau đây là một số khái niệm cơ bản trong IAM

    • User and Group within Accounts:AWS dùng khái niệm người dùng và nhóm người dùng để quản lý tài khoản
    • Unique security credentials: Với mỗi người dùng chìa khóa đăng nhập là duy nhất không thể chia sẻ với người dùng khác.
    • Policies control access to AWS APIs:Để quản lý quyền sử dụng dịch vụ và APIs, AWS đặt ra một khái niệm gọi là "chính sách"
    • API calls must be signed by either: Khi muốn sử dụng một dịch vụ hoặc API nào, người dùng phải tạo ra một lời gọi được ký bằng chìa khóa đăng nhập
    • Deep integration into some Services: IAM được dùng kết hợp với tất cả các dịch vụ khác của AWS
    • AWS Management Console supports User log on: IAM được dùng kết hợp với giao diện chính của AWS, user có thể đăng nhập giao diện chính bằng tài khoản IAM
    • Not for Operating Systems or Applications: Chú ý IAM không dùng cho hệ điều hành hay ứng dụng, chỉ được dùng để cấp quyền cho ứng dụng của AWS.

Các chi tiết của IAM:

  • Mỗi người dùng có một định danh và chìa khóa đăng nhập riêng ( Access ID & Secret Key )
  • Định danh và chìa khóa đăng nhập này có thể sử dụng để ký tất cả loại lời gọi, có nhiều cách để tạo lời gọi bằng dòng lệnh, công cụ của bên thư 3, chương trình,... Ví dụ để ký các lời gọi sau
    • Tạo mới, bật, tắt, xóa máy chủ EC2
    • Tạo, tháo lắp, tách ổ đĩa.
    • Cài nhóm an toàn
    • Tất cả các việc có thể làm qua AWS Management Console đều được ký bởi định danh và chìa khóa 

Sau đây chúng ta sẽ tìm hiểu mô Identify Federation dùng tài khoản của tổ chức để đăng nhập vào AWS. Các bước cụ thể theo hình vẽ dưới đây

        


  • Đầu tiên một class được gọi là Session Proxy, nó được cung cấp bởi thư viện của AWS có trong tất cả các ngôn ngữ .Net, PHP, Java,..
  • Tiếp theo sesion proxy được tích hợp với phần mềm của doanh nghiệp
  • Bước ba, session proxy đăng nhập vào phần mềm quản lý tài khoản của doanh nghiệp bằng tài khoản của người dùng. Việc này thực hiện theo chuẩn Active Directory Federation Serivces của Microsoft.
  • Sau khi đăng nhập người dùng nhận được một chìa khóa gọi là SAML token.
  • Thứ tư, session proxy tự động gửi chìa khóa SAML token cho AWS, nhận về một chìa khóa thứ hai gọi là STS token.
  • Cuối cùng ứng dụng sử dụng STS token để ký lời gọi dịch vụ của AWS.

Câu hỏi:

Dựa theo nội dung bài học, Identity Federation là tính năng cho phép người dùng làm được việc gì ?

A. là tính năng cho phép dùng tài khoản của công ty khác như Facebook, Google, Microsoft để đăng nhập vào AWS

B. là tính năng có vai trò là một cách chia sẻ các quyền trên AWS.

C. A & B đều đúng

D. A & B đều sai