Chuyển tới nội dung chính

Quản lý IAM User và IAM Role cho Object Storage

IAM UserIAM Role là mô hình định danh của FPT Object Storage, cho phép cấp quyền chi tiết theo chuẩn S3 bằng một policy JSON — tương tự AWS IAM. Mỗi IAM User có tên riêng, policy riêng, và tối đa 2 access key chỉ dùng được đúng những gì policy cho phép.

ghi chú

IAM User và IAM Role chỉ áp dụng cho bucket trên cụm HCM-04. Ở các cụm khác, tiếp tục dùng SubUser để chia sẻ quyền truy cập bucket giới hạn — xem Quản lý SubUser.

IAM User so với Access Key và SubUser

FPT Object Storage hiện có ba nơi để sinh credential S3. Ba nơi này không thay thế nhau — kiểm tra kỹ đang dùng loại nào trước khi chia sẻ key:

Access Key (tab cũ)IAM User > Access KeySubUser
Cụm áp dụngMọi cụmChỉ HCM-04Mọi cụm trừ HCM-04
Phạm vi quyềnToàn quyền admin trên accountĐúng theo IAM Policy đã gánRead / Write / Read-Write / Full theo từng bucket
Giới hạn key5 key/region2 key/IAM User2 key/SubUser

Nếu chỉ cần chia sẻ quyền truy cập bucket giới hạn và Project chưa dùng HCM-04, dùng SubUser sẽ đơn giản hơn. Dùng IAM User khi cần kiểm soát quyền chi tiết theo từng ứng dụng, ở mức policy S3.

Xem danh sách IAM User

Bước 1: Vào menu Object Storage Management, chọn Project, mở tab IAM User.

ghi chú

Tab IAM User chỉ xuất hiện khi Object Storage trên cụm HCM-04 đã được enable cho Project. Nếu không thấy tab này, Project chưa dùng HCM-04.

Bước 2: Tab mặc định vào view IAM Users. Dùng bộ chuyển ở đầu trang để đổi qua view IAM Roles.

Bước 3: Dùng ô tìm kiếm để tìm IAM User theo tên.


Tạo IAM User

Bước 1: Ở view IAM Users, nhấn Create IAM User.

Bước 2: Nhập IAM User Name:

  • 1–64 ký tự.
  • Ký tự cho phép: chữ, số và + = , . @ _ -.
  • Phải duy nhất trong account (so trùng không phân biệt hoa/thường).

Bước 3: Nhấn Create.

ghi chú

IAM User vừa tạo chưa có quyền và chưa có access key. Cần gán IAM Policy và sinh access key trước khi dùng để gọi S3 — xem hai phần tiếp theo.


Gán policy cho IAM User

IAM User không truy cập được tài nguyên S3 nào cho tới khi có policy. Mỗi IAM User chỉ có đúng một policy JSON — lưu policy mới sẽ thay thế toàn bộ policy cũ.

Bước 1: Vào trang chi tiết IAM User, chọn tab IAM Policy.

Bước 2: Nhấn Create IAM Policy. Editor nạp sẵn một template mẫu để chỉnh sửa — ví dụ cấp quyền đọc/ghi cho một bucket:

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowReadWriteOneBucket",
"Effect": "Allow",
"Action": ["s3:GetObject", "s3:PutObject", "s3:ListBucket"],
"Resource": [
"arn:aws:s3:::YOUR-BUCKET-NAME",
"arn:aws:s3:::YOUR-BUCKET-NAME/*"
]
}
]
}

Bước 3: Sửa giá trị Resource trỏ đúng bucket của bạn, sau đó nhấn Save.

Bước 4: Xác nhận thay đổi. Dialog nhắc rằng việc lưu sẽ thay thế toàn bộ policy và có hiệu lực ngay với mọi access key hiện có của IAM User này.

cảnh báo
  • Resource trong policy phải thuộc bucket trong chính account của bạn — resource ngoài account luôn bị từ chối.
  • Không thể gán quyền quản trị danh tính (iam:*), kể cả qua wildcard *.
  • Không thể gán s3:PutBucketPolicy, s3:PutBucketAcl, hoặc s3:PutObjectAcl qua policy này — đây là guardrail an toàn luôn bị chặn bất kể bạn khai gì.
  • Nếu một action cần dùng không hoạt động như mong đợi, có thể action đó chưa được hỗ trợ trên cụm hiện tại — liên hệ hỗ trợ FPT Cloud để xác nhận trước khi debug tiếp.

