Thiết lập và định cấu hình Edge Microgateway

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến tài liệu về Apigee X.
thông tin

Edge Microgateway phiên bản 3.2.x

Tổng quan

Sau khi hoàn tất các bước trong hướng dẫn thiết lập này, bạn sẽ có một bản cài đặt Microgateway được định cấu hình hoàn chỉnh, đang hoạt động có khả năng xử lý các yêu cầu API. Bạn sẽ kiểm thử chế độ thiết lập bằng cách thực hiện các lệnh gọi API bảo mật thông qua Edge Microgateway tới một mục tiêu phụ trợ. Bạn cũng sẽ tìm hiểu cách thêm trình bổ trợ phát hiện tăng đột biến vào Microgateway.

Hướng dẫn này được chia thành các phần sau:

Điều kiện tiên quyết: Cài đặt Edge Microgateway

Làm theo hướng dẫn trong phần Cài đặt Microgateway. Khi hoàn tất quá trình cài đặt, bạn có thể làm theo các bước trong hướng dẫn này.

Phần 1: Định cấu hình vi cổng cho Edge

Trong phần này, bạn sẽ sử dụng lệnh giao diện dòng lệnh (CLI) để định cấu hình Edge Microgateway nhằm giao tiếp với Apigee Edge.

Các bước định cấu hình Đám mây API

Hãy làm theo các bước sau để sử dụng Edge Microgateway với Apigee Edge Cloud:

  1. Khởi động Edge Microgateway (bạn chỉ cần thực hiện bước này một lần):
    edgemicro init
    
  2. Một tệp cấu hình có tên là default.yaml đã được đặt vào thư mục gốc trong một thư mục con có tên là .edgemicro. Hãy kiểm tra ngay để đảm bảo tệp này tồn tại:
    ls ~/.edgemicro
    default.yaml
    

    Lưu ý: Trong các tài liệu về Edge Microgateway, chúng ta sẽ đề cập đến thư mục gốc có dấu ngã (~). Đây là một lối tắt UNIX. Nếu đang dùng Windows, nếu bạn đang chạy một shell không hỗ trợ dấu ngã, bạn sẽ cần phải thay thế biến môi trường thích hợp cho dấu ngã trong các lệnh tham chiếu đến thư mục gốc. Ví dụ: %USERPROFILE%/.edgemicro.

  3. Tất cả các lệnh CLI đều có chức năng trợ giúp. Thông tin trợ giúp in cho lệnh edgemicro cấu hình:
    edgemicro configure -h
    
  4. Thực thi lệnh sau để định cấu hình Edge Microgateway:
    edgemicro configure -o [org] -e [env] -u [username] 
    

    Trong trường hợp:

    • org: Tên tổ chức của bạn trong Edge (bạn phải là quản trị viên tổ chức).
    • env: Một môi trường trong tổ chức của bạn (chẳng hạn như thử nghiệm hoặc sản phẩm).
    • username: Địa chỉ email liên kết với tài khoản Apigee của bạn.

      Lưu ý: Lệnh định cấu hình cho phép các tham số bổ sung. Để biết danh sách đầy đủ, hãy xem bài viết Định cấu hình Edge Microgateway cho Apigee Edge Cloud.

Ví dụ

edgemicro configure -o docs -e test -u jdoe@example.com

Kết quả

./edgemicro configure -o docs -e test -u jdoe@apigee.com
password:
current nodejs version is v12.5.0
current edgemicro version is 3.1.0
password:
file doesn't exist, setting up
Give me a minute or two... this can take a while...
App edgemicro-auth deployed.
checking org for existing KVM
error checking for cert. Installing new cert.
creating KVM
adding private_key
adding public_key
configuring host edgemicroservices-us-east-1.apigee.net for region us-east-1

saving configuration information to: $HOME/.edgemicro/docs-test-config.yaml

vault info:
 -----BEGIN CERTIFICATE-----
MIICpDCCAYwCCQCQ2mJZJGbPPTANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDEwls
b2NhbGhvc3QwHhcNMTcwOTA3MjA0ODA4WhcNMTcwOTA4MjA0ODA4WjAUMRIwEAYD
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDw
yzmqi5CelqqtTr6IaFe1ssrMXEDnNtkBh95U6F5zHLsNQhJcyNUAO9um6FLMSqSd
fTztXfWUZzDgmbb6sfbx/9cqpvQ8TIjxyIz8xGM9H4legRQmsCQoYGkLjpPE5ZOa
wZrI5IaVm8LY6vbopPFwxgKOQ9bphx6k9Na055DmNyZAOTMD+4I0m/RdsrnZnYih
3DaFj1tXHKZI1jfAt/QOif5Nmk4+JckYwF+9HBysWUbbvj/gnBjVYF2Isb7q7oFD
lPGhwFoIebMqHMWD8lG7+9RJDO9dDV6f1g1/9waIrq1D+MoVXos9VMstNrPp0cKF
Ue+lAkct8tylH+2MosF7AgMBAAEwDQYJKoZIhvcNAQELBQADggEBAJMRdcQh3ayy
csVVT4TYwxV7MKWRfhDRz6X+MM9frB+Z7sI4+ZoZbXKOoZI2hSjmbdLpkNR/m9eJ
+1Uk0JKmpSY7Q+1rRrvcHsWNysGf4z+zDJXYECTrtSnXKBXtb9SJ8JAfoZOQD0lA
zmKuJjQMLTdiYMHOBR6ZWnaKaRvrQwGHcQrheJm4a90XgZF6jcRR8CPrBzkmsbCp
IU/Ux3E17wDGYPxjJs5otyQG8rN/88RGyaSeXK8rjKr9D4KFGJeasXBKmTG2afAr
yfBvS4h6s42FCOR/eLpmMllVoO9up71Fa3EtV+aK+FNNY9uMbgUHeLQE7z9nn06q
PTmvExZLkLQ=
-----END CERTIFICATE-----

