HomeOur Team
Giới thiệu về AWS IAM (Identity and access management)

Giới thiệu về AWS IAM (Identity and access management)

By dung.nguyen
Published in Solutions
October 16, 2022
4 min read

AWS IAM

Tiếp tục seri về aws, hôm nay mình sẽ giới thiệu cho các bạn về AWS IAM (Identity and Access Management)

IAM là gì

IAM (indentity and Access Management) cho phép bạn quản lý truy cập vào các dịch vụ và tài nguyên của AWS nhằm mục đích bảo mật. Với IAM, bạn có thể tạo user, cấp quyền truy cập, quản lý người dùng và group, cấp quyền sử dụng cho từng user hoặc theo group. Quyền hạn truy cập có thể ở dạng allow/deny, giới hạn truy cập có thể là 1 service hoặc 1 resource cụ thể nào đó (1 máy chủ, 1 database cụ thể) IAM được cung cấp miễn phí, bạn có thể yên tâm sử dụng mà k cần lo việc phải trả thêm chi phí.

IAM để làm gì

  • Tạo, quản lý user và group, sử dụng các permission để deny/allow quyền truy cập vào service hoặc resource aws.
  • Chia nhiều tài khoản nhỏ vừa đủ cho các dự án được phép sử dụng các dịch vụ cần thiết
  • Cấp quyền truy cập trên các service (Ec2, RDS, S3…)
  • Cấp quyền truy cập tới 1 resource cụ thể như Instance Ec2, Bucket, RDS database …

IAM được sinh ra để nhằm giảm thiểu những vấn đề liên quan security. Bạn hãy hình dung, nếu bạn cấp 1 tài khoản Full access với service EC2 cho 1 dev dự án. Bạn dev này có ý đồ xấu, dùng tài khoản tạo rất nhiều Ec2 cấu hình cao để đào Bitcoin… Đây là case study đã gặp rất nhiều trong các dự án thực tế.

IAM gồm những gì

IAM gồm các thành phần cơ bản như: Role, Policy, User, Group

  • User: cho phép truy cập truy cập vào tài nguyên aws của bạn, có thể dưới dạng aws CLI (sửu dụng command line) hoặc aws console (sủ dụng giao diện web) hoặc có thể là cả 2.
    • User gồm 2 loại: root user và IAM user
  • Group: nhóm các user vào từng nhóm với từng role và permission.
  • Role: Tập hợp các quyền để allow/deny tài nguyên aws của bạn.
  • Policy: Đơn vị nhỏ trên từng action của từng service hoặc resource được gắn vào user, group hoặc role để phân quyền

Quản lý IAM

IAM là 1 service riêng của aws. Tại màn hình quản lý bạn tìm service IAM Mình sẽ hướng dẫn các bạn tạo 1 IAM User Trong IAM, bạn chọn Users, chọn Add user

Tiếp theo bạn nhập tên user, chọn access type:

  • Programmatic access: Cho phép tương tác resource hoặc service thông qua CLI hoặc SDK
  • AWS Management Console access: Cho phép vào màn hình quản lý bằng web

Tiếp theo bạn set permission cho user. Bạn có thể đưa user vào 1 group đã có, hoặc attach polices trực tiếp vào từng user

Tiếp sau đó bạn đánh tag, reivew và chọn create user. Sau đó AWS sẽ show cho bạn các thông tin user như bạn đã tạo như: user/password, accesss key, url đăng nhập…

Tới đây bạn đã hoàn thành tạo 1 IAM user rồi. Bạn có thể download file CSV để xem lại sau này. Lưu ý: secret access key chỉ show tại màn hình này, nếu bạn k lưu thì không thể xem lại.

Một số lưu ý với IAM

Tài khoản root

Khi bạn tạo 1 tài khoản aws, thì đó là tài khoản root. Tài khoản root có quyền tối cao và không thể chặn được quyền truy cập của tài khoản root. Thật rủi ro nếu bạn để lộ tài khoản root phải không. Để tránh việc này, việc đầu tiên cần làm sau khi tạo tài khoản root là:

  • Tạo 1 super user với quyền AdministratorFullAccess (Sử dụng thay thế tài khoản root). Nếu bạn hỏi tại sao lại tạo 1 tài khoản ngang quyền với tài khoản root thì: Nếu bạn có lộ user administrator này thì bạn còn có cách dùng tài khoản root delete user administrator.
  • Delete AccessKey trong của tài khoản root
  • Bật MFA
  • Ghi thông tin root user vào 1 mẩu giấy, bỏ vào 1 phong thư. Sau đó đem phong thư vào két sắt của bạn. Ok done Bạn đừng nghĩ mình đùa, mình chia sẻ thật cho bạn đó nhé.

Làm gì nếu có nhiều dự án và nhiều người cùng làm việc chung với bạn

  • Đối với dự án, hãy cấp quyền hạn sử dụng vừa đủ cho nhu cầu, không cấp thừa. Ví dụ nếu dự án cần 1 bucket trên s3, hãy tạo 1 tài khoản với quyền truy cập vào đúng bucket đó. Nếu bạn lười biếng, cấp quyền sử dụng cho service S3 rất có thể 1 ngày nào đó, bạn sẽ bị delete toàn bộ bucket của bạn làm ảnh hưởng tới những dự án khác. Ngay sau khi dự án kết thúc, hãy delete hoặc huỷ bỏ quyền truy cập liên quan.
  • Đối với những người đồng nghiệp làm việc liên quan: Nếu bạn là administrator, hãy cấp quyền truy cập vừa đủ với những việc đồng nghiệp cần làm, đồng nghiệp bạn quản lý EC2, hãy cấp user có quyền truy cập service EC2, không thừa không thiếu. Nếu đồng nghiệp bạn cần sử dụng service S3, chỉ cấp quyền truy cập với S3.

Tạo tài khoản với vừa đủ quyền, đến từng quyền access nhỏ nhất như: chỉ được phép đọc object trong Bucket mà không được phép view list bucket hay xoá bucket

Việc bạn làm càng chặt, sẽ giảm thiếu tối đa những nguy cơ tiềm ẩn liên quan tới security. Những vẫn đề liên quan security làm ảnh hưởng trực tiếp tới túi tiền của bạn. Nếu để xảy ra những vấn đề securiry, bạn hoàn toàn có thể phải đền bù tổn thất và bị đuổi việc.


Tags

awsiamsecurity

Share

dung.nguyen

dung.nguyen

Expertise

Related Posts

Một số cách truy xuất dữ liệu trên AWS S3 có thể bạn muốn biết
Solutions
Một số cách truy xuất dữ liệu trên AWS S3 có thể bạn muốn biết
November 15, 2022
8 min
An toàn thông tin trên Cloud Phần 1
Tips / Tricks
An toàn thông tin trên Cloud Phần 1
December 15, 2022
11 min
© 2023, All Rights Reserved.
Powered By

Quick Links

HomeOur Team

Social Media