# STS là gì

STS (Security Token Service) là dịch vụ quản lý quyền truy cập tạm thời được cung cấp bởi VNPT Cloud. IAM cung cấp hai loại danh tính: người dùng IAM (IAM user) và vai trò IAM (IAM role). Trong đó, các vai trò IAM không có thông tin xác thực danh tính vĩnh viễn, mà chỉ có thể nhận được thông tin xác thực tạm thời với thời hạn hiệu lực và quyền truy cập có thể tùy chỉnh thông qua STS, hay còn gọi là mã thông báo bảo mật (STS Token).

### Các khái niệm cơ bản

#### Người dùng IAM (IAM User)

Người dùng IAM là một loại danh tính thực thể trong IAM, có ID danh tính và thông tin xác thực cố định. Nó thường tương ứng với một người hoặc ứng dụng cụ thể.
Để biết thêm thông tin, vui lòng tham khảo [Quản lý người dùng](/docs/uproject/user).

#### Vai trò IAM (IAM Role)

Vai trò IAM là một người dùng ảo có thể được cấp một tập hợp các chính sách quyền hạn. Khác với người dùng phụ IAM, vai trò IAM không có mật khẩu đăng nhập hoặc khóa truy cập (access key) cố định. Nó cần được giả lập (assume) bởi một người dùng thực thể đáng tin cậy (người dùng IAM). Sau khi giả lập thành công, người dùng thực thể sẽ nhận được thông tin xác thực tạm thời của vai trò IAM, tức là mã thông báo bảo mật (STS Token). Mã thông báo bảo mật có thể được sử dụng để truy cập các tài nguyên được ủy quyền dưới danh nghĩa của vai trò IAM.

#### Chính sách quyền hạn (Permission Policies)

Chính sách quyền hạn là một tập hợp các quyền được mô tả trong một cấu trúc cú pháp, có thể mô tả chính xác tập hợp các tài nguyên, thao tác và điều kiện được ủy quyền. Chính sách quyền hạn là một đặc tả ngôn ngữ đơn giản mô tả một tập hợp các quyền. Một vai trò IAM có thể được liên kết với một tập hợp các chính sách quyền hạn, các vai trò IAM không liên kết chính sách quyền hạn vẫn có thể tồn tại nhưng chúng không thể truy cập tài nguyên.

#### Giả lập vai trò (Assuming Roles)

Giả lập vai trò là phương thức mà người dùng thực thể sử dụng để lấy mã thông báo bảo mật của danh tính vai trò. Người dùng thực thể có thể lấy mã thông báo bảo mật của vai trò bằng cách gọi API STS AssumeRole - Nhận thông tin xác thực danh tính tạm thời bằng cách giả lập một vai trò, và sử dụng mã thông báo bảo mật đó để truy cập API dịch vụ đám mây.

### Chức năng tính năng

#### Nhận STS Token khi sử dụng người dùng IAM để giả lập vai trò

Người dùng IAM được ủy quyền có thể sử dụng khóa truy cập (access key) của chính họ để gọi AssumeRole - Nhận thông tin xác thực tạm thời của vai trò được giả lập để lấy STS Token của một vai trò IAM nhất định, từ đó có thể sử dụng STS Token để truy cập tài nguyên đám mây VNPT Cloud.
Điều này thường được sử dụng trong các kịch bản truy cập chéo tài khoản và các kịch bản ủy quyền tạm thời.

### Ưu điểm sản phẩm

Sử dụng STS Token giúp giảm thiểu rủi ro rò rỉ khóa truy cập dài hạn (AccessKey).
STS Token có tính nhạy cảm về thời gian và có thể tùy chỉnh thời gian hiệu lực, sẽ tự động hết hạn sau khi quá hạn mà không cần phải thay đổi định kỳ.
Các chính sách quyền hạn tùy chỉnh có thể được liên kết với STS Token, cung cấp khả năng ủy quyền tài nguyên đám mây linh hoạt và chi tiết hơn.