VPC Service Controls

VPC Service Controls cho phép các tổ chức xác định ranh giới xung quanh các tài nguyên Google Cloud để giảm thiểu rủi ro đánh cắp dữ liệu. Với VPC Service Controls, bạn có thể tạo các ranh giới bảo vệ tài nguyên và dữ liệu của những dịch vụ mà bạn chỉ định rõ ràng.

Các dịch vụ Cloud Firestore bán kèm

Các API sau đây được kết hợp với nhau trong VPC Service Controls:

  • firestore.googleapis.com
  • datastore.googleapis.com
  • firestorekeyvisualizer.googleapis.com

Khi bạn hạn chế dịch vụ firestore.googleapis.com trong một vành đai, vành đai đó cũng sẽ hạn chế các dịch vụ datastore.googleapis.comfirestorekeyvisualizer.googleapis.com.

Hạn chế dịch vụ datastore.googleapis.com

Dịch vụ datastore.googleapis.com được đi kèm với dịch vụ firestore.googleapis.com. Để hạn chế dịch vụ datastore.googleapis.com, bạn phải hạn chế dịch vụ firestore.googleapis.com như sau:

  • Khi tạo một ranh giới dịch vụ bằng bảng điều khiển Cloud, hãy thêm Cloud Firestore làm dịch vụ bị hạn chế.
  • Khi tạo một phạm vi dịch vụ bằng Google Cloud CLI, hãy sử dụng firestore.googleapis.com thay vì datastore.googleapis.com.

    --perimeter-restricted-services=firestore.googleapis.com
    

App Engine dịch vụ cũ theo gói cho Datastore

Các dịch vụ đi kèm cũ App Engine cho Datastore không hỗ trợ ranh giới dịch vụ. Việc bảo vệ dịch vụ Datastore bằng một ranh giới dịch vụ sẽ chặn lưu lượng truy cập từ các dịch vụ cũ được kết hợp App Engine. Các dịch vụ cũ được cung cấp theo gói bao gồm:

Bảo vệ dữ động xuất trên các hoạt động nhập và xuất

Cloud Firestore hỗ trợ VPC Service Controls nhưng cần có cấu hình bổ sung để có được khả năng bảo vệ đầy đủ khi nhập và xuất dữ liệu. Bạn phải sử dụng tác nhân dịch vụ Cloud Firestore để uỷ quyền cho các thao tác nhập và xuất thay vì tài khoản dịch vụ App Engine mặc định. Hãy làm theo hướng dẫn sau để xem và định cấu hình tài khoản uỷ quyền cho các thao tác nhập và xuất.

Cloud Firestore nhân viên hỗ trợ dịch vụ

Cloud Firestore sử dụng tác nhân dịch vụ Cloud Firestore để uỷ quyền cho các thao tác nhập và xuất thay vì sử dụng tài khoản dịch vụ App Engine. Tác nhân dịch vụ và tài khoản dịch vụ sử dụng các quy ước đặt tên sau:

Cloud Firestore nhân viên hỗ trợ dịch vụ
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com

Trước đây, Cloud Firestore đã sử dụng tài khoản dịch vụ mặc định App Engine thay vì tác nhân dịch vụ Cloud Firestore. Nếu cơ sở dữ liệu của bạn vẫn sử dụng tài khoản dịch vụ App Engine để nhập hoặc xuất dữ liệu, thì bạn nên làm theo hướng dẫn trong phần này để di chuyển sang sử dụng tác nhân dịch vụ Cloud Firestore.

App Engine tài khoản dịch vụ
PROJECT_ID@appspot.gserviceaccount.com

Bạn nên dùng tác nhân dịch vụ Cloud Firestore vì tác nhân này dành riêng cho Cloud Firestore. Nhiều dịch vụ dùng chung tài khoản dịch vụ App Engine.

Xem tài khoản uỷ quyền

Bạn có thể xem tài khoản mà các thao tác nhập và xuất của bạn dùng để uỷ quyền cho các yêu cầu trên trang Nhập/Xuất trong bảng điều khiển Cloud. Bạn cũng có thể xem liệu cơ sở dữ liệu của mình đã sử dụng tác nhân dịch vụ Cloud Firestore hay chưa.

  1. Xem tài khoản uỷ quyền bên cạnh nhãn Nhập/Xuất các công việc chạy dưới dạng.

Nếu dự án của bạn không sử dụng tác nhân dịch vụ Cloud Firestore, bạn có thể di chuyển sang tác nhân dịch vụ Cloud Firestore bằng một trong những kỹ thuật sau:

Bạn nên dùng kỹ thuật đầu tiên trong số này vì kỹ thuật này sẽ bản địa hoá phạm vi ảnh hưởng thành một dự án Cloud Firestore duy nhất. Bạn không nên dùng kỹ thuật thứ hai vì kỹ thuật này không di chuyển các quyền hiện có của vùng chứa Cloud Storage. Tuy nhiên, tính năng này có cung cấp khả năng tuân thủ bảo mật ở cấp tổ chức.

Di chuyển bằng cách kiểm tra và cập nhật quyền đối với vùng chứa Cloud Storage

Quá trình di chuyển gồm 2 bước:

  1. Cập nhật quyền đối với nhóm Cloud Storage. Hãy xem phần sau để biết thông tin chi tiết.
  2. Xác nhận việc di chuyển sang Cloud Firestore.

Quyền đối với nhóm nhân viên hỗ trợ dịch vụ

Đối với mọi thao tác xuất hoặc nhập dữ liệu sử dụng một bộ chứa Cloud Storage trong một dự án khác, bạn phải cấp cho tác nhân dịch vụ Cloud Firestore các quyền đối với bộ chứa đó. Ví dụ: các thao tác di chuyển dữ liệu sang một dự án khác cần truy cập vào một vùng chứa trong dự án đó. Nếu không, các thao tác này sẽ không thành công sau khi di chuyển sang tác nhân dịch vụ Cloud Firestore.