The following credentials are required to start edge micro
  key: 27ee39567c75e4567a66236cbd4e86d1cc93df6481454301bd5fac4d3497fcbb
  secret: 4618b0008a6185d7327ebf53bee3c50282ccf45a3cceb1ed9828bfbcf1148b47
    

Các bước định cấu hình Đám mây riêng tư API

Hãy làm theo các bước sau để sử dụng Edge Microgateway bằng Apigee Private Cloud:

  1. Khởi động Edge Microgateway (bạn chỉ cần thực hiện bước này một lần):
    edgemicro init
    
  2. In thông tin trợ giúp cho lệnh edgemicro private configuration (Định cấu hình riêng tư Edgemicro). Bạn có thể in thông tin trợ giúp theo cách này cho mọi tuỳ chọn lệnh hoặc lệnh CLI của Edge Microgateway.
    edgemicro private configure -h
    
  3. Thực thi lệnh sau. Tính năng này yêu cầu thông tin tiêu chuẩn về tài khoản đám mây riêng tư Apigee Edge của bạn: tên tổ chức, tên môi trường, tên người dùng (địa chỉ email), mật khẩu, IP máy chủ quản lý và IP bộ định tuyến. Bạn phải là quản trị viên của tổ chức Edge thì mới có thể sử dụng lệnh này:
    edgemicro private configure -o [org] -e [env] -u [username] -r [runtime_url] -m [mgmt_url] -v [virtual_host]
    

    Trong trường hợp:

    • org là tên tổ chức của bạn trong Edge (bạn phải là quản trị viên tổ chức).
    • env là một môi trường trong tổ chức của bạn (chẳng hạn như thử nghiệm hoặc sản phẩm).
    • runtime_url là URL thời gian chạy cho phiên bản đám mây riêng tư của bạn.
    • mgmt_url là URL của máy chủ quản lý cho phiên bản đám mây riêng tư của bạn.
    • username là địa chỉ email liên kết với tài khoản Apigee của bạn.
    • virtual_host là một danh sách tên máy chủ ảo được phân tách bằng dấu phẩy. Các giá trị mặc định là default,secure

Ví dụ

edgemicro private configure -o docs -e test -u jdoe@example.com -r http://192.162.52.106:9001 -m http://192.162.52.106:8080 -v default

hoặc nếu có bí danh của máy chủ ảo là myorg-test.mycompany.com, bạn sẽ dùng một lệnh như sau:

edgemicro private configure -o docs -e test -u jdoe@example.com -r myorg-test.mycompany.com -m http://192.162.52.106:8080 -v default

Kết quả

delete cache config
checking for previously deployed proxies
configuring edgemicro internal proxy
deploying edgemicro internal proxy
deploying  edgemicro-auth  app
copy auth app into tmp dir
copy config into tmp deer
Give me a minute or two... this can take a while...
App edgemicro-auth added to your org. Now adding resources.

checking org for existing KVM
error checking for cert. Installing new cert.
creating KVM
adding private_key
adding public_key
configuring host http://192.168.52.106:9001 for region dc-1

saving configuration information to: $HOME/.edgemicro/jdoe-test-config.yaml
vault info: 
-----BEGIN CERTIFICATE----- 
MIICpDCCAYwCCQDpIvWlpaZJGDANBgkqhkiG9w0BAQFADAUMRIwEAYDVQQDEwls 
b2NhbGhvc3QwHhcNMTYwNDA3MTcxNTM5WhcNMTYwND4MTcxNTM5WjAUMRIwEAYD 
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAUAA4IBDwAwggEKAoIBAQD3 
OAQ+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFswhB0Yvg6JKWsKWBDP9o
Xl96dtgH7xPFRqIU0zI452jkMQ1fPz2mSaGwik245yfBku7olooXKRKTRKOUoXa 
q3Hld/RPxGSsWtiyyYtKex7tuFdq0Knm1EhowdTRGIgjNvudeYMka/XPRXuykhd 
xIDxWj4rdX+4GPx9qT2eTQC5nOAC7XHVL7ys4KqsAiv28vw10u400KstFFS8Qho 
7FaE0bOKLolKKadKyA60ha1XIw/uSTD6ZQFWQ+XM3OaRbXePWXnSZioSxXcZT7L 
hMUKbsRXw/TCvRB51LgNAgMBAAEwDQYJKoZIhvcNAQELBQADgEBAOuR1OmE/W6j 
gRAarJB5EQuTEpI/9Zpg5c5RAGjzLhkazsycn7pal+IymUjCV7D0oIxTVuTM8ZZ 
57kR5hF/C1ZypDN9i+KGP2ovX8WOCCXYtIQECgZPB/L/7/k7BDuKN4vFBvWUe3X 
s2oyjnVWy+ASqsW8gHfj8ekhe22bP240Oqkbyg9SZP9ol1tvJX6+M0thYwcTwAd 
ft929Icey/MOTQC0jB2qm0gnIx/7KInFXfS5KoFRJoGrWDeckr3RdBo2LhnPaeZ 
1gPYIqphZ3HfisF5KlBXoR8oT/Ilym/nq5COlv+3L4tMIk18F7BQZB60SRazifz 
pFkIxepyr/0= 
-----END CERTIFICATE----- 

The following credentials are required to start edge micro 
   key: a3f8f3dfe39158fc3c50b274f0af2234246e0d5f6ea4ad09389b645147151ba3
   secret: 3e9904802fb3c0e8ca408128a11119cf13546d54dac10ace944c097a726a1263

edgemicro configuration complete!
    

Xác minh việc cài đặt

Chạy lệnh này để xác minh chế độ cài đặt. Nếu không có lỗi nào được báo cáo, mọi thứ sẽ được thiết lập đúng cách và bạn sẽ có thể khởi động Edge Microgateway thành công.

edgemicro verify -o [org] -e [env] -k [key] -s [secret]

