Hướng dẫn cơ bản về biện pháp kiểm soát dịch vụ đám mây riêng ảo (VPC) I

1. Giới thiệu

VPC Service Controls (VPC-SC) là một biện pháp kiểm soát bảo mật ở cấp tổ chức trong Google Cloud, cho phép khách hàng doanh nghiệp giảm thiểu rủi ro về việc đánh cắp dữ liệu. VPC Service Controls cung cấp quyền truy cập vào các dịch vụ đa khách hàng theo nguyên tắc không tin tưởng bất cứ điều gì (zero-trust) bằng cách cho phép khách hàng giới hạn quyền truy cập để chỉ cho phép những địa chỉ IP, bối cảnh của thiết bị khách và thông số thiết bị đã được cấp phép trong khi kết nối đến các dịch vụ đa khách hàng qua Internet và các dịch vụ khác nhằm giảm thiểu cả tổn thất do cố ý và vô ý. Bạn có thể sử dụng VPC Service Controls để tạo các phạm vi bảo vệ tài nguyên và dữ liệu của các dịch vụ mà bạn chỉ định rõ ràng.

Mục tiêu của hướng dẫn này là:

  • Tìm hiểu những điều cơ bản về VPC Service Controls
  • Tạo phạm vi dịch vụ VPC
  • Bảo vệ một dự án bằng VPC Service Controls
  • Khắc phục sự cố vi phạm quy tắc lưu lượng truy cập đến của VPC Service Controls

2. Thiết lập và yêu cầu

Đối với hướng dẫn này, chúng ta cần đáp ứng các điều kiện tiên quyết sau:

  • Một Tổ chức GCP.
  • Một thư mục trong Tổ chức.
  • 2 dự án GCP trong cùng một Tổ chức được đặt trong thư mục.
  • Các quyền cần thiết ở cấp tổ chức.
  • Tài khoản thanh toán cho cả hai dự án.

1a62ebea85d6d4fc.png

Thiết lập tài nguyên

  1. Trong Google Cloud Console, hãy tạo một thư mục trong Tổ chức và hai dự án mới.(bạn có thể sử dụng lại các dự án hiện có).

(Nếu chưa có tài khoản Google Workspace/Cloud Identity, bạn phải có một tài khoản vì bạn cần có một Tổ chức cho hướng dẫn này).

  1. Xác minh rằng bạn có các quyền phù hợp cho hướng dẫn này ở cấp tổ chức.
  1. Đảm bảo rằng cả hai dự án đều có trong thư mục vì chúng ta cần tạo một chính sách có phạm vi ở cấp thư mục. Tìm hiểu về cách di chuyển một dự án vào thư mục.

f7c75ab82028cb15.png

Chi phí

Bạn cần bật tính năng thanh toán trong Cloud Console để sử dụng các tài nguyên/API của Cloud. Việc thực hiện lớp học lập trình này sẽ không tốn nhiều chi phí, nếu có. Để tắt các tài nguyên nhằm tránh phát sinh chi phí thanh toán ngoài hướng dẫn này, bạn có thể xoá các tài nguyên đã tạo hoặc xoá dự án. Người dùng mới của Google Cloud đủ điều kiện tham gia chương trình Dùng thử miễn phí trị giá 300 USD.

Tài nguyên duy nhất sẽ phát sinh chi phí là Phiên bản máy ảo. Bạn có thể tìm thấy chi phí ước tính trong máy tính giá.

3. Tạo phạm vi

Trong phòng thí nghiệm này, chúng ta sẽ thực hiện các bước sau:

  1. Trong Google Console, hãy chọn Tổ chức của bạn và Truy cập vào VPC Service Controls. Vui lòng đảm bảo bạn đang ở cấp tổ chức.

43d5af2d5f084bb4.png

  1. Nhấp vào "Quản lý chính sách" để tạo một chính sách truy cập mới có phạm vi là thư mục "Codelab".

