Điểm:1

Quyền đối với tài khoản dịch vụ GCP

lá cờ br

Người mới sử dụng GCP ở đây, hy vọng có câu trả lời nhanh mà tôi đang thiếu.

Tôi có dự án với GCE VM đang chạy trong đó. Thỉnh thoảng tôi muốn sao lưu một tập dữ liệu vào bộ lưu trữ đối tượng của GCP. Kế hoạch của tôi là chạy 'gsutil rsync ...' từ một công việc định kỳ.

Tôi đã tạo một thùng cho công việc để sử dụng. Tôi không chỉnh sửa quyền, vai trò hay bất kỳ thứ gì trên vùng chứa.

Tôi chạy "sudo su -" để tôi đang chạy với quyền root, vì tôi mong đợi một công việc định kỳ sẽ như vậy, sau đó gõ

gsutil rsync -r -d <dir to backup> gs://<bucket>/

va tôi lây

AccessDeniedException: 403 Không đủ quyền

Khi ở trạng thái này, tôi đã nhập 'danh sách cấu hình gcloud' và nhận được

tài khoản = <xyz>[email protected]

disable_usage_reporting = Đúng

dự án = <id dự án>

Cấu hình hoạt động của bạn là: [default]

Đây là tài khoản dịch vụ mặc định được tạo khi tôi tạo VM. Tôi đã không thực hiện bất kỳ chỉnh sửa về nó.

Trong bảng điều khiển, tôi đã đi tới IAM->tài khoản dịch vụ, nhấp vào tài khoản dịch vụ này, nhấp vào tab quyền và tôi thấy rằng tài khoản dịch vụ này là Trình chỉnh sửa trên <project id>

Trong bảng điều khiển, tôi truy cập Cloud Storage, Duyệt qua, nhấp vào bộ chứa của mình, chuyển đến tab quyền và tôi thấy rằng vai trò của Trình chỉnh sửa trên đó có các vai trò 'Chủ sở hữu nhóm lưu trữ cũ' và 'Chủ sở hữu đối tượng kế thừa bộ nhớ' Nhìn vào các vai trò đó , tôi được biết điều đầu tiên là quyền truy cập đọc/ghi vào các nhóm hiện có với quyền tạo/liệt kê/xóa đối tượng. Cái thứ hai cho tôi quyền truy cập đọc/ghi vào các đối tượng hiện có.

Tôi đã xác minh rằng thùng hiện đang trống.

Tôi cần phải làm gì để cho phép lệnh gsutil của mình chạy với đủ quyền?

Điểm:1
lá cờ cn

Rất có thể vấn đề của bạn là không đủ Phạm vi truy cập Cloud API phiên bản máy ảo Compute Engine.

Các gsutil rsync lệnh yêu cầu các quyền sau:

  • lưu trữ.objects.create
  • lưu trữ.objects.delete
  • lưu trữ.objects.list
  • storage.objects.get # cần thiết cho các bản sao từ nhóm này sang nhóm khác

Vai trò vai trò/biên tập viên không có quyền nào trong số đó.

Các phiên bản máy ảo của Google Cloud Compute Engine sử dụng hai phương pháp để ủy quyền:

  • Tài khoản dịch vụ mặc định
  • Phạm vi truy cập API đám mây

Tài khoản dịch vụ phải có vai trò cấp các quyền được liệt kê ở trên HOẶC danh tính tài khoản dịch vụ phải được cấp quyền truy cập vào bộ chứa và nội dung của nó. Google Cloud Storage hỗ trợ hai phương thức ủy quyền khác nhau. Để đơn giản, tôi khuyên bạn nên thêm vai trò bắt buộc vào tài khoản dịch vụ. Đối với trường hợp sử dụng của bạn gsutil rsync, tôi khuyên bạn nên thêm vai trò vai trò/storage.legacyBucketOwner.

Tuy nhiên, ngay cả khi tài khoản dịch vụ có các quyền bắt buộc thông qua các vai trò, Phạm vi truy cập API đám mây của Compute Engine có thể lấy đi các quyền đó. Truy cập Google Cloud Console, chọn phiên bản VM của bạn. Kiểm tra phạm vi nào được bật. Bạn nên bật "Bộ nhớ: Đầy đủ" hoặc "Cho phép truy cập đầy đủ vào tất cả API đám mây". Nếu không, tài khoản dịch vụ sẽ bị giới hạn trong các quyền có được đối với Mã thông báo truy cập OAuth mà gsutil yêu cầu để được ủy quyền.

Phạm vi truy cập phiên bản Cloud API của máy ảo Compute Engine

Stephen Daniel avatar
lá cờ br
Hoạt động ngay bây giờ! Vai trò trình chỉnh sửa có tất cả các quyền bắt buộc, nhưng API không được bật trong VM. Tôi đã dừng VM, chỉnh sửa nó để cho phép tất cả các API, khởi động lại và mọi thứ đã hoạt động.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.