Trong trường hợp:

  • org là tên tổ chức của bạn trong Edge (bạn phải là quản trị viên tổ chức).
  • env là một môi trường trong tổ chức của bạn (chẳng hạn như thử nghiệm hoặc sản phẩm).
  • key là khoá được lệnh cấu hình trả về trước đó.
  • secret là khoá được lệnh cấu hình trả về trước đó.

Ví dụ

edgemicro verify -o docs -e test -k 93b01fd21d86331459ae52f624ae9aeb13eb94767ce40a4f621d172cdfb7e8e6 -s c8c755be97cf56c21f8b0156d7132afbd03625bbd85dc34ebfefae4f23fbcb3c

Giới thiệu về cấu hình

Tất cả cấu hình được thực hiện cho đến nay đều cho phép Edge Microgateway tự khởi động với Apigee Edge. Sau khi khởi động thành công, Edge Microgateway sẽ truy xuất một lượng lớn thông tin cấu hình bổ sung từ Apigee Edge.

Thông tin cấu hình này dùng để làm gì? Như chúng ta sẽ khám phá trong phần tiếp theo của hướng dẫn này, khi Edge Microgateway khởi động, nó cần nhận được một danh sách các proxy API nhận biết Edge Microgateway đặc biệt từ Apigee Edge. Trong phần tiếp theo của hướng dẫn này, bạn sẽ tạo một proxy nhận biết vi cổng. Edge Microgateway hạn chế ứng dụng chỉ gọi các API được đặt trước bởi các proxy API nhận biết vi cổng này. Đồng thời, các ứng dụng sẽ được yêu cầu (theo mặc định) trình bày mã thông báo bảo mật hợp lệ cho mỗi lệnh gọi. Để đọc thêm về các proxy này, hãy xem phần "Những điều bạn cần biết về proxy nhận biết Edge Microgateway" trong bài viết Tổng quan về Edge Microgateway.

Là quản trị viên tổ chức của Edge, bạn sẽ muốn biết rằng bạn có thể thêm các proxy nhận biết Edge Microgateway vào các sản phẩm của Edge, giống như mọi proxy khác. Thông qua việc sử dụng các sản phẩm và ứng dụng dành cho nhà phát triển, bạn có thể tạo các mã thông báo bảo mật dành riêng cho ứng dụng để kiểm soát quyền truy cập vào các API được gọi thông qua Edge Microgateway. Xin nhắc lại rằng các mẫu hình liên quan đều giống hệt khi bạn làm việc với mọi proxy API, sản phẩm và ứng dụng dành cho nhà phát triển trên Apigee Edge. Nếu bạn muốn tìm hiểu thêm về các sản phẩm, hãy bắt đầu bằng phần Sản phẩm API là gì? trong tài liệu về Edge.

Tiếp theo, chúng ta sẽ tìm hiểu cách tạo các proxy nhận biết Edge Microgateway. Sau đó, chúng ta sẽ khởi động Edge Microgateway và kiểm thử việc thiết lập.

Phần 2: Tạo thực thể trên Apigee Edge

Trong phần này, bạn sẽ tạo các thực thể sau trên Edge:

  • Proxy nhận biết cổng vào vi mô – Đây là một proxy đặc biệt mà Edge Microgateway có thể khám phá khi khởi động. Proxy nhận biết cổng nhỏ có một quy ước đặt tên mà bạn phải tuân theo: tên phải sử dụng edgemicro_. Ví dụ: edgemicro_hello hoặc edgemicro_userinfo. Khi Edge Microgateway khởi động, tính năng này sẽ truy xuất từ Edge một danh sách các proxy nhận biết cổng vi cổng từ cùng một tổ chức và môi trường Edge mà bạn đã chỉ định khi khởi động Edge Microgateway.

    Đối với mỗi proxy nhận biết cổng vi mô, Edge Microgatway sẽ truy xuất URL mục tiêu của proxy và đường dẫn cơ sở của proxy đó. Các proxy nhận biết vi cổng cũng cung cấp một cách thuận tiện để liên kết dữ liệu phân tích do Edge Microgateway tạo ra với một proxy trên nền tảng Edge. Vì Microgateway xử lý các lệnh gọi API nên sẽ đẩy dữ liệu phân tích lên Edge một cách không đồng bộ. Dữ liệu phân tích sẽ hiển thị trong giao diện người dùng Edge Analytics dưới(các) tên proxy nhận biết cổng vào, giống như với bất kỳ proxy nào khác.
  • Sản phẩm, nhà phát triển và ứng dụng dành cho nhà phát triển – Edge Microgateway sử dụng các sản phẩm, nhà phát triển và ứng dụng dành cho nhà phát triển để bật mã truy cập OAuth2 hoặc bảo mật khoá API. Khi Edge Microgateway khởi động, nó sẽ tải tất cả cấu hình sản phẩm xuống từ tổ chức Apigee của bạn. Công cụ này sử dụng thông tin này để xác minh các lệnh gọi API được thực hiện thông qua Edge Microgateway bằng các khoá API hoặc mã truy cập OAuth2.

1. Tạo một proxy API nhận biết cổng vi mô trên Edge

  1. Đăng nhập vào tổ chức của bạn trên Apigee Edge.
  2. Chọn Phát triển > Proxy API trong trình đơn điều hướng bên.
  3. Nhấp vào + Proxy. Trình hướng dẫn Build a Proxy (Tạo proxy) được gọi.
  4. Trong trang trình hướng dẫn đầu tiên, hãy chọn Proxy ngược (phổ biến nhất).
  5. Nhấp vào Tiếp theo.
  6. Trong trang Chi tiết của trình hướng dẫn, định cấu hình như sau. Hãy nhớ điền vào trình hướng dẫn chính xác như được hiển thị:
    • Tên proxy: edgemicro_hello
    • Đường dẫn cơ sở proxy: /hello
    • API hiện có: http://mocktarget.apigee.net/
  7. Nhấp vào Tiếp theo.
  8. Trên trang Bảo mật của trình hướng dẫn, hãy chọn Pass through (none) (Thông qua (không có)).
  9. Nhấp vào Tiếp theo.
  10. Trên trang Virtual Hosts (Máy chủ ảo) của trình hướng dẫn, hãy chấp nhận các giá trị mặc định.
  11. Nhấp vào Tiếp theo.
  12. Trong trang Tạo của trình hướng dẫn, xem lại cài đặt proxy của bạn. Hãy nhớ chọn môi trường kiểm thử.
  13. Nhấp vào Build and Deploy (Tạo và triển khai).

