Giới hạn quyền xóa tài nguyên theo địa chỉ IP của Doanh nghiệp

Giới hạn quyền xóa EC2 theo địa chỉ IP của Doanh nghiệp

create vpc for linux instance

  • Với tiêu chí zero trustleast privilege permission việc xóa tài nguyên luôn cần tuân thủ các yêu cầu rất nghiêm ngặt như:

    • Chỉ được xóa - khi truy cập vào AWS account từ địa chỉ IP của doanh nghiệp
    • Chỉ được xóa với các tài nguyên được đánh tag cụ thể
    • Chỉ được xóa các tài nguyên trong danh sách cho phép từ trước
    • …..
  • Trong khuôn khổ bài lab này, chúng ta sẽ thực hiện phần: chỉ được xóa EC2 - khi truy cập vào AWS account từ địa chỉ IP của doanh nghiệp

  1. Lấy địa chỉ IP

    • Giả sử bạn đang truy cập đến AWS account từ Văn Phòng của bạn. Bạn cần truy cập trang web sau để biết địa chỉ IP này. https://nordvpn.com/what-is-my-ip/

    create vpc for linux instance

    • Địa chỉ IP: 14.xxx.xxx.xxxx
  2. Tạo IAM Policy

    • 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, với ý nghĩa: User chỉ có quyền xóa EC2 với địa chỉ IP đang truy cập vào tài khoản AWS tại văn phòng của bạn
    • Noted: tại dòng aws:SourceIp thay vì nhập dãy số 14.xxx.xxx.xxxx là địa chỉ IP mà bạn đã lấy tại bước 1, bạn cần thay đổi bằng dãy số khác.
    • Vd: thay đổi 14.xxx.xxx.xxxx bằng 55.165.049.118 là địa chỉ IP nhà bạn - chúng ta làm đều này để chứng minh cho bước 4
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "ec2:TerminateInstances",
            "Resource": "arn:aws:ec2:*:148922931563:instance/*"
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Deny",
            "Action": "ec2:TerminateInstances",
            "Resource": "arn:aws:ec2:*:148922931563:instance/*",
            "Condition": {
                "NotIpAddress": {
                    "aws:SourceIp": "55.165.049.118"
                }
            }
        }
    ]
}
  • Chọn next
    create vpc for linux instance

  • Tại mục Policy name, nhập: IP_Restrict

  • Tại mục Description, nhập: Allow company's IP address

  • Cuộn xuống cuối trang và chọn Create policy

create vpc for linux instance

  1. Thêm policy IP_Restrict vào group CostTest

    • Tại IAM Console, mục bên trái - chọn User groups
    • Chọn CostTest

    create vpc for linux instance

    • Chọn Permissions

    create vpc for linux instance

    • Chọn Add permissions, chọn Attach policies

    create vpc for linux instance

    • Tại khung search 🔍, nhập IP_Restrict.
    • Tích vào ký hiệu ô vuông để chọn policy, chọn Attach policies

    create vpc for linux instance

    • Kiểm tra Permissions policies
      • Lúc này trong group CostTest đã có policy IP_Restrict và policy EC2_InstanceTypeRestrict mà bạn đã tạo ở bài lab 8.3

    create vpc for linux instance

  2. Kiểm tra Permissions policies

    • Đăng nhập vào TestUser bằng thông tin mà bạn đã tạo ở bài lab 8.1, bước 4
    • Đảm bảo, bạn đang ở Region Singapore
    • Tại khung search 🔍, nhập EC2

    create vpc for linux instance

    • Tại giao diện EC2, giữa trang, chọn Launch instance

    create vpc for linux instance

    • Tại mục Name, nhập EC2_IP

    • Tại mục Architecture, giữ nguyên giá trị 64-bit (x86)

    create vpc for linux instance

    • Tại mục Instance type, chọn ký hiệu tam giác, nhập t3.small

    • Tại mục key pair name, chọn ký hiệu tam giác, chọn Proceed without a key pair (Not recommended)

    • Chọn launch instance

    create vpc for linux instance

    • Chọn Instance ID vừa được tạo thành công

    create vpc for linux instance

    • Tích vào ký hiệu ô vuông để chọn EC2 instance
    • Chọn Instance state
    • Chọn Terminate instance

    create vpc for linux instance

    • Chọn Terminate

    create vpc for linux instance

    • Hệ thống báo lỗi như trong hình vì bạn không được ủy quyền để làm hành động xóa EC2. Điều này thể hiện sự thành công của việc bạn tạo policy tại bước 2 - với một địa chỉ IP khác địa chỉ IP Công ty.

    create vpc for linux instance

  3. Kiểm tra Permissions policies với địa chỉ IP chính xác

    • Trong giao diện IAm, chọn Policies
    • Tại khung search, nhập IP_Restrict
    • Chọn IP_Restrict

    create vpc for linux instance

    • Chọn Edit

    create vpc for linux instance

    • Tại dòng aws:SourceIp, thay đổi dãy IP: 55.165.049.118 bằng địa chỉ IP mà bạn đã lấy tại bước 1: 14.xxx.xxx.xxx
    • Chọn Next

    create vpc for linux instance

    • Chọn Save changes

    create vpc for linux instance

    • Quay lại giao diện EC2
    • Tích vào ký hiệu ô vuông để chọn EC2 instance mà bạn đã tạo tại bước 4
    • Chọn Instance state
    • Chọn Terminate instance

    create vpc for linux instance

    • Chọn Terminate

    create vpc for linux instance

    • Chúc mừng bạn đã xóa thành công EC2 khi truy cập đến AWS account từ địa chỉ IP của công ty.

    create vpc for linux instance