9f75d949ca9992c4.png

  1. Tạo một Phạm vi mới ở chế độ thực thi. Hãy đặt tên là "SuperProtection" cho hướng dẫn này.
  • Khi tạo phạm vi, hãy chọn dự án cần thực thi là ProjectZ.
  • Chọn loại phạm vi là "Thông thường".
  • Trong hộp thoại Specify services to restrict (Chỉ định các dịch vụ cần hạn chế), hãy chọn dịch vụ cần hạn chế là "Compute Engine".

Thiết lập phạm vi sẽ có dạng như sau:

914d603103cb21.png

4. Xác minh rằng phạm vi đã được thực thi

  1. Truy cập vào ProjectX và xác minh xem bạn có thể truy cập vào Compute Engine API bằng cách truy cập vào trang chủ Phiên bản máy ảo hay không. Bạn có thể thực hiện việc này vì projectX không được bảo vệ bởi phạm vi VPC SC đã tạo.
  2. Truy cập vào ProjectZ và xác minh xem bạn có thể truy cập vào Compute Engine hay không. Bạn có thể thấy rằng yêu cầu đã bị VPC Service Controls nghiêm cấm vì phạm vi dịch vụ SuperProtection bảo vệ ProjectZ và Compute Engine API.

d5073543f783e9c7.png

5. Khắc phục sự cố từ chối

Trước tiên, chúng ta phải xác định chính xác vấn đề ở đây để xác định cách khắc phục sự cố.

  1. Nhật ký VPC Service Controls bao gồm thông tin chi tiết về các yêu cầu đối với tài nguyên được bảo vệ và lý do VPC Service Controls từ chối yêu cầu. Hãy tìm Mã nhận dạng duy nhất của VPC Service Controls trong nhật ký kiểm tra ProjectZ bằng cách sử dụng truy vấn sau trong Trình khám phá nhật ký:
resource.type="audited_resource"
protoPayload.metadata."@type"="type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata"

Thao tác này sẽ hiển thị tất cả nhật ký kiểm tra VPC Service Controls. Chúng ta sẽ tìm nhật ký lỗi cuối cùng.

  1. Nhấp vào trong tiêu đề VPC Service Controls, rồi chọn "Khắc phục sự cố từ chối". Thao tác này sẽ mở Trình khắc phục sự cố VPC Service Controls.

API này sẽ hiển thị cho chúng ta lý do vi phạm trong một giao diện người dùng thân thiện, đồng thời cho biết đây là vi phạm quy tắc lưu lượng truy cập đến hay đi, cùng với những thông tin hữu ích khác.

Đối với bài tập này, chúng ta sẽ tìm kiếm những thông tin sau:

"principalEmail": "user@domain"
"callerIp": "PUBLIC_IP_ADDRESS"
"serviceName": "compute.googleapis.com"
"servicePerimeterName":
"accessPolicies/[POLICY_NUMBER]/servicePerimeters/SuperProtection
"ingressViolations": [
        {
"targetResource": "projects/[PROJECT_NUMBER]",
"servicePerimeter": "accessPolicies/[POLICY_NUMBER]/servicePerimeters/SuperProtection"
        }
      ],
"violationReason": "NO_MATCHING_ACCESS_LEVEL",
"resourceNames": "[PROJECT_ID]"

Chúng ta có 2 lựa chọn để khắc phục lỗi từ chối này trong ProjectZ.

  • Tạo một cấp truy cập để cho phép truy cập vào dự án bên trong phạm vi bằng cách cấp quyền truy cập vào IP hệ thống của tôi.
  • Tạo một quy tắc lưu lượng truy cập đến để cho phép ứng dụng API từ bên ngoài phạm vi dịch vụ truy cập vào các tài nguyên trong phạm vi dịch vụ.