2. Tạo một sản phẩm

  1. Chọn Publish > API Products (Xuất bản > Sản phẩm API) trong trình đơn điều hướng bên.
  2. Nhấp vào + Sản phẩm API. Trang Chi tiết sản phẩm sẽ xuất hiện.
  3. Điền vào trang Chi tiết sản phẩm như sau:
    • Tên: EdgeMicroTestProduct
    • Tên hiển thị: EdgeMicroTestProduct
    • Môi trường: thử nghiệm và sản phẩm
    • Quyền truy cập: Công khai
    • Loại phê duyệt chính: Tự động
  4. Trong phần Tài nguyên, hãy nhấp vào +API Proxy
  5. Chọn edgemicro-auth
  6. Nhấp lại vào +API Proxy.
  7. Chọn edgemicro_hello
  8. Chọn + Custom Resource (Tài nguyên tuỳ chỉnh).
  9. Nhập /**
  10. Chọn lại + Custom Resource (Tài nguyên tuỳ chỉnh).
  11. Nhập /
  12. Nhấp vào Lưu.

3. (Không bắt buộc) Tạo một nhà phát triển kiểm thử

Nhằm mục đích của hướng dẫn này, bạn có thể sử dụng bất kỳ nhà phát triển hiện có nào cho bước tiếp theo, đó là tạo ứng dụng dành cho nhà phát triển. Tuy nhiên, nếu muốn, bạn hãy tạo ngay một nhà phát triển kiểm thử:

  1. Chọn Xuất bản > Nhà phát triển trong trình đơn điều hướng bên.
  2. Nhấp vào + Nhà phát triển.
  3. Điền vào hộp thoại để tạo nhà phát triển kiểm thử.

4. Tạo ứng dụng của nhà phát triển

Bạn sẽ sử dụng thông tin xác thực ứng dụng khách từ ứng dụng này để thực hiện lệnh gọi API bảo mật thông qua Edge Microgateway:

  1. Chọn Xuất bản > Ứng dụng trong trình đơn điều hướng bên.
  2. Nhấp vào + Ứng dụng. Trang Thông tin chi tiết về ứng dụng dành cho nhà phát triển sẽ xuất hiện.
  3. Điền vào Trang ứng dụng dành cho nhà phát triển như sau:
    1. Tên: EdgeMicroTestApp
    2. Tên hiển thị: EdgeMicroTestApp
    3. Nhà phát triển: Nếu bạn đã tạo một nhà phát triển kiểm thử, hãy chọn nhà phát triển đó. Hoặc bạn có thể sử dụng bất kỳ nhà phát triển hiện có nào cho mục đích của hướng dẫn này.
    4. Thông tin xác thực:
      1. Chọn Ngày hết hạn: Không bao giờ.
      2. Nhấp vào + Sản phẩm rồi chọn EdgeMicroTestProduct (sản phẩm bạn vừa tạo)
  4. Nhấp vào Lưu.
  5. Bạn sẽ trở lại trang Danh sách ứng dụng.
  6. Chọn ứng dụng bạn vừa tạo, EdgeMicroTestApp.
  7. Nhấp vào Hiển thị bên cạnh Khoá của người dùngThông tin mật của người dùng.

Phần 3: Vận hành Edge Microgateway

Giờ đây, khi bạn đã định cấu hình Edge Microgateway và ít nhất một proxy nhận biết Edge Microgateway trên Edge, đã đến lúc khởi động Edge Microgateway. Máy chủ HTTP Edge Microgateway sẽ chạy trên máy cục bộ và bạn sẽ thực hiện lệnh gọi API trực tiếp đến máy chủ đó.

1. Khởi động Edge Microgateway

Sử dụng lệnh edgemicro start để khởi động Edge Microgateway.

  1. Hãy đảm bảo rằng bạn có các khoá được trả về trước đó khi chạy lệnh edgemicro configuration (Định cấu hình cạnh nhỏ). Kết quả đó có dạng như sau:
    You need key and secret while starting edgemicro instance
    
    key: da4778e7c240a5d4585fc559eaba5083328828bc9f3a7f583e8b73e
    secret: 3aad7439708b4aeb38ee08e82189921ad00e6fc1ba8a8ae9f929ee2
    
  2. (Không bắt buộc) In thông tin trợ giúp cho lệnh edgemicro start.
    edgemicro start -h
    
  3. Để khởi động Edge Microgateway, hãy thực thi lệnh sau:
    edgemicro start -o [org] -e [env] -k [key] -s [secret]
    

    Trong trường hợp:

    • org là tên tổ chức của bạn trong Edge (bạn phải là quản trị viên tổ chức).
    • env là một môi trường trong tổ chức của bạn (chẳng hạn như thử nghiệm hoặc sản phẩm).
    • key là khoá được lệnh cấu hình trả về trước đó.
    • secret là khoá được lệnh cấu hình trả về trước đó.

    Ví dụ

    edgemicro start -o docs -e test -k 701e70e718ce6dc1880616b3c39177d64a88754d615c7a4e1f78b6181d000723 -s 05c14356e42d136b83dd135cf8a18531ff52d7299134677e30ef4e34ab0cc824
    

    Kết quả

    Lệnh start truy xuất nhiều thông tin cấu hình từ Apigee Edge (cuộn vào cửa sổ dòng lệnh). Trong kết quả, bạn sẽ thấy một danh sách các proxy nhận biết cổng vào và các sản phẩm đã được phát hiện. Ở cuối dữ liệu đầu ra, bạn sẽ thấy như sau:

    ...
    
    current nodejs version is v12.5.0
    current edgemicro version is 3.1.0
    info: jwk_public_keys download from null returned 200 undefined
    info: jwt_public_key download from https://docs-test.apigee.net/edgemicro-auth/publicKey returned 200 OK
    info: products download from https://docs-test.apigee.net/edgemicro-auth/products returned 200 OK
    info: config download from https://edgemicroservices-us-east-1.apigee.net/edgemicro/bootstrap/organization/docs/environment/test returned 200 OK
    PROCESS PID : 17991
    
  4. Kiểm tra trạng thái cổng vi mô. Trong một cửa sổ dòng lệnh khác, hãy cd vào cùng thư mục mà bạn đã khởi động Edge Micro rồi nhập lệnh sau:
    edgemicro status
    current nodejs version is v12.5.0
    current edgemicro version is 3.1.0
    edgemicro is running with 8 workers
    

Điều gì đã xảy ra?

Một tải trọng thông tin về cấu hình Edge Microgateway được tải xuống từ Apigee Edge và lưu vào bộ nhớ đệm trên máy. Một số loại thông tin thuộc dạng này bao gồm:

  • Khoá công khai mà trước đây chúng tôi đã tạo và lưu trữ trong Bản đồ giá trị khoá (KVM) đã mã hoá.
  • Biểu thị tất cả proxy nhận biết được Edge Microgateway tồn tại trong tổ chức/môi trường. Đây đều là các proxy được đặt tên bằng tiền tố edgemicro_.
  • Đại diện cho tất cả sản phẩm API có trong tổ chức/môi trường.

Với thông tin này, Edge Microgateway biết được những proxy và đường dẫn proxy nào được phép xử lý. Tính năng này sử dụng thông tin sản phẩm để tăng cường bảo mật (theo cách giống hệt như cách proxy API bất kỳ hoạt động trên Apigee Edge, trong đó khoá ứng dụng dành cho nhà phát triển có liên kết với sản phẩm). Chúng ta sẽ sớm thực hiện các bước để bảo vệ Edge Microgateway.

2. Kiểm thử cổng nhỏ cạnh

Khi Edge Microgateway đang chạy, bạn có thể gọi proxy. Cấu hình cho proxy edgemicro_hello được tải xuống từ Edge khi bạn khởi động Edge Microgateway. Hãy nhớ rằng đường dẫn cơ sở proxy là /hello.

Để kiểm thử Edge Microgateway, chúng ta sẽ bắt đầu với đường dẫn cơ sở và thêm đường dẫn tài nguyên /echo. Xin lưu ý rằng mọi thứ sau đường dẫn cơ sở (bao gồm cả mọi tham số truy vấn) đều chỉ được truyền đến đích phụ trợ:

curl -i http://localhost:8000/hello/echo
{"error":"missing_authorization","error_description":"Missing Authorization header"}

Lỗi này xảy ra do bạn không gửi khoá API hoặc mã truy cập hợp lệ kèm theo yêu cầu. Theo mặc định, Edge Microgateway yêu cầu phải có khoá API hoặc mã truy cập đối với mọi lệnh gọi API. Trong bước tiếp theo của hướng dẫn, chúng ta sẽ bảo mật API này đúng cách và cho bạn biết cách lấy mã truy cập hợp lệ rồi đưa mã đó vào yêu cầu.

4. Dừng Edge Microgateway

  1. Trong một cửa sổ dòng lệnh riêng, cd đến cùng thư mục mà bạn khởi động Edge Microgateway.
  2. Nhập lệnh dừng:
    edgemicro stop
    

Phần 4: Cổng nhỏ bảo mật Edge

Bạn có thể bảo mật các lệnh gọi API được thực hiện qua Edge Microgateway bằng khoá API hoặc mã truy cập.

Lệnh gọi API bảo mật bằng mã truy cập OAuth2

Hãy làm theo các bước sau nếu bạn muốn xác thực lệnh gọi API bằng mã truy cập OAuth2:

1. Lấy các khoá cần thiết

  1. Trong giao diện người dùng Edge, hãy chuyển đến Ứng dụng dành cho nhà phát triển mà bạn đã tạo trước đó. Tên của Ứng dụng là EdgeMicroTestApp.
  2. Trong trang Ứng dụng dành cho nhà phát triển, hãy hiện Khoá người dùng và Thông tin bí mật của người dùng rồi sao chép các khoá đó. Đây là những giá trị bắt buộc để lấy mã truy cập ở bước tiếp theo.

2. Nhận mã truy cập

Có hai cách để nhận mã truy cập. Chúng tôi sẽ cho bạn biết cả hai phương pháp.

Sử dụng CLI để lấy mã truy cập

Phương thức đầu tiên rất thuận tiện và tuân theo mẫu mà chúng tôi đã sử dụng trong suốt quá trình hướng dẫn. Phương thức thứ hai thường hữu ích hơn cho các nhà phát triển ứng dụng cần yêu cầu mã thông báo. Điểm cuối mã thông báo thực tế được triển khai trong proxy edgemicro-auth đã được triển khai khi bạn định cấu hình Edge Microgateway.

  1. (Không bắt buộc) Xem thông tin trợ giúp về lệnh nhận mã thông báo:
    edgemicro token get -h
    
  2. Tạo mã thông báo, bằng cách thay thế các giá trị Khoá người dùng và Bí mật của người dùng từ ứng dụng dành cho nhà phát triển mà bạn đã tạo trên Apigee Edge trong các tham số -i-s:
    edgemicro token get -o [org] -e [env] -i [consumer_key] -s [consumer_secret]
    

    Trong trường hợp:

    • org là tên tổ chức của bạn trong Edge (bạn phải là quản trị viên tổ chức).
    • env là một môi trường trong tổ chức của bạn (chẳng hạn như thử nghiệm hoặc sản phẩm).
    • consumer_id là Mã nhận dạng người tiêu dùng trong Ứng dụng dành cho nhà phát triển mà bạn đã tạo trước đây.
    • consumer_secret là Thông tin bí mật của người dùng trong Ứng dụng dành cho nhà phát triển mà bạn đã tạo trước đây.

    Ví dụ

    edgemicro token get -o docs -e test -i G0IAeU864EtBo99NvUbn6Z4CBwVcS2 -s uzHTbwNWvoSmOy
    

    Kết quả (Mẫu)

    current nodejs version is v12.5.0
    { token: 'eyJ0eXAiOiJKV1QiLCJhbGciSUzI1NiJ9.eyJhcHBsaWNhdGl
    vbl9uYW1lIjoiNWNiMGY0tOWMzOC00YmJjLWIzNzEtZGMxZTQzOGYxZGMxI
    iwiY2xpZW50X2lkIjoiNVVdBWEdvSU9lbzYwYWV3OTRQN0c1TUFaRTNhSnA
    iLCJzY29wZXMiOltdLCJhcGlfcHJvjdF9saXN0IjpbIsVkZ2VNaWNyb1Rlc
    3RQcm9kdWN0IlmlhdCI6MTQ3ODIwODMzMiwiZXhwIjoxNDc4MjEwMTMxfQ.
    v3Q8Rs0W9FO_XpERwIAMMXhjGamRmmmWgrAy1wJv0-99oajx5ASI5qjNubM
    nCF14xxwlVXHcz1VfedA8Nx7Ih145zhWWuPKL9muzhXXnVBRFeBMeeLqJk4
    QQ7Bhst7xH_68nJSTE20Egu95DHOCUemfrepDFH0VggY4BmzvwLkBNfz_te
    E_YqwKZbpGOLMdKK1vMk0fk0x19SieIMS_aJYeOAklrzUhnFxWJFrsAWsax
    NLx_BbQcZzYfK1JSDUrhRNVBuPHMnGjNA_oHw2J4qa6Hsp62PfchG-DIW_t
    -0BFnYf3rYXmqyNORqFrOMdl4VxqQ' }
    

(Không bắt buộc) Sử dụng API để nhận mã thông báo

Nếu thường gọi proxy Edge bằng lệnh curl hoặc một ứng dụng HTTP khác, bạn nên biết rằng mình có thể gọi trực tiếp điểm cuối của mã thông báo thay vì sử dụng lệnh edgemicro token. Sau đây là một ví dụ về curl. Bạn chỉ cần thay thế tên tổ chức và tên môi trường của mình trong URL và chuyển các giá trị Khoá người dùng được phân tách bằng dấu hai chấm:Bí mật người tiêu dùng vào tiêu đề Xác thực cơ bản:

curl -i -X POST "http://[org]-[env].apigee.net/edgemicro-auth/token" -d '{ "client_id": "your consumer key", "client_secret": "your consumer secret", "grant_type": "client_credentials" }' -H "Content-Type: application/json"

Trong trường hợp:

  • org là tên tổ chức của bạn trong Edge (bạn phải là quản trị viên tổ chức).
  • env là một môi trường trong tổ chức của bạn (chẳng hạn như thử nghiệm hoặc sản phẩm).
  • client_id là Mã nhận dạng người tiêu dùng trong Ứng dụng dành cho nhà phát triển mà bạn đã tạo trước đây.
  • client_secret là Thông tin mật của người dùng trong Ứng dụng dành cho nhà phát triển mà bạn đã tạo trước đây.

Kết quả (Mẫu)

Lệnh này (cho dù bạn đã dùng lệnh CLI edgemicro token hay gọi điểm cuối bằng curl) sẽ trả về một mã truy cập đã ký có thể dùng để thực hiện lệnh gọi ứng dụng. Ví dụ như sau:

MIICpDCCAYwCCQDpIvWlpaZJGDANBgkqhkiG9w0BAQFADAUMRIwEAYDVQQDEwls 
b2NhbGhvc3QwHhcNMTYwNDA3MTcxNTM5WhcNMTYwND4MTcxNTM5WjAUMRIwEAYD 
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAUAA4IBDwAwggEKAoIBAQD3 
OAQ+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFsnhB0Yvg6JKWxKWBDP9o
Xl96dtgH7xPFRqIU0zI452jkMQ1fPz2mSaGwik241yfBku7olooXKRKTRKOUoXa
q3Hld/RPxGSsWtiyyYtKex7tuFdq0Knm1EhowdTRGIgjNvudeYMka/XPRXuykhd 
xIDxWj4rdX+4GPx9qT2eTQC5nOAC7XHVL7ys4KqsAiv28vw10u400KstFFS8Qho 
7FaE0bOKLolKKadKyA60ha1XIw/uSTD6ZQFWQ+XM3OaRbXePWXnSZioSxXcZT7L 
hMUKbsRXw/TCvRB51LgNAgMBAAEwDQYJKoZIhvcNAQELBQADgEBAOuR1OmE/W6j 
gRAarJB5EQuTEpI/9Zpg5c5RAGjzLhkazsycn7pal+IymUjCV7D0oIxTVuTM8ZZ 
57kR5hF/C1ZypDN9i+KGP2ovX8WOCCXYtIQECgZPB/L/7/k7BDuKN4vFBvWUe3X 
s2oyjnVWy+ASqsW8gHfj8ekhe22bP240Oqkbyg9SZP9ol1tvJX6+M0thYwcTwAd 
ft929Icey/MOTQC0jB2qm0gnIx/7KInFXfS5KoFRJoGrWDeckr3RdBo2LhnPaeZ 
1gPYIqphZ3HfisF5KlBXoR8oT/Ilym/nq5COlv+3L4tMIk18F7BQZB60SRazifz 
pFkIxepyr/0=
      

3. Kiểm tra cấu hình trong Edge Microgateway

  1. Mở tệp $HOME/.edgemicro/org-env-config.yaml. Hãy xem phần Edge Microgateway được cài đặt ở đâu nếu bạn không tìm thấy tệp này.
  2. Hãy đảm bảo rằng các thuộc tính của trình bổ trợ OAuth này được đặt thành false. Theo mặc định, thông số này là sai, nhưng bạn nên kiểm tra kỹ:
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
    
  3. Ngoài ra, trong tệp org-env-config.yaml, hãy đảm bảo rằng trình bổ trợ OAuth được thêm vào phần tử plugins:sequence, như sau::
    plugins:
       dir: ../plugins
       sequence:
       - oauth
    
  4. Nếu bạn thực hiện bất kỳ thay đổi nào đối với tệp, hãy tải lại các thay đổi đó vào thực thể Edge Microgateway đang chạy. Lệnh này định cấu hình lại Edge Microgateway với thời gian ngừng hoạt động bằng 0:
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]
    

    Trong trường hợp:

    • org là tên tổ chức của bạn trong Edge (bạn phải là quản trị viên tổ chức).
    • env là một môi trường trong tổ chức của bạn (chẳng hạn như thử nghiệm hoặc sản phẩm).
    • key là khoá được lệnh cấu hình trả về trước đó.
    • secret là khoá được lệnh cấu hình trả về trước đó.

    Ví dụ

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
    

4. Gọi API một cách an toàn

Với mã truy cập trong tay, giờ đây bạn có thể thực hiện lệnh gọi API một cách an toàn. Ví dụ:

  curl -i -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhcHBsaWNhdGlvbl
9uYW1lIjoiYmU2YmZjYjAtMWQ0Ni00Y2IxLWFiNGQtZTMxNzRlNTAyMDZkIiwiY2xpZW50X2lkIjoiOGxTTTVIRHdyM
VhIT1ZwbmhURExhYW9FVG5STVpwWk0iLCJzY29wZXMiOltdLCJhcGlfcHJvZHVjdF9saXN0IjpbIk1pY3JvZ2F0ZXdh
eVRlQcm9kdWN0Il0sImCI6MTQzNTM0NzY5MiwiZXhwIjoxNDM1MzQ5NDkxfQ.PL30Y6uK1W1f2ONPEsBDB_BT31c6
IsjWGfwpz-p6Vak8r767tAT4mQAjuBpQYv7_IU4DxSrnxXQ_q536QYCP4p4YKfBvyqbnW0Rb2CsPFziy_n8HIczsWO
s0p4czcK63SjONaUpxV9DbfGVJ_-WrSdqrqJB5syorD2YYJPSfrCcgKm-LpJc6HCylElFDW8dHuwApaWcGRSV3l5Wx
4A8Rr-WhTIxDTX7TxkrfI4THgXAo37p3au3_7DPB_Gla5dWTzV4j93xLbXPUbwTHzpaUCFzmPnVuYM44FW5KgvBrV0
64RgPmIFUxSqBWGQU7Z1w2qFmWuaDljrMDoLEreI2g" http://localhost:8000/hello/echo

API trả về tiêu đề và thông tin khác từ máy chủ mô phỏng.

Bảo mật API bằng khoá API

Nếu bạn muốn sử dụng khoá API để uỷ quyền, hãy làm theo các bước sau:

1. Lấy khoá API

  1. Trong giao diện người dùng Edge, hãy chuyển đến Ứng dụng dành cho nhà phát triển mà bạn đã tạo trước đó. Tên của Ứng dụng là EdgeMicroTestApp.
  2. Trong trang Ứng dụng dành cho nhà phát triển, hãy hiển thị và sao chép Khóa người dùng. Giá trị này là khoá API. Bạn sẽ sử dụng khoá này để thực hiện các lệnh gọi API đã xác thực.

2. Kiểm tra cấu hình trong Edge Microgateway

  1. Mở tệp $HOME/.edgemicro/org-env-config.yaml. Xem Edge Microgateway được cài đặt ở đâu nếu bạn không tìm thấy tệp này.
  2. Hãy đảm bảo rằng các thuộc tính của trình bổ trợ OAuth này được đặt thành false. Theo mặc định, các giá trị này là false, nhưng bạn có thể kiểm tra kỹ nếu muốn:
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
    
  3. Ngoài ra, trong tệp org-env-config.yaml, hãy đảm bảo rằng trình bổ trợ OAuth được thêm vào phần tử plugins:sequence, như sau::
    plugins:
       dir: ../plugins
       sequence:
       - oauth
        
    
  4. Nếu bạn thực hiện bất kỳ thay đổi nào đối với tệp, hãy tải lại các thay đổi đó vào thực thể Edge Microgateway đang chạy. Lệnh này định cấu hình lại Edge Microgateway với thời gian ngừng hoạt động bằng 0:
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]
    

    Trong trường hợp:

    • org là tên tổ chức của bạn trong Edge (bạn phải là quản trị viên tổ chức).
    • env là một môi trường trong tổ chức của bạn (chẳng hạn như thử nghiệm hoặc sản phẩm).
    • key là khoá được lệnh cấu hình trả về trước đó.
    • secret là khoá được lệnh cấu hình trả về trước đó.

    Ví dụ

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c30177d64a88754d615c74e1f78b6181d
    

3. Gọi API một cách an toàn bằng khoá API

Gọi API có tiêu đề x-api-key như sau. Giá trị Khoá người dùng mà bạn đã sao chép từ Ứng dụng cho nhà phát triển là khoá API. Theo mặc định, Edge Microgateway yêu cầu bạn truyền khoá trong một tiêu đề có tên là x-api-key, như sau:

curl -i http://localhost:8000/hello/echo -H "x-api-key: [apikey]"

Trong trường hợp:

  • apikey là giá trị Khoá người tiêu dùng được lấy từ EdgeMicroTestApp.

Ví dụ:


curl -i http://localhost:8000/hello/echo -H 'x-api-key: XsU1R4zGXz2ERxd0ilYQ5szwuljr5bB'

Giờ đây, bạn đã có một Edge Microgateway hoạt động đầy đủ và an toàn. Trong phần tiếp theo của hướng dẫn, chúng ta sẽ tìm hiểu các trình bổ trợ thêm chức năng vào Edge Microgateway.

Phần 5: Thêm trình bổ trợ Spike Arrest

Trong phần này, chúng tôi sẽ thêm một tính năng giới hạn tốc độ có tên là bắt giữ tăng đột biến vào thực thể của Edge Microgateway.

Trình bổ trợ là gì?

Trình bổ trợ là một mô-đun Node.js bổ sung chức năng cho Edge Microgateway. Các mô-đun trình bổ trợ tuân theo một mẫu nhất quán và được lưu trữ tại một vị trí mà Edge Microgateway biết đến, cho phép cổng vi mô khám phá và tự động tải các mô-đun đó. Bạn có thể đọc thêm về trình bổ trợ trong phần Sử dụng trình bổ trợ.

Thêm trình bổ trợ bắt giữ tăng đột biến

Trình bổ trợ bắt giữ tăng đột biến sẽ giúp ngăn chặn tình trạng lưu lượng truy cập tăng đột biến. Phương thức này điều tiết số lượng yêu cầu được một thực thể Edge Microgateway xử lý.

Trong Edge Microgateway, tính năng chống tăng đột biến được triển khai dưới dạng một mô-đun trình bổ trợ. Để bật chế độ này, bạn cần thêm khoá này vào tệp cấu hình Edge Microgateway.

  1. Mở tệp $HOME/.edgemicro/org-env-config.yaml.Vị trí Edge Microgateway được cài đặt nếu bạn không tìm thấy tệp này.
  2. Hãy thêm phần tử sau đây. Bạn có thể thêm thẻ này vào vị trí bất kỳ trong tệp.
       spikearrest:
          timeUnit: minute   
          allow: 10   
          buffersize: 0   
    
  3. Thêm spikearrest vào phần tử edgemicro:sequence, như minh hoạ dưới đây. Thuộc tính cấu hình trình tự cho Edge Microgateway biết thứ tự thực thi các mô-đun trình bổ trợ.
    edgemicro:
      home: ../gateway
      port: 8000
      max_connections: -1
      max_connections_hard: -1
      logging:
        level: info
        dir: /var/tmp
        stats_log_interval: 60
      plugins:
        dir: ../plugins
      sequence:
        - oauth
        - spikearrest
    
  4. Lưu tệp cấu hình.
  5. Tải lại Edge Microgateway bằng lệnh reload (tải lại). Bạn phải chạy lệnh này từ thư mục mà bạn đã khởi động Edge Microgateway.
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]
    

    Trong trường hợp:

    • org là tên tổ chức của bạn trong Edge (bạn phải là quản trị viên tổ chức).
    • env là một môi trường trong tổ chức của bạn (chẳng hạn như thử nghiệm hoặc sản phẩm).
    • key là khoá được lệnh cấu hình trả về trước đó.
    • secret là khoá được lệnh cấu hình trả về trước đó.

    Ví dụ

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
    
  6. Thử gọi API này nhiều lần liên tiếp. Sau lệnh gọi thứ hai, Edge Microgateway sẽ trả về lỗi này:
    {"message":"SpikeArrest engaged","status":503}
    

Lý do là tính năng bắt giữ tăng đột biến giúp làm mượt số lượng lệnh gọi có thể thực hiện theo đơn vị thời gian đã chỉ định. Vì vậy, trong trường hợp này, bạn có thể thực hiện 10 cuộc gọi trong một phút, hoặc cứ 6 giây sẽ có 1 cuộc gọi.

Điểm cộng: Thêm trình bổ trợ hạn mức

Làm theo cùng một mẫu dùng để định cấu hình tính năng chống tăng đột biến, bạn có thể thêm các trình bổ trợ khác, chẳng hạn như trình bổ trợ hạn mức. Giống như với tính năng phát hiện tăng đột biến, trình bổ trợ hạn mức được bao gồm trong mỗi lần cài đặt Edge Microgateway. Hạn mức chỉ định số lượng thông báo yêu cầu mà một ứng dụng được phép gửi tới API trong một khoảng thời gian cụ thể (phút hoặc giờ).

Phần 6: Xem số liệu phân tích trên Apigee Edge

Chúng ta hiện đã có một thực thể Edge Microgateway hoạt động đầy đủ. Hãy xem chúng ta đã làm được gì! Theo mặc định, mô-đun trình bổ trợ phân tích sẽ được thêm vào Edge Micro. Mô-đun này sẽ tự động đẩy dữ liệu phân tích từ Edge Micro sang Apigee được hệ thống Edge Analytics sử dụng. Hãy xem:

  1. Đăng nhập vào tổ chức của bạn trên Apigee Edge.
  2. Chọn Analytics > Proxy Performance (Analytics > Hiệu suất proxy).
  3. Trong Trang tổng quan về hiệu suất proxy, hãy chọn edgemicro_hello proxy.
  4. Biểu đồ này hiển thị cho bạn thông tin về mẫu lưu lượng truy cập của proxy, chẳng hạn như tổng lưu lượng truy cập, thời gian phản hồi trung bình, thời gian phản hồi trung bình mục tiêu, v.v.

Bạn có thể đọc thêm về trang tổng quan Analytics Edge trên trang chủ Trang tổng quan Analytics trong tài liệu về Edge. Để tìm hiểu thêm về trình bổ trợ, hãy xem phần Sử dụng trình bổ trợ