Quy trình nhập và xuất nằm trong cùng một dự án không yêu cầu thay đổi quyền. Theo mặc định, tác nhân dịch vụ Cloud Firestore có thể truy cập vào các vùng chứa trong cùng một dự án.

Cập nhật quyền cho các vùng chứa Cloud Storage từ các dự án khác để cấp quyền truy cập cho tác nhân dịch vụ service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com. Cấp cho tác nhân dịch vụ vai trò Firestore Service Agent.

Vai trò Firestore Service Agent cấp quyền đọc và ghi cho bộ chứa Cloud Storage. Nếu bạn chỉ cần cấp quyền đọc hoặc chỉ cần cấp quyền ghi, hãy sử dụng vai trò tùy chỉnh.

Quy trình di chuyển được mô tả trong phần sau đây sẽ giúp bạn xác định những nhóm Cloud Storage có thể cần được cập nhật quyền.

Di chuyển một dự án sang Firestore Service Agent

Hoàn tất các bước sau để di chuyển từ tài khoản dịch vụ App Engine sang nhân viên hỗ trợ dịch vụ Cloud Firestore. Sau khi hoàn tất, bạn sẽ không thể huỷ quá trình di chuyển.

  1. Nếu dự án của bạn chưa di chuyển sang tác nhân dịch vụ Cloud Firestore, bạn sẽ thấy một biểu ngữ mô tả quá trình di chuyển và nút Kiểm tra trạng thái nhóm. Bước tiếp theo sẽ giúp bạn xác định và khắc phục các lỗi có thể xảy ra về quyền.

    Nhấp vào Kiểm tra trạng thái của nhóm.

    Một trình đơn sẽ xuất hiện với lựa chọn hoàn tất quá trình di chuyển và danh sách các nhóm Cloud Storage. Có thể mất vài phút để danh sách tải xong.

    Danh sách này bao gồm các bộ chứa gần đây được dùng trong các thao tác nhập và xuất, nhưng hiện không cấp quyền đọc và quyền ghi cho tác nhân dịch vụ Cloud Firestore.

  2. Ghi lại tên chính của tác nhân dịch vụ Cloud Firestore của dự án. Tên nhân viên hỗ trợ dịch vụ xuất hiện trong nhãn Nhân viên hỗ trợ dịch vụ được cấp quyền truy cập.
  3. Đối với bất kỳ vùng chứa nào trong danh sách mà bạn sẽ sử dụng cho các thao tác nhập hoặc xuất trong tương lai, hãy hoàn tất các bước sau:

    1. Trong hàng của nhóm này trong bảng, hãy nhấp vào Khắc phục. Thao tác này sẽ mở trang quyền của nhóm đó trong một thẻ mới.

    2. Nhấp vào Thêm.
    3. Trong trường Bên giao đại diện mới, hãy nhập tên của tác nhân dịch vụ Cloud Firestore.
    4. Trong trường Chọn vai trò, hãy chọn Tác nhân dịch vụ > Tác nhân dịch vụ Firestore.
    5. Nhấp vào Lưu.
    6. Quay lại thẻ có trang Cloud Firestore Nhập/Xuất.
    7. Lặp lại các bước này cho những nhóm khác trong danh sách. Nhớ xem tất cả các trang của danh sách.
  4. Nhấp vào Di chuyển sang Firestore Service Agent. Nếu vẫn còn các nhóm không kiểm tra được quyền, bạn cần xác nhận việc di chuyển bằng cách nhấp vào Di chuyển.

    Bạn sẽ nhận được một cảnh báo khi quá trình di chuyển hoàn tất. Bạn không thể huỷ quy trình di chuyển sau khi bắt đầu.

Xem trạng thái di chuyển

Cách xác minh trạng thái di chuyển của dự án:

  1. Tìm thực thể chính bên cạnh nhãn Chạy các tác vụ Nhập/Xuất dưới dạng.

    Nếu là service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com, thì dự án của bạn đã di chuyển sang tác nhân dịch vụ Cloud Firestore. Bạn không thể huỷ quy trình di chuyển sau khi bắt đầu.

    Nếu dự án chưa được di chuyển, một biểu ngữ sẽ xuất hiện ở đầu trang cùng với nút Kiểm tra trạng thái của nhóm tài nguyên. Xem phần Di chuyển sang tác nhân dịch vụ Firestore để hoàn tất quá trình di chuyển.

Thêm một quy tắc ràng buộc chính sách trên toàn tổ chức

  • Đặt quy tắc ràng buộc sau trong chính sách của tổ chức:

    Yêu cầu Nhân viên hỗ trợ dịch vụ Firestore để nhập/xuất (firestore.requireP4SAforImportExport).

    Ràng buộc này yêu cầu các thao tác nhập và xuất phải sử dụng tác nhân dịch vụ Cloud Firestore để uỷ quyền cho các yêu cầu. Để thiết lập quy tắc ràng buộc này, hãy xem phần Tạo và quản lý chính sách của tổ chức .

Việc áp dụng hạn chế này đối với chính sách của tổ chức không tự động cấp quyền thích hợp cho bộ chứa Cloud Storage đối với tác nhân dịch vụ Cloud Firestore.

Nếu quy tắc ràng buộc này gây ra lỗi về quyền đối với bất kỳ quy trình nhập hoặc xuất nào, bạn có thể tắt quy tắc này để quay lại sử dụng tài khoản dịch vụ mặc định. Sau khi kiểm tra và cập nhật Cloud Storagequyền đối với bộ chứa, bạn có thể bật lại quy tắc ràng buộc.