VPC Service Controls cho phép các tổ chức xác định ranh giới xung quanh Google Cloud tài nguyên để giảm thiểu rủi ro đánh cắp dữ liệu. Với VPC Service Controls, bạn tạo các ranh giới 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.
Cloud Firestore dịch vụ đi kèm
Các API sau đây được gộp chung trong VPC Service Controls:
firestore.googleapis.comdatastore.googleapis.comfirestorekeyvisualizer.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 hạn chế các dịch vụ datastore.googleapis.com và
firestorekeyvisualizer.googleapis.com.
Hạn chế dịch vụ datastore.googleapis.com
Dịch vụ datastore.googleapis.com được tích hợp trong 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 vành đai dịch vụ bằng Google Cloud Console, hãy thêm Cloud Firestore làm dịch vụ bị hạn chế.
Khi tạo một chu vi dịch vụ bằng Google Cloud CLI, hãy sử dụng
firestore.googleapis.comthay vìdatastore.googleapis.com.--perimeter-restricted-services=firestore.googleapis.com
App Engine dịch vụ cũ đi kèm cho Datastore
App Engine dịch vụ cũ đi kèm cho Datastore không hỗ trợ vành đai dịch vụ. Việc bảo vệ dịch vụ Datastore bằng một vành đai dịch vụ sẽ chặn lưu lượng truy cập từ các dịch vụ cũ đi kèm App Engine. Các dịch vụ cũ đi kèm bao gồm:
- Java 8 Datastore với App Engine API
- Thư viện ứng dụng NDB Python 2 cho Datastore
- Go 1.11 Datastore với API App Engine
Bảo vệ dữ liệu đầu ra trong 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ệ toàn diện cho dữ liệu đầu ra trong các hoạt động nhập và xuất. Bạn phải sử dụng tác nhân dịch vụ Cloud Firestore để cho phép 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.
Nhân viên hỗ trợ dịch vụ Cloud Firestore
Cloud Firestore sử dụng tác nhân dịch vụ Cloud Firestore để cho phép 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 quy ước đặt tên sau:
- Nhân viên hỗ trợ dịch vụ Cloud Firestore
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com
Cloud Firestore trước đây đã 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, bạn nên làm theo hướng dẫn trong phần này để chuyển sang sử dụng tác nhân dịch vụ Cloud Firestore.
- tài khoản dịch vụ App Engine
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. Tài khoản dịch vụ App Engine được dùng chung cho nhiều dịch vụ.
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 sử dụng để uỷ quyền cho các yêu cầu trên trang Nhập/Xuất trong Google Cloud Console. Bạn cũng có thể xem liệu cơ sở dữ liệu của bạn đã sử dụng tác nhân dịch vụ Cloud Firestore chưa.
- Xem tài khoản uỷ quyền bên cạnh nhãn Chạy công việc nhập/xuất 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 hai kỹ thuật sau:
- Di chuyển dự án bằng cách kiểm tra và cập nhật quyền đối với bộ chứa Cloud Storage (nên dùng).
- Thêm quy tắc ràng buộc chính sách trên toàn tổ chức, ảnh hưởng đến tất cả dự án trong tổ chức.
Bạn nên dùng kỹ thuật đầu tiên vì kỹ thuật này giúp khoanh vùng phạm vi ảnh hưởng đến một dự án Cloud Firestore. Kỹ thuật thứ hai không được ưu tiên vì không di chuyển các quyền hiện có của bộ chứa Cloud Storage. Tuy nhiên, tính năng này 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 bộ chứa Cloud Storage
Quá trình di chuyển gồm hai bước:
- Cập nhật quyền đối với bộ chứa Cloud Storage. Hãy xem phần sau để biết thông tin chi tiết.
- Xác nhận di chuyển sang tác nhân dịch vụ Cloud Firestore.
Quyền đối với bộ chứa của tác nhân dịch vụ
Đối với mọi hoạt động xuất hoặc nhập sử dụng bộ chứa Cloud Storage trong một dự án khác, bạn phải cấp quyền cho tác nhân dịch vụ Cloud Firestore đố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 bộ 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 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 bộ chứa trong cùng một dự án.
Cập nhật quyền cho các bộ 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à quyền ghi cho một bộ chứa Cloud Storage. Nếu bạn chỉ cần cấp quyền đọc hoặc quyền ghi, hãy sử dụng vai trò tuỳ chỉnh.
Quy trình di chuyển được mô tả trong phần sau đây giúp bạn xác định các bộ chứa Cloud Storage có thể cần cập nhật quyền.
Di chuyển dự án sang Tác nhân dịch vụ Firestore
Hãy hoàn tất các bước sau để di chuyển từ tài khoản dịch vụ App Engine sang tác nhân dịch vụ Cloud Firestore. Sau khi hoàn tất, bạn không thể huỷ quá trình di chuyển.
-
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 bộ chứa. Bước tiếp theo sẽ giúp bạn xác định và khắc phục các lỗi tiềm ẩn về quyền.
Nhấp vào Check Bucket Status (Kiểm tra trạng thái bộ chứa).
Một trình đơn sẽ xuất hiện cùng với lựa chọn hoàn tất quá trình di chuyển và danh sách các bộ chứa 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 được dùng gần đây 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.
- Ghi lại tên chính của tác nhân dịch vụ Cloud Firestore trong dự án của bạn. Tên nhân viên hỗ trợ dịch vụ xuất hiện dưới nhãn Nhân viên hỗ trợ dịch vụ cần cấp quyền truy cập.
-
Đối với bất kỳ bộ 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:
-
Trong hàng của bảng chứa bộ chứa này, hãy nhấp vào Khắc phục. Thao tác này sẽ mở trang quyền của bộ chứa đó trong một thẻ mới.
- Nhấp vào Thêm.
- Trong trường Bên giao đại lý mới, hãy nhập tên của tác nhân dịch vụ Cloud Firestore.
- 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.
- Nhấp vào Lưu.
- Quay lại thẻ có trang Nhập/Xuất Cloud Firestore.
- Lặp lại các bước này cho các bộ chứa khác trong danh sách. Hãy nhớ xem tất cả các trang trong danh sách.
-
-
Nhấp vào Migrate to Firestore Service Agent (Di chuyển sang Tác nhân dịch vụ Firestore). Nếu vẫn còn bộ chứa không vượt qua được quy trình kiểm tra 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 thông 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.
Xem trạng thái di chuyển
Cách xác minh trạng thái di chuyển của dự án:
-
Tìm chủ thể bên cạnh nhãn Nhập/Xuất công việc chạy dưới dạng.
Nếu tài khoản chính 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.Nếu dự án chưa được di chuyển, một biểu ngữ sẽ xuất hiện ở đầu trang kèm theo nút Check Bucket Status (Kiểm tra trạng thái bộ chứa). Xem bài viết Di chuyển sang tác nhân dịch vụ Firestore để hoàn tất quá trình di chuyển.
Thêm 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 đây trong chính sách của tổ chức:
Yêu cầu tác nhân dịch vụ Firestore để nhập/xuất (
firestore.requireP4SAforImportExport).Quy tắc 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. Để đặt quy tắc ràng buộc này, hãy xem bài viết Tạo và quản lý chính sách của tổ chức .
Việc áp dụng quy tắc ràng buộc này của chính sách tổ chức không tự động cấp các quyền thích hợp đối với bộ chứa Cloud Storage cho 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 cho 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 quyền đối với bộ chứa Cloud Storage, bạn có thể bật lại quy tắc ràng buộc.