2014-05-15 17 views
5

Tôi mới sử dụng Bigquery của Google, vì vậy xin lỗi vì sự thiếu hiểu biết của tôi.Bigquery - chỉ viết ủy quyền

Ý tưởng là sử dụng Bigquery để lưu trữ các sự kiện xảy ra bên trong các ứng dụng được cài đặt tại các trang web khác nhau. Các trang web là các thực thể bị cô lập hoàn toàn và do đó một trang web không thể truy cập dữ liệu từ một trang web khác.

Đồng thời quan điểm củng cố cũng nên có thể, giả sử một người dùng với quyền hơn (ví dụ như một người quản lý ở một số cơ sở quý đầu)

Lượng trang web có thể chạy vào hàng trăm vậy có vẻ như khó có thể cung cấp cho mỗi trong số họ một tập dữ liệu riêng biệt/table và liên quan (dịch vụ) xác thực (đuôi .p12)

có cách nào tôi có thể thiết lập này trong BigQuery

Tất cả mẹo hoan nghênh.

Rất cám ơn!

Peter

Trả lời

3

Chỉ ghi mới nhất (đặc biệt cho chèn trực tiếp vào bảng lớn) đã được thêm gần đây vào BigQuery. Bạn có thể sử dụng phạm vi https://www.googleapis.com/auth/bigquery.insertdata khi bạn xác thực thay vì phạm vi https://www.googleapis.com/auth/bigquery và phương thức duy nhất mà người dùng có thể sử dụng sẽ là tabledata.insertall().

Liên quan đến loại ủy quyền bạn muốn cho chế độ xem, đây là yêu cầu tính năng ưu tiên cao mà chúng tôi muốn bật. Bạn có thể cung cấp thêm chi tiết về kịch bản bạn muốn xem không?

+0

Jordan. Lời cảm ơn đầu tiên cho kịch bản phản ứng ur là như sau: ứng dụng được triển khai trên hàng trăm máy không liên quan đẩy dữ liệu. Sau đó, ba loại người dùng sẽ sử dụng công cụ BI (ví dụ: hoạt động trực tuyến) để xem dữ liệu. Ba loại là (1) người dùng ban đầu đẩy dữ liệu (2) văn phòng khu vực, nhóm một bộ (1) (3) HQ xem tất cả dữ liệu. Tôi đoán chúng tôi có thể thực hiện việc xem ba cấp bằng cách sử dụng công cụ BI, nhưng tôi muốn tránh rằng ứng dụng đẩy sẽ có đủ quyền đọc tất cả dữ liệu (bao gồm cả các trường hợp khác của ứng dụng) .Hy vọng điều này làm rõ. – Peter

+0

trong thời gian chờ đợi, bạn đã thử sử dụng proxy (như App Engine) để xử lý dữ liệu đến chưa? –

+0

Không cố gắng không. Tôi có thể thấy nó hoạt động như thế nào, nhưng tôi muốn tránh thêm mã để viết và các hub cơ sở hạ tầng để cấu hình. – Peter

0

Kể từ tháng 6 năm 2017, cách tiếp cận tốt nhất để lưu trữ sự kiện có quyền truy cập "chỉ chèn" trong BigQuery là gửi các sự kiện thông qua Đăng nhập Stackdriver (hiện là một phần của Google). Configure an Export in Stackdriver để gửi nhật ký tới BigQuery. Điều này có hiệu quả tạo ra một hệ thống lưu trữ sự kiện "chỉ chèn". Sau đó, bạn có thể định cấu hình vai trò người dùng trong BigQuery để tổng hợp dữ liệu trên nhiều trang web.

Cách tiếp cận mà Jordan mô tả là tốt để ngăn chặn ứng dụng vô tình ghi đè dữ liệu. Thật không may, nó không giải quyết kịch bản của các bản ghi kiểm tra hoặc bảo mật. Vẫn không có vai trò IAM được xác định trước cho BigQuery hỗ trợ quyền truy cập "chỉ chèn" và custom IAM roles vẫn ở trạng thái "alpha". Nếu tin tặc có quyền truy cập đặc quyền vào máy chủ có thể ghi trực tiếp vào BigQuery, thì hacker cũng sẽ có quyền truy cập vào tệp khóa BigQuery cho phép họ ghi đè dữ liệu trong nhật ký, cho phép họ bao gồm các bản nhạc của họ. Điều này đánh bại mục đích của các bản ghi.

Bạn có thể đẩy sự kiện vào Stackdriver trực tiếp qua REST API hoặc client library. Bạn cũng có thể cấu hình Stackdriver Logging Agent để theo dõi bất kỳ nhật ký dựa trên văn bản nào trên hệ thống Linux.

Các vấn đề liên quan