Cho phép sử dụng dịch vụ theo Region cụ thể

Cho phép sử dụng dịch vụ EC2 chỉ trên Region Singapore

create vpc for linux instance

  • Để quản lý chi phí bạn cần kiểm soát việc sử dụng tài nguyên AWS.

  • AWS cung cấp nhiều Region, do đó, tùy theo yêu cầu kinh doanh mà bạn có thể giới hạn quyền truy cập vào các dịch vụ AWS tùy theo Region.

  • Điều này có thể được dùng để đảm bảo việc sử dụng chỉ được phép ở một hoặc vài Region cụ thể, tiết kiệm chi phí hơn và giảm thiểu mức sử dụng cũng như chi phí liên quan, chẳng hạn như chi phí data transfer.

  • Ví dụ như end user (người dùng cuối) ở Việt Nam, bạn sẽ ưu tiên triển khai hệ thống của doanh nghiệp tại Region Singapore (ap-southeast-1) nơi có khoảng cách gần với Việt Nam hơn so với các AWS Region còn lại

  • Noted: bạn cần tối thiểu 2 IAM User để thực hiện bài lab này, tham khảo bài lab:QUẢN TRỊ QUYỀN TRUY CẬP VỚI AWS IAM (IDENTITY AND ACCESS MANAGEMENT )

  1. Tạo Policy trên User Admin

    • Trong AWS console, tại khung search, nhập IAM
    • Chọn dịch vụ IAM

    create vpc for linux instance

    • Tại bên trái màn hình, chọn Policies
    • Chọn Create policy

    create vpc for linux instance

    • Tạo policy theo kiểu định dạng dữ liệu JSON thay vì Visual. Chọn JSON

    create vpc for linux instance

    • Quét toàn bộ đoạn code hiện tại và bấm nút Delete

    create vpc for linux instance

    • Sao chép đoạn code sau vào khung Policy editor, Cuộn xuống dưới và chọn Next.
      • Với ý nghĩa: User chỉ có toàn quyền trên dịch vụ EC2 và chỉ tại Region Singapore
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "VisualEditor0",
                "Effect": "Allow",
                "Action": "ec2:*",
                "Resource": "*",
                "Condition": {
                    "StringEquals": {
                        "aws:RequestedRegion": "ap-southeast-1"
                    }
                }
            }
        ]
    }
    

    create vpc for linux instance

    • Tại mục Policy name, nhập: RegionRestrict
    • Tại mục Description, nhập: EC2 access in ap-southeast-1 only
    • Cuộn xuống cuối trang và chọn Create policy

    create vpc for linux instance

  2. Tạo Group(nhóm)

    • Trong IAM console, chọn User groups
    • Chọn Create group

    create vpc for linux instance

    • Trong mục User group name, nhập CostTest

    create vpc for linux instance

    • Tại mục Attach permissions policies - Optional, nhập vào khung search RegionRestrict (là policy mà bạn đã tạo ở bước 1)
    • Tích chọn biểu tượng ô vuông để chọn policy RegionRestrict
    • Chọn Create group

    create vpc for linux instance

    • Noted: bạn chú vào cột type, sẽ nhận ra, policy của chúng ta là loại Customer managed tức là policy được khởi tạo và quản lý bởi khách hàng.
      • Khác, type AWS managed tức policy được tạo và quản trị bởi AWS - và bạn không thể chỉnh sửa các policy loại này
  3. Tạo TestUser

    • Trong IAM console, chọn User
    • Chọn Create user

    create vpc for linux instance

    • Tại mục User name, nhập TestUser

    • Chọn Provide user access to the AWS Management Console - optional, tức nghĩa: cho phép User này truy cập vào giao diện quản trị AWS account

    • Chọn I want to create an IAM user, tức nghĩa: bạn muốn tạo IAM user

    • Chọn Autogenerated password, tức nghĩa: AWS sẽ tự động tạo password để bạn đăng nhập vào giao diện quản trị AWS account

    • Chọn Users must create a new password at next sign-in - Recommended, tức nghĩa: bạn phải tạo mật khẩu mới khi dùng User này để truy cập vào giao diện quản trị AWS account - cho lần đăng nhập sắp tới

    • Noted: trọng thực tế, ở vai trò quản trị cloud, cloud admin, bạn nên cấu hình theo các bước như trên nhằm đảm bảo việc bạn không thể biết được password để truy cập vào IAMUser mà bạn khởi tạo và bàn giao cho team member.

      • Điểu này, bắt buộc team member phải có trách nhiệm trên việc tương tác với tài nguyên trong AWS account bằng các quyền tối thiểu (least-privilege permissions) mà team member được trao thông qua IAMUser.
    • Chọn Next

    create vpc for linux instance

    • Tại mục Permissions options, chọn Add user to group
    • Tại mục User groups, chọn group name: CostTest - mà bạn đã tạo ở bước 2
    • Chọn Next

    create vpc for linux instance

    • Tại mục Review and create, kiểm tra các thông tin và chọn Create user

    create vpc for linux instance

    • Tại trang Retrieve Password, chọn Download .csv fiel để tải về các thông tin đăng nhập cần thiết của User.

    create vpc for linux instance

    • Noted: bằng việc thêm User vào Group, User đã có quyền RegionRestrict. Việc này áp dụng theo Best Practice: quản trị quyền tập trung theo group thay vì theo user, tránh việc sót policy trong lúc thêm hoặc gỡ nhiều quyền cùng lúc với lượng User lớn.
  4. Kiểm thử quyền allow EC2 của Policy RegionRestrict tại region Singapore

    • Dùng thông tin vừa tải về để truy cập vào User mới tạo ở bước 2

    create vpc for linux instance

    • Vì bạn đã chọn chức năng Users must create a new password at next sign-in - Recommended trong bước 3, nên AWS yêu cầu tạo password mới.

    create vpc for linux instance

    • Tại AWS console, bạn kiểm tra và chắc chắn rằng bạn đang ở Region Singapore. Chọn EC2

    create vpc for linux instance

    • Chọn Launch instance

    create vpc for linux instance

    • Tại mục name, nhập EC2singapore

    create vpc for linux instance

    • Tại mục Key pair (login), chọn biểu tưởng tam giác

    create vpc for linux instance

    • Chọn Proceed without a key pair
    • Chọn Launch instance
    • Noted:: trong thực tế, để kết nối tới EC2 - bạn cần lựa chọn chức năng: create new key pair (tạo key pair mới) hoặc chọn các key đã có trong danh sách, tuy nhiên trong bài lab này, chúng ta chỉ cần test tính hiệu quả của policy nên không cần đăng nhập vào EC2.

    create vpc for linux instance

    • Kết quả: EC2 được tạo thành công

    create vpc for linux instance

  5. Kiểm tra quyền deny EC2 của Policy RegionRestrict tại region Tokyo

    • Chọn Region Tokyo

    create vpc for linux instance

    • Tại mục name, nhập EC2tokyo

    create vpc for linux instance

    • Tại mục Key pair (login), chọn biểu tưởng tam giác

    create vpc for linux instance

    • Chọn Proceed without a key pair
    • Chọn Launch instance

    create vpc for linux instance

    • Kết quả: AWS không thể tạo EC2 -> bạn kiểm tra trong giao diện và thấy các thông tin tham chiếu như: AMI ID, instance type, VPC, subnet - đều không thể hiện được các giá trị cần thiết để AWS căn cứ vào đó mà tạo lập instance - vì bạn đang không được ủy quyền để thực hiện các hành động trên

    create vpc for linux instance

    create vpc for linux instance

  6. Kiểm tra quyền deny dịch vụ S3 của Policy RegionRestrict tại region Singapore

    • Chọn Region Singapore

    create vpc for linux instance

    • Tại khung search, nhập s3, chọn S3

    create vpc for linux instance

    • Chọn biểu tượng ☰ góc trái màn hình

    create vpc for linux instance

    • Chọn Bucket

    create vpc for linux instance

    • Kết quả: hệ thống thể hiện: bạn không có quyền để list các bucket hiện có trong S3

    create vpc for linux instance

    • Chúc mừng bạn đã hoàn tất bài lab: với việc dùng User admin tạo policy cho User member chỉ được phép sử dụng dịch vụ EC2 tại Region Singapore