Bảo mật truy cập API Google Cloud Run bằng Xác thực JWT - Quy trình làm việc n8n

Sử dụng luồng công việc n8n mạnh mẽ này để xác thực bằng Tài khoản dịch vụ Google và gọi an toàn các điểm cuối Cloud Run riêng tư. Có tích hợp tính năng ký JWT và trao đổi token Bearer.

Xem trước Workflow

Sẵn sàng tự động hóa chưa?

Tải xuống mẫu quy trình làm việc n8n này và bắt đầu sử dụng ngay lập tức.

Các node được sử dụng trong n8n

Đối tượng phù hợp

Luồng công việc n8n bảo mật này lý tưởng cho:

Các nhà phát triển cần tích hợp các API Google Cloud Run nội bộ, đã được xác thực vào quy trình nghiệp vụ của họ.
Các kỹ sư tự động hóa xây dựng các mẫu n8n đáng tin cậy để truy cập cơ sở hạ tầng đám mây an toàn.


  • Các nhóm yêu cầu phương pháp xác thực tài khoản dịch vụ mạnh mẽ trong môi trường n8n của họ.

Tổng quan

Việc gọi các dịch vụ được xác thực an toàn, như các điểm cuối Google Cloud Run riêng tư, đòi hỏi một quy trình nhiều bước phức tạp liên quan đến Tài khoản dịch vụ Google và ký JWT. Luồng công việc n8n chuyên biệt này loại bỏ công sức thủ công và mã mẫu (boilerplate code) cần thiết cho tác vụ này.

Thay vì dựa vào xác thực khóa API đơn giản hơn (thường thiếu bảo mật đúng mức), tự động hóa n8n này sử dụng quy trình Tài khoản dịch vụ Google tiêu chuẩn: ký JWT, đổi lấy ID token, và sau đó sử dụng ID token đó làm tiêu đề ủy quyền Bearer. Mẫu luồng công việc n8n này là thiết yếu cho bất kỳ ai vận hành các quy trình dữ liệu hoặc DevOps quan trọng mà việc xác thực phù hợp là tối quan trọng. Bằng cách tận dụng một node n8n chuyên dụng để ký JWT, quy trình này vừa bảo mật vừa có khả năng lặp lại cao trên các dự án khác nhau.

Cách thức hoạt động

Luồng công việc n8n cụ thể này sử dụng một trigger n8n thủ công để kiểm thử, nhưng có thể dễ dàng điều chỉnh cho bất kỳ trigger n8n dựa trên thời gian hoặc webhook đến nào.


  1. Cấu hình: Node n8n “Edit Fields” xác định các biến dịch vụ cần thiết: serviceurl (API Cloud Run đích) và clientemail (từ tệp khóa Tài khoản dịch vụ Google).

  2. Tạo JWT: Node n8n “JWT” tạo ra một token đã ký bằng cách sử dụng khóa riêng tư được lưu trong một Chứng chỉ JWT (JWT Credential) chuyên dụng của n8n. Phần tải trọng (payload) bao gồm các yêu cầu quan trọng như iss, aud (URI token), và targetaudience (URL dịch vụ) mà Google yêu cầu để xác thực.

  3. Trao đổi Token: Node n8n “Bearer Token Request” gửi yêu cầu xác nhận JWT đã ký này trong một yêu cầu POST tới URI token Google OAuth. Google xác thực yêu cầu xác nhận bằng cách sử dụng tài khoản dịch vụ và trả về phản hồi chứa idtoken bảo mật.

  4. Gọi API: Cuối cùng, node n8n “Cloud Run Request” thực hiện lệnh gọi HTTP thực tế tới URL Cloud Run được bảo mật, sử dụng id_token vừa thu được trong tiêu đề ủy quyền Bearer. Luồng công việc n8n mạnh mẽ này đảm bảo quyền truy cập tự động và bảo mật vào các API đám mây riêng tư.

Hướng dẫn cài đặt

Để nhập và chạy luồng công việc n8n này, hãy làm theo các bước sau:


  1. Nhập Luồng công việc: Sao chép JSON được cung cấp và dán nó vào phiên bản n8n của bạn bằng cách sử dụng tùy chọn 'Mới' -> 'Nhập từ JSON'.

  2. Thiết lập Google Cloud: Đảm bảo bạn đã tạo một Tài khoản dịch vụ Google với vai trò 'Cloud Run Invoker' cho dịch vụ mục tiêu của bạn.

  3. Cấu hình Biến: Cập nhật node n8n 'Edit Fields' với serviceurl và clientemail cụ thể của bạn.

  4. Thiết lập Chứng chỉ JWT: Tạo một Chứng chỉ JWT n8n mới. Đặt Loại Khóa thành 'Khóa PEM' (PEM Key) và dán toàn bộ khối privatekey (bao gồm tiêu đề BEGIN/END) từ tệp JSON Tài khoản dịch vụ Google của bạn. Liên kết chứng chỉ này với node n8n 'JWT'.

  5. Thiết lập Chứng chỉ Bearer: Tạo một Chứng chỉ Xác thực Bearer HTTP n8n mới. Cấu hình nó để sử dụng giá trị động: {{$json.idtoken}}. Điều này tham chiếu đến token được truy xuất ở bước trước. Liên kết chứng chỉ này với node n8n 'Cloud Run Request'.

  6. Thực thi: Chạy trigger n8n thủ công để kiểm tra toàn bộ quy trình xác thực.

Chi tiết Node

Execute (n8n trigger): Điểm khởi đầu thủ công để kích hoạt luồng công việc n8n xác thực bảo mật này.
Edit Fields (Set n8n node): Chức năng: Lưu trữ các biến cấu hình quan trọng (serviceurl, clientemail). Cấu hình chính: Đầu ra JSON thô được sử dụng để cấu trúc dữ liệu cho các node tiếp theo.
JWT (n8n node): Chức năng: Ký mật mã JWT theo yêu cầu bằng cách sử dụng chứng chỉ khóa riêng tư của Tài khoản dịch vụ. Đây là bước cốt lõi trong logic mẫu n8n. Cấu hình chính: Sử dụng các biểu thức ({{ $json.clientemail }}) để điền động các yêu cầu (issuer, subject, audience, expiry) cần thiết cho việc xác thực của Google.
Bearer Token Request (HTTP Request n8n node): Chức năng: Đổi mã xác nhận JWT đã ký lấy một ID token Google chính thức (token Bearer). Cấu hình chính: Yêu cầu POST tới token
uri với loại nội dung được đặt là form-urlencoded và JWT được chèn động làm tham số nội dung assertion.


  • Cloud Run Request (HTTP Request n8n node): Chức năng: Thực hiện lệnh gọi HTTP cuối cùng tới API Cloud Run riêng tư. Cấu hình chính: Sử dụng Xác thực Bearer Chung được liên kết với chứng chỉ chứa id_token đã truy xuất.

Các quy trình n8n liên quan

miễn phí

Node: 5 Node
Đã cập nhật: Tháng 12 26 2025
Xem tất cả
Tạo bởi
Marco Cassar
Marco Cassar

Đặc sắc*