I – Tổng quan

Wasabi Cloud hỗ trợ mô hình IAM (Identity and Access Management) cho phép kiểm soát truy cập chi tiết đến tài nguyên lưu trữ như buckets, folders (prefix) và objects.
 Việc xây dựng các policy IAM sử dụng định dạng JSON giúp xác định chính xác:

  • Ai được truy cập
  • Truy cập ở đâu (bucket, folder)
  • Có thể làm gì (đọc, ghi, xóa, liệt kê…)

Wasabi IAM Policy có thể gán cho:

  • User (từng cá nhân, ứng dụng)
  • Group (tập hợp users cùng vai trò)
  • Tài nguyên cụ thể như bucket, folder, hoặc toàn hệ thống

II – Mục tiêu triển khai

Hướng dẫn cách viết policy bằng JSON để:

  • Cấp quyền đọc/ghi/xoá dữ liệu cho người dùng
  • Giới hạn quyền theo bucket, prefix (folder), hoặc hành động cụ thể
  • Cấu hình chính sách phân quyền theo nhóm (group-based) cho doanh nghiệp SMB

Mô Hình Cấu Hình Thực Tế

Doanh nghiệp: VACIF
 Hệ thống lưu trữ:

BucketMục đích
vacif-dulieuDữ liệu hoạt động của các phòng ban (IT,HR,MKT)
vacif-luutruDữ liệu sao lưu (backup, replication)

Tổ chức người dùng theo nhóm

GroupUserQuyền truy cập
ITsonToàn quyền với cả 2 bucket
HRsimpsonRW với thư mục HR, RO thư IT và MKT
MKTsimonRW với thư mục MKT, RO thư mục HR và IT

III – Các Bước Cấu Hình Policy JSON Trên Wasabi

Bước 1: Truy cập Wasabi Console

Bước 2: Viết IAM Policy bằng JSON

Policy 1 – Gán cho nhóm IT (son)

Mô tả: Toàn quyền thao tác với mọi bucket, bao gồm vacif-dulieu và vacif-luutru.

{

  “Version”: “2012-10-17”,

  “Statement”: [

    {

      “Sid”: “ITGroupFullAccess”,

      “Effect”: “Allow”,

      “Action”: [

        “s3:*”,

        “s3:ListAllMyBuckets”

      ],

      “Resource”: “*”

    }

  ]

}

Policy 2 – Gán cho nhóm HR (simpson)

Mô tả:

  • Read/Write thư mục vacif-dulieu/HR/
  • Read-only thư mục IT/ và MKT/
  • Cấm hoàn toàn truy cập bucket vacif-luutru

{

  “Version”: “2012-10-17”,

  “Statement”: [

    {

      “Sid”: “HRGroupRW”,

      “Effect”: “Allow”,

      “Action”: [

        “s3:GetObject”,

        “s3:PutObject”,

        “s3:ListBucket”

      ],

      “Resource”: [

        “arn:aws:s3:::vacif-dulieu/HR/*”,

        “arn:aws:s3:::vacif-dulieu”

      ]

    },

    {

      “Sid”: “HRGroupROOthers”,

      “Effect”: “Allow”,

      “Action”: [

        “s3:GetObject”,

        “s3:ListBucket”

      ],

      “Resource”: [

        “arn:aws:s3:::vacif-dulieu/IT/*”,

        “arn:aws:s3:::vacif-dulieu/MKT/*”,

        “arn:aws:s3:::vacif-dulieu”

      ]

    },

    {

      “Sid”: “HRGroupDenyLuutru”,

      “Effect”: “Deny”,

      “Action”: “s3:*”,

      “Resource”: [

        “arn:aws:s3:::vacif-luutru”,

        “arn:aws:s3:::vacif-luutru/*”

      ]

    }

  ]

}

Policy 3 – Gán cho nhóm MKT (simon)

Mô tả:

  • Read/Write thư mục vacif-dulieu/MKT/
  • Read-only thư mục IT/ và HR/
  • Cấm hoàn toàn bucket vacif-luutru

{

  “Version”: “2012-10-17”,

  “Statement”: [

    {

      “Sid”: “MKTGroupRW”,

      “Effect”: “Allow”,

      “Action”: [

        “s3:GetObject”,

        “s3:PutObject”,

        “s3:ListBucket”

      ],

      “Resource”: [

        “arn:aws:s3:::vacif-dulieu/MKT/*”,

        “arn:aws:s3:::vacif-dulieu”

      ]

    },

    {

      “Sid”: “MKTGroupROOthers”,

      “Effect”: “Allow”,

      “Action”: [

        “s3:GetObject”,

        “s3:ListBucket”

      ],

      “Resource”: [

        “arn:aws:s3:::vacif-dulieu/HR/*”,

        “arn:aws:s3:::vacif-dulieu/IT/*”,

        “arn:aws:s3:::vacif-dulieu”

      ]

    },

    {

      “Sid”: “MKTGroupDenyLuutru”,

      “Effect”: “Deny”,

      “Action”: “s3:*”,

      “Resource”: [

        “arn:aws:s3:::vacif-luutru”,

        “arn:aws:s3:::vacif-luutru/*”

      ]

    }

  ]

}

Kiểm Tra Sau Khi Gán Policy

  • Sau khi gán policy cho từng nhóm, kiểm tra lại quyền truy cập thực tế bằng:
  • Đăng nhập bằng user tương ứng
  • Sử dụng công cụ hỗ trợ như WinSCP, S3 Browser hoặc AWS CLI
  • Thử các hành động: đọc, ghi, xóa, upload file, tạo folder…

Đảm bảo rằng:

+ son toàn quyền trên mọi thư mục

+ simpson chỉ ghi được ở HR, đọc được ở IT & MKT

+ simon chỉ ghi được ở MKT, đọc được ở IT & HR

IV – Kết luận

Việc triển khai IAM Policy JSON trong Wasabi giúp:

  • Phân quyền chi tiết và chính xác theo nhu cầu doanh nghiệp
  • Tăng cường bảo mật, tránh rò rỉ dữ liệu giữa các phòng ban
  • Tối ưu vận hành khi số lượng người dùng và dữ liệu tăng lên

V – Khuyến nghị

  • Duy trì một chính sách chung cho mỗi group để dễ quản lý.
  • Thường xuyên audit log hoạt động truy cập (nếu sử dụng Wasabi Event Notifications).
  • Cập nhật policy nếu có thay đổi về phân quyền hoặc tổ chức.