Trong hướng dẫn này, chúng ta sẽ khắc phục sự cố bằng cách tạo Cấp truy cập.

  1. Chuyển đến Trình quản lý bối cảnh truy cập ở phạm vi Thư mục (Codelab) và tạo một cấp truy cập mới.
  2. Sử dụng "Chế độ cơ bản" và chúng ta sẽ cho phép truy cập khi đáp ứng được mạng con IP và Vị trí địa lý.

678f0f9d7bac921d.png

  1. Chuyển đến VPC Service Controls ở phạm vi Tổ chức. Chọn chính sách truy cập cho lớp học lập trình này và chỉnh sửa phạm vi mà chúng ta đã tạo trước đó.
  2. Thêm cấp truy cập được tạo ở phạm vi thư mục và lưu.

c0af5691dfe9dd75.png

6. Kết quả kiểm thử.

Xác nhận rằng chúng ta có quyền truy cập vào Compute Engine và có thể tạo một thực thể máy ảo. Giờ đây, khi đã tạo Cấp truy cập, hãy thử truy cập vào Compute Engine trong ProjectZ và tạo một thực thể máy ảo.

  1. Chuyển đến Compute Engine rồi nhấp vào Tạo phiên bản

c1206aaf18497ec1.png

  1. Giữ nguyên mọi thứ ở chế độ mặc định và thử tạo một thực thể máy ảo chi phí thấp.

Sau khoảng một phút, bạn sẽ thấy phiên bản máy ảo được tạo và có thể xác minh rằng bạn có toàn quyền truy cập vào Compute Engine được bảo vệ bên trong phạm vi.

5b2ded02f669b2ef.png

7. Dọn dẹp

Mặc dù không có khoản phí riêng biệt nào cho việc sử dụng VPC Service Controls khi dịch vụ không được sử dụng, nhưng bạn nên dọn dẹp thiết lập được sử dụng trong phòng thí nghiệm này. Bạn cũng có thể xoá thực thể máy ảo và/hoặc các dự án trên Cloud để tránh phát sinh chi phí. Việc xoá dự án trên đám mây sẽ dừng tính phí cho tất cả các tài nguyên được sử dụng trong dự án đó.

  1. Để xoá phiên bản máy ảo, hãy chọn hộp kiểm ở bên trái tên phiên bản máy ảo, sau đó nhấp vào Xoá.

da0abf0894fe03cd.png

  1. Để xoá phạm vi, hãy hoàn tất các bước sau:
  • Trong bảng điều khiển Cloud, hãy nhấp vào Bảo mật, sau đó nhấp vào VPC Service Controls ở phạm vi Tổ chức.
  • Trên trang VPC Service Controls, trong hàng của bảng tương ứng với phạm vi mà bạn muốn xoá, hãy nhấp vào "Biểu tượng xoá"
  1. Để xoá Cấp truy cập, hãy hoàn tất các bước sau:
  • trong bảng điều khiển Cloud, hãy mở trang Trình quản lý bối cảnh truy cập ở phạm vi Thư mục.
  • Trong khung lưới, ở hàng của cấp truy cập mà bạn muốn xoá, hãy nhấp vào "Biểu tượng xoá", sau đó nhấp vào Xoá.
  1. Để tắt Dự án, hãy hoàn tất các bước sau:
  • Trong bảng điều khiển Cloud, hãy chuyển đến trang IAM và Cài đặt quản trị của dự án mà bạn muốn xoá.
  • Trên trang IAM và Cài đặt quản trị, hãy nhấp vào Tắt.
  • Nhập mã dự án, rồi nhấp vào Vẫn tắt.

8. Xin chúc mừng!

Trong lớp học lập trình này, bạn đã tạo một phạm vi VPC Service Controls, thực thi phạm vi đó và khắc phục sự cố.

Tìm hiểu thêm

Giấy phép

Tác phẩm này được cấp phép theo giấy phép Ghi công theo Creative Commons 2.0 Chung.