Kỹ sư Cloud · Bước 3/8 · 8 phút
Danh tính và quyền truy cập: đặc quyền tối thiểu
Khoá chặt tài khoản quyền lực nhất và chỉ cấp cho người và ứng dụng đúng quyền họ cần.
Danh tính là vành đai mới
Trên cloud, ai có đúng thông tin đăng nhập đều có thể chạm tới tài nguyên của bạn từ bất cứ đâu. Vì vậy quản lý danh tính và quyền truy cập, IAM (identity and access management), là lớp bảo vệ quan trọng nhất bạn có. AWS IAM, Microsoft Entra ID cùng cơ chế phân quyền theo vai trò của Azure, và Google Cloud IAM đều giải cùng một bài toán: ai được làm gì với tài nguyên nào.
Bảo vệ tài khoản cao nhất trước tiên
Khi bạn tạo tài khoản cloud, lần đăng nhập đầu tiên có toàn quyền với mọi thứ, kể cả thanh toán. Trên AWS đó là root user. Hãy bật xác thực nhiều lớp (MFA) cho nó ngay lập tức, dùng mật khẩu mạnh và duy nhất, và đừng dùng nó cho công việc hằng ngày.
Tạo một danh tính riêng để dùng hằng ngày, chỉ với các quyền bạn cần. Phần lớn nhà cung cấp hiện khuyến khích đăng nhập một lần (single sign-on) và thông tin đăng nhập ngắn hạn, và đó là hướng đi đúng.
Đặc quyền tối thiểu
Đặc quyền tối thiểu (least privilege) nghĩa là mỗi người hoặc ứng dụng chỉ nhận tập quyền nhỏ nhất đủ để làm việc của mình, không hơn. Một job sao lưu cần ghi vào một bucket, không cần quyền xoá mọi cơ sở dữ liệu.
Cấp quyền cho vai trò và nhóm, đừng cấp lẻ cho từng người. Ưu tiên vai trò với thông tin đăng nhập tạm thời hơn là access key dùng lâu dài. Rà soát quyền định kỳ, và thu hồi khi người ta đổi công việc.
Key chính là mật khẩu
Access key và key của service account hoạt động như mật khẩu không bao giờ hết hạn. Không bao giờ để chúng trong code, Git, tin nhắn hay ảnh chụp màn hình. Bot quét các repository công khai để tìm key cloud bị lộ chỉ trong vài phút, và một key bị lộ có thể đẩy hoá đơn lên rất cao vì bị dùng để đào tiền mã hoá.
Thử ngay
Viết và rà soát một policy đặc quyền tối thiểu
- 1.Chọn một việc: một app chỉ tải ảnh lên một bucket lưu trữ.
- 2.Hỏi chatbot bằng câu lệnh bên dưới để lấy policy cho nhà cung cấp bạn thích.
- 3.Đọc từng quyền. Tự hỏi nếu bỏ quyền đó đi thì app còn chạy được không.
- 4.Tìm mọi ký tự đại diện, như * ở phần hành động hoặc tài nguyên, và thu hẹp lại.
Viết một IAM policy theo nguyên tắc đặc quyền tối thiểu cho một app chỉ tải lên và đọc ảnh trong một bucket tên [tên], trên [AWS, Azure hoặc Google Cloud]. Giải thích từng quyền, và chỉ ra chỗ nào rộng hơn mức cần thiết.