Service Accounts (SA) là gì? Cách tạo Service Accounts Google Drive

Service Accounts là gì?

Google cung cấp cho chúng ta 4 loại account để quản lý, sử dụng các nguồn tài nguyên của Google Cloud Platform:

Service Accounts là Tài Khoản Dịch Vụ

  • Service Accounts không có mật khẩu và không thể đăng nhập qua trình duyệt hoặc cookie.
  • Service Accounts được liên kết với cặp khóa RSA riêng tư / công khai được sử dụng để xác thực với Google.
  • Bạn có thể cho phép người dùng hoặc Service Accounts khác mạo danh Service Accounts.
  • Tài khoản dịch vụ không phải là thành viên của miền Google Workspace của bạn, không giống như tài khoản người dùng. Nếu bạn chia sẻ nội dung Google Workspace, chẳng hạn như tài liệu hoặc sự kiện, với tất cả thành viên trong miền Google Workspace của bạn, chúng sẽ không được chia sẻ với các tài khoản dịch vụ. Tương tự, nội dung Google Workspace được tạo bởi tài khoản dịch vụ không được tạo trong miền Google Workspace của bạn. Do đó, quản trị viên Google Workspace và Cloud Identity của bạn không thể sở hữu hoặc quản lý những nội dung này.

Xem chi tiết: https://cloud.google.com/iam/docs/service-accounts

Tại sao phải sử dụng Service Accounts (SA)?

Các Service Accounts có thể được sử dụng để vượt qua giới hạn tải lên 750Gb/ngày do Google đặt ra trong Google Drive. Có nghĩa là bạn có thể sử dụng chúng để tải lên hơn 750Gb mỗi ngày, sao chép hàng trăm files …

Mỗi Service Accounts có giới hạn tải lên 750Gb mỗi ngày. Bạn có thể tạo tối đa 100 SA cho mỗi Project trên Google Cloud. Vì vậy, chỉ với một Project, bạn có thể upload/copy lên đến 75Tb một ngày!

Hướng dẫn tạo Service Accounts

  • Đầu tiên, truy cập Google Cloud Console và nếu bạn ko có project thì hãy tạo mới 1 project
  • Sau đó, bật Google Drive API lên
  • Đến OAuth Consent Screen và chọn “External” click tiếp  “Create
  • Điền các thông tin yêu cầu (có dấu * màu đỏ ) va click vào “Save and Continue” 3 lần (phần “Scopes” và “Test users” đừng nhập gì vào)
  • Click PublishValidate
  • Vào tab Credentials, click vào “Create Credentials” chọn “OAuth client ID“, chọn tiếp “Desktop app
  • Click vào nút download bên phải OAuth Client IDs của bạn và lưu với tên : credentials.json
  • Download và cài đặt Python vào máy tính của bạn và tải script này vào thư mục chứa file credentials.json lúc nãy.
  • Tạo folder với tên “accounts” (các tài khoản đã tạo sẽ được tải xuống ở đây)
  • Để chạy được script , tải file requirements.txt và chạy lệnh pip3 install -U -r requirements.txt

Lưu ý: Để tạo tài khoản dịch vụ, bạn có nhiều lựa chọn khác nhau, nhưng hãy nhớ rằng một SA có thể sao chép 750Gb một ngày và 1 project tạo ra 100 SA, như vậy 750 * 100 = 75Tb một ngày. Tạo nhiều hơn sẽ không được.

Nếu bạn muốn tạo một số SA bằng cách sử dụng các Project hiện có (không tạo thêm Project), hãy chạy lệnh py gen_sa_accounts.py --quick-setup -1

⚠️ Thao tác này sẽ ghi đè các SA hiện có.

Để tạo SA bằng cách tạo một Project mới thì chạy lệnh: py gen_sa_accounts.py --quick-setup 1 thay thế “1” bằng số Project bạn muốn tạo

⚠️Lệnh này tạo SA trong tất cả các Project hiện có, ngay cả những Project đã bị xóa.

  • Sau khi thực thi mã, hãy làm theo hướng dẫn …

Nếu mọi thứ diễn ra thuận lợi, bạn nên có ít nhất 100 file trong folder “accounts” lúc nãy. Mỗi file tương ứng với một SA.

Thêm Service Accounts vào Bộ nhớ dùng chung (Shared Drives)

Để quản lý, thao tác dữ liệu (copy, duplicate…) vào Bộ nhớ dùng chung với Service Accounts, bạn phải tạo một Google Group

 

Sau đó lấy địa chỉ email của Service Accounts bằng một trong các cách sau:

1️⃣ Cách 1 :

  • Cài đặt Email Extractor extension vào trình duyệt của bạn: Dành cho Chrome | Dành cho FireFox
  • Truy cập Google Cloud Console, Chọn Project có Service Accounts và đến tab Credentials (bạn sẽ thấy các Service Accounts)
  • Cuộn xuống cuối trang và thấy “Rows per page:” chọn 100
  • Sau đó mở Extension Email Extractor lên và copy tất cả địa chỉ email (trừ email của bạn), cuối cùng thêm chúng vào Google Group vừa tạo.

Lưu ý: Trong 24 tiếng bạn chỉ có thể thêm 100 SA/thành viên vào một Google Group.

Cuối cùng, thêm địa chỉ email của Google Group vào Bộ nhớ dùng chung của bạn!

2️⃣ Cách 2 :

Trên Windows

  • Mở PowerShell và gõ cd đến folder chứa file SA (file .json)
  • Chạy lệnh: $emails = Get-ChildItem .\**.json |Get-Content -Raw |ConvertFrom-Json |Select -ExpandProperty client_email >>emails.txt

Trên Linux / MacOs

  • Chạy lệnh: grep -oPh '"client_email": "\K[^"]+' *.json > emails.txt

Xong:

  • Mở file emails.txt, copy tất cả địa chỉ email vào Google Group vừa tạo.

Lưu ý: Trong 24 tiếng bạn chỉ có thể thêm 100 SA/thành viên vào một Google Group.

Cuối cùng, thêm địa chỉ email của Google Group vào Bộ nhớ dùng chung của bạn!

 

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Liên hệ qua Facebook
Liên hệ qua Zalo