Để gỡ toàn bộ quyền của một IAM User, vào tab IAM Policy và nhấn Delete Policy — user vẫn tồn tại nhưng mọi access key của nó lập tức mất quyền truy cập S3.


Sinh access key cho IAM User

Bước 1: Vào trang chi tiết IAM User, chọn tab Access Key.

Bước 2: Nhấn Generate Key. Mỗi IAM User giữ tối đa 2 access key cùng lúc.

Bước 3: Hệ thống sinh ra Access KeySecret Key. Copy và lưu lại ngay cả hai — Secret Key chỉ hiển thị một lần và không thể xem lại sau đó.

Bước 4: Nhấn I've saved the secret key để đóng panel.

cảnh báo

Nếu đóng panel trước khi copy Secret Key, key đó vẫn được tạo nhưng secret đã mất vĩnh viễn — không có cách khôi phục. Cách duy nhất là xoá key đó rồi sinh key mới.

Key vừa sinh dùng được ngay với S3 endpoint của HCM-04 — nhưng nếu IAM User chưa có policy, mọi request dùng key này vẫn bị từ chối.


Xoá (thu hồi) access key

Bước 1: Trong tab Access Key của IAM User, tìm key cần xoá, mở menu hàng, chọn Delete.

Bước 2:delete để xác nhận, rồi nhấn Delete.

cảnh báo

Việc xoá có hiệu lực ngay và vĩnh viễn — không có thời gian ân hạn, không thể hoàn tác. Nếu ứng dụng vẫn cần truy cập S3, hãy sinh key thay thế và cập nhật ứng dụng trước, rồi mới xoá key cũ.


Xoá IAM User

Bước 1: Từ danh sách IAM Users, mở menu hàng và chọn Delete — hoặc từ trang chi tiết user, dùng Delete IAM User trong phần Danger Zone.

Bước 2:delete để xác nhận, rồi nhấn Delete. Hệ thống tự động thu hồi mọi access key và xoá policy trước khi xoá user.

cảnh báo
  • Hệ thống không quét bucket policy để tìm tham chiếu tới IAM User này trước khi xoá. Nếu bucket policy nào đang khai user này làm Principal, statement đó sẽ âm thầm ngừng khớp — tự kiểm tra và dọn bucket policy của bạn.
  • Tên IAM User có thể dùng lại. Nếu sau này tạo IAM User mới trùng tên, statement cũ trong bucket policy tham chiếu tên đó có thể khớp lại với user mới, vô tình cấp lại quyền cũ. Hãy dọn bucket policy trước khi dùng lại tên.
  • Xoá IAM User không ảnh hưởng đến bucket hay dữ liệu — bucket thuộc về account, độc lập với danh tính.

IAM Role

cảnh báo

Ở phiên bản này, IAM Role có thể tạo và cấu hình được, nhưng portal chưa có cách nào để thực sự dùng role đó lấy credential hoạt động (chưa có thao tác "assume role", chưa có luồng credential tạm thời). Hiện tại, role chỉ có tác dụng làm Principal tham chiếu — copy ARN của role để khai trong bucket policy — bản thân role không cấp quyền truy cập S3 hoạt động được cho IAM User nào. Tính năng này sẽ được bổ sung ở bản sau.

IAM Role đại diện cho một bộ quyền dùng chung, kèm danh sách IAM User được phép dùng, giúp bạn không phải lặp lại cùng một policy trên từng user.

Bước 1: Ở tab IAM User, chuyển sang view IAM Roles, nhấn Create Role.

Bước 2: Nhập Role Name (quy tắc ký tự giống tên IAM User), và tuỳ chọn tick chọn IAM Users được phép dùng role này.

Bước 3: Nhấn Create.

Bước 4: Vào trang chi tiết role, chọn tab Role Policy để gán policy JSON — cùng định dạng và guardrail như policy của IAM User ở trên, chỉ khác là áp dụng cho mọi IAM User đang dùng role.

Bước 5: Để đổi danh sách IAM User được phép dùng role, vào tab Detail, mở card IAM Users, nhấn Edit IAM Users. Lưu sẽ ghi đè toàn bộ danh sách cũ.

Bước 6: Để xoá role, vào trang chi tiết, dùng Delete IAM Role trong phần Danger Zone, gõ delete để xác nhận. Thao tác này xoá policy và quan hệ tin cậy của role — không xoá các IAM User từng được phép dùng role.

cảnh báo

Giống IAM User, xoá role không quét bucket policy để tìm tham chiếu — tự dọn mọi bucket policy đang khai ARN của role làm Principal.