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

Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào tài liệu Apigee X.
thông tin

Edge Microgateway phiên bản 2.3.x

Tổng quan

Hướng dẫn này sẽ hướng dẫn bạn các bước cần thiết để thiết lập và chạy một phiên bản Edge Microgateway.

Sau khi hoàn tất các bước tại đây, bạn sẽ có một bản cài đặt Edge Microgateway hoạt động và được định cấu hình đầy đủ, 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 đến một mục tiêu phụ trợ. Bạn cũng sẽ tìm hiểu cách thêm một trình bổ trợ chố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 Edge. Khi hoàn tất quá trình cài đặt, bạn sẽ sẵn sàng làm theo các bước trong hướng dẫn này.

Sau khi hoàn tất quá trình cài đặt, hãy chuyển sang phần tiếp theo: "Phần 1: Định cấu hình Edge Microgateway".

Phần 1: Định cấu hình Edge Microgateway

Trong phần này, bạn sẽ sử dụng một 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. Nếu bạn đang sử dụng Apigee Edge Cloud, hãy làm theo các bước định cấu hình Apigee Edge Cloud. Nếu bạn đang sử dụng Apigee Private Cloud, hãy làm theo các bước dành cho Apigee Edge Private Cloud.

Các bước định cấu hình Apigee Edge Cloud

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

  1. Nếu trước đây bạn chưa thực hiện, hãy 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. (Không bắt buộc) In thông tin trợ giúp cho lệnh edgemicro configure:
    edgemicro configure -h
  3. 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 là tên tổ chức Edge của bạn (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ư môi trường thử nghiệm hoặc môi trường sản xuất).
    • username là địa chỉ email liên kết với tài khoản Apigee của bạn.

Ví dụ

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

Đầu ra

./edgemicro configure -o docs -e test -u jdoe@apigee.com
password:
current nodejs version is v6.1.0
current edgemicro version is 2.2.3-beta
password:
file doesn't exist, setting up
Give me a minute or two... this can take a while...
App edgemicro-auth deployed.
creating vault
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/wwitman-test-config.yaml

vault info:
 -----BEGIN CERTIFICATE-----
MIICpDCCAYwCCQCaDpaTttaDANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDEwls
b2NhbGhvc3QwHhcNMTYxAxMjA0NzIyWhcNMTYxMTAyMjA0NzIyWjAUMRIwEAYD
VQQDEwlsb2NhbGhvcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDA
YbtbsFe50GgBrI8QTih5yzxxxvCfdubGrLWmovwwCCFthno3u8lS54ekOL9jQu
JTJsocJfNhZxvnXifDsCk5Muwx87Z/D0BYLw9ZhM8TMyA2MCkXgC6RfKT69IdJ
jT3X+3D0s+apr3lACsDhgOfaeQfeHAm1SSwH/VemaJqdImGkQMtM8uscMDwG6k
vBbCSNS+hh6ZH1m3tAkcKXqvj/E1hbrHNTWr+uiYFRByUzeo1I607daQD4Lxid
il4Ng3hr3LC1gEzvobWgVyhQ2ovYB57T886H7dGghTnOUxLm2y/TwmQya+44SL
JSsDwauArMF38cRKZZ7VAgMBAAEwDQYJKoZIhvcNAQELBQADEBAHwwu+gOn8Tq
jKOYBTXtOX11HPMTxmyvZ/I57R4roE7Z/lXg/DXwbiFpFG2uamXNKq7yTDJH2i
iiqdERZOGfv7TJMjRlxEnfVHoCV7UKguKq4zeeAEU2x55yFwpWNrarx0kMXRwI
v3WgGfo2bimFQrCjDCNIkDKmYYt4SXIF5zUJmBWPCaK9aJoQb7ARXQO9s2zoOI
XZ5bCUDbehQZ+6LyqC0hgDXiIZYy7R0j93yCbQgoHaHUMEprJEEjE24SHdsWBO
nxGZxB20JLq5AHTm8lbZp7XtvbU0jVpxyrBo2/olFnmpvBVOq9eIp042IVD7nT
J4rPejdK6C4=
-----END CERTIFICATE-----

The following credentials are required to start edge micro
  key: e88ec9d5da17cd88ca338d532b7c7a8c4f43ddd3da139d95955ab345af30352d
  secret: d7f64854eb6889d06b809dd7c161dba5eeba4a2657277fd819921bf992221a8f

edgemicro configuration complete!
    

Các bước định cấu hình Apigee Private Cloud

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

  1. In thông tin trợ giúp cho lệnh edgemicro private configure. Bạn có thể in trợ giúp theo cách này cho mọi lệnh hoặc lựa chọn lệnh của Edge Microgateway CLI.
    edgemicro private configure -h
  2. Thực thi lệnh sau. Bạn cần cung cấp thông tin tiêu chuẩn về tài khoản Apigee Edge Private Cloud: 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 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 Edge của bạn (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ư môi trường kiểm thử hoặc môi trường sản xuất).
    • 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 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à danh sách tên máy chủ ảo được phân tách bằng dấu phẩy. 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 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

Đầu ra

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 vault creating vault adding private_key adding public_key
configuring host http://192.168.52.106:9001 for region dc-1

saving configuration information to: /Users/ApigeeCorporation/.edgemicro/jdoe-test-config.yaml 
vault info: 
-----BEGIN CERTIFICATE----- 
MIICpDCCAYwCCQDpIvWlpaZJGDANBgkqhkiG9w0BAQFADAUMRIwEAYDVQQDEwls 
b2NhbGhvc3QwHhcNMTYwNDA3MTcxNTM5WhcNMTYwND4MTcxNTM5WjAUMRIwEAYD 
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAUAA4IBDwAwggEKAoIBAQD3 
OAQ+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFswhB0Yvg6JKWxKWBDP9o 
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: a3f8f3dfe39158fc3c50b274f0af2234246e0d5f6ea4dd09389b645147151ba3 
   secret: 3e9904802fb3c0e8ca408128a11119cf13546d54dac30ace944c097a726a1263

edgemicro configuration complete!
    

Xác minh quá trình cài đặt

Chạy lệnh này để xác minh quá trình cài đặt. Nếu không có lỗi nào được báo cáo, thì mọi thứ đều được thiết lập chính xác 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 Edge của bạn (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ư môi trường thử nghiệm hoặc môi trường sản xuất).
  • key là khoá mà lệnh định cấu hình đã trả về trước đó.
  • secret là khoá mà lệnh định cấu hình đã trả về trước đó.

Ví dụ

edgemicro verify -o docs -e test -k 93b01fd21d86331459ae52f664ae9aeb13eb94767ce40a4f621d172cdfb7e8e6 -s c8c755be97cf56c21f8b0556d7132afbd03625bbd85dc34ebfefae4f23fbcb3c

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

Tất cả cấu hình đã thực hiện cho đến nay cho phép Edge Microgateway tự khởi động vào Apigee Edge. Sau khi quá trình khởi động thành công, Edge Microgateway sẽ truy xuất tải trọng gồm 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 danh sách các proxy API đặc biệt có nhận biết Edge Microgateway 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 có nhận biết Microgateway. Edge Microgateway hạn chế các ứng dụng gọi chỉ những API được hỗ trợ bởi các proxy API có nhận biết Microgateway này và các ứng dụng sẽ phải (theo mặc định) xuất trình 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ề các proxy nhận biết Edge Microgateway trong phần Tổng quan về Edge Microgateway.

Là quản trị viên tổ chức Edge, bạn sẽ muốn biết rằng có thể thêm các proxy có nhận biết Edge Microgateway vào các sản phẩm 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 mã thông báo bảo mật dành riêng cho từng khách hàng để kiểm soát quyền truy cập vào các API được gọi thông qua Edge Microgateway. Một lần nữa, các mẫu liên quan giống hệt như khi 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 về các sản phẩm, hãy bắt đầu bằng bài viết Sản phẩm API là gì? trong tài liệu của 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ử chế độ 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:

  • Một proxy có nhận biết microgateway – Đây là một proxy đặc biệt mà Edge Microgateway có thể phát hiện khi khởi động. Các proxy nhận biết vi cổng có một quy ước đặt tên mà bạn phải tuân theo: tên phải bắt đầu bằng edgemicro_. Ví dụ: edgemicro_hello hoặc edgemicro_userinfo. Khi Edge Microgateway khởi động, nó sẽ truy xuất từ Edge một danh sách các proxy có nhận biết microgateway 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 siêu nhỏ, Edge Microgateway sẽ truy xuất URL đích của proxy và đường dẫn cơ sở của proxy đó. Các proxy nhận biết cổng siêu nhỏ 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 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 nó sẽ đẩy dữ liệu phân tích đến Edge theo cách không đồng bộ. Dữ liệu Analytics sẽ xuất hiện trong giao diện người dùng Edge Analytics trong(các) tên proxy có nhận biết cổng siêu nhỏ, giống như đối với mọi proxy khác.
  • Một sản phẩm, nhà phát triển và ứng dụng của 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 của nhà phát triển để bật tính năng bảo mật mã truy cập OAuth2 hoặc 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 Edge của bạn. Nó 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 khoá API hoặc mã truy cập OAuth2.

Đọc thêm: Xem thêm phần "Những điều bạn cần biết về các proxy nhận biết Edge Microgateway" trong phần Tổng quan về Edge Microgateway.

1. Tạo một proxy API có nhận biết Edge Microgateway trên Edge

  1. Đăng nhập vào tổ chức của bạn trên Apigee Edge.
  2. Nhấp vào CHUYỂN SANG PHIÊN BẢN CŨ để chuyển sang giao diện người dùng Edge phiên bản cũ.
  3. Chọn API > API Proxies (API > API Proxy) trong trình đơn trên cùng.
  4. Trong trang API Proxies (API Proxy), hãy nhấp vào + API Proxy (+ API Proxy).
  5. Trong trình hướng dẫn Build a Proxy (Tạo một proxy), hãy chọn Reverse proxy (most common) (Proxy đảo ngược (phổ biến nhất)).
  6. Nhấp vào Tiếp theo.
  7. Trong trang thông tin chi tiết của trình hướng dẫn, hãy định cấu hình như sau. Hãy nhớ điền thông tin vào trình hướng dẫn đúng như hình minh hoạ:
    • Tên proxy: edgemicro_hello
    • Đường dẫn cơ sở của proxy: /hello
    • API hiện có: http://mocktarget.apigee.net/
  8. Nhấp vào Tiếp theo.
  9. Trong trang Bảo mật của trình hướng dẫn, hãy chọn Truyền qua (không có).
  10. Nhấp vào Tiếp theo.
  11. Trong trang 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.
  12. Nhấp vào Tiếp theo.
  13. Trong trang Build (Tạo) của trình hướng dẫn, hãy xem lại chế độ cài đặt proxy. Đảm bảo bạn đã chọn môi trường thử nghiệm.
  14. Nhấp vào Build and Deploy (Tạo và triển khai).

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

Tạo một sản phẩm chứa 2 proxy:

  • Proxy có nhận biết vi cổng: edgemicro_hello
  • Proxy xác thực do Edge Microgateway cài đặt: edgemicro-auth.
  1. Trong giao diện người dùng Edge (phiên bản Cổ điển), hãy chuyển đến Xuất bản > Sản phẩm.
  2. Trong trang Sản phẩm, hãy nhấp vào + Sản phẩm. Điền thông tin 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 xuất
    • Quyền truy cập: Công khai
    • Loại phê duyệt khoá: Tự động
    • Tài nguyên:
      • API Proxy: Chọn edgemicro_hello
      • Bản sửa đổi: 1
      • Đường dẫn tài nguyên: /**
  3. Nhấp vào Nhập tài nguyên.
  4. Trong phần Tài nguyên, hãy nhấp vào +API Proxy
  5. Chọn edgemicro-auth
  6. 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ử

Để phục vụ 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, tạo một ứng dụng dành cho nhà phát triển. Tuy nhiên, nếu muốn, bạn có thể tạo một nhà phát triển kiểm thử ngay bây giờ:

  1. Chuyển đến mục Xuất bản > Nhà phát triển.
  2. Trong trang Sản phẩm, hãy nhấp vào + Nhà phát triển.
  3. Điền thông tin vào hộp thoại để tạo nhà phát triển kiểm thử.

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

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

  1. Chuyển đến mục Xuất bản > Ứng dụng của nhà phát triển.
  2. Trên trang Ứng dụng của nhà phát triển, hãy nhấp vào + Ứng dụng của nhà phát triển.
  3. Điền thông tin vào trang Ứng dụng của 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 + Product (Thêm 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ẽ quay lại trang danh sách Ứng dụng của nhà phát triển.
  6. Chọn ứng dụng bạn vừa tạo, EdgeMicroTestApp.
  7. Nhấp vào Hiện bên cạnh Khoá của người dùng và Khoá bí mật của người dùng.

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

Giờ đây, bạn đã định cấu hình Edge Microgateway và có í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ộ của bạn 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. Đảm bảo bạn có các khoá đã được trả về trước đó khi chạy lệnh edgemicro configure. Đầu ra có dạng như sau:
    You need key and secret while starting edgemicro instance
    
    key: da4778e7c240a5d4585fc559eaba5083328828ac9f3a7f583e8b73e
    secret: 3aad7439708b4aeb38ee08e87189921ad00e6fc1ba8a8ae9f929ee2
  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 Edge của bạn (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ư môi trường thử nghiệm hoặc môi trường sản xuất).
    • key là khoá mà lệnh định cấu hình đã trả về trước đó.
    • secret là khoá mà lệnh định cấu hình đã trả về trước đó.

    Ví dụ

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

    Đầu ra

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

    ...
    
    PROCESS PID : 9757
    installed plugin from analytics
    installed plugin from oauth
    eb725020-a2b0-11e6-8a52-6de156e3a6e2 edge micro listening on port 8000
    installed plugin from analytics
    installed plugin from oauth
    installed plugin from analytics
    installed plugin from oauth
    installed plugin from analytics
    installed plugin from oauth
    eb77ce60-a2b0-11e6-8a88-b96278c0c198 edge micro listening on port 8000
    eb78b8c0-a2b0-11e6-bf36-717b986c91fe edge micro listening on port 8000
    eb77f570-a2b0-11e6-883e-472b9104351e edge micro listening on port 8000

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

Xem dòng lệnh nơi bạn chạy lệnh edgemicro config. Khi cuộn lên qua đầu ra tiêu chuẩn, bạn có thể thấy rằng lệnh này truy xuất tải trọng thông tin cấu hình Edge Microgateway từ Apigee Edge. Đó là các thông tin sau đây:

  • Khoá công khai mà chúng ta đã tạo và lưu trữ trước đó trong kho lưu trữ Apigee.
  • Một biểu diễn JSON của tất cả các proxy nhận biết Edge Microgateway có trong tổ chức/môi trường. Đây là tất cả các proxy được đặt tên bằng tiền tố edgemicro_.
  • Một biểu thị JSON của tất cả cá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 những proxy và đường dẫn proxy mà nó được phép xử lý. API này sử dụng thông tin sản phẩm để thực thi bảo mật (theo cách hoàn toàn giống như mọi proxy API trên Apigee Edge, trong đó khoá ứng dụng của nhà phát triển có mối liên kết với sản phẩm). Chúng ta sẽ xem xét các bước để bảo mật Edge Microgateway trong thời gian ngắn.

2. Kiểm thử Edge Microgateway

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ở của proxy là /hello.

Để kiểm thử Edge Microgateway, chúng ta bắt đầu bằng đường dẫn cơ sở và thêm một đườ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) chỉ được truyền đến đích đến phụ trợ:

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

Lỗi này xảy ra vì bạn không gửi khoá API hoặc mã truy cập hợp lệ cùng với yêu cầu. Theo mặc định, Edge Microgateway yêu cầu khoá API hoặc mã truy cập trên 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à hướng dẫn bạn 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, hãy cd đến cùng một thư mục nơi bạn đã khởi động Edge Microgateway.
  2. Nhập lệnh dừng:
    edgemicro stop

Phần 4: Secure Edge Microgateway

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

Bảo mật các lệnh gọi API 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 các lệnh gọi API bằng mã truy cập OAuth2:

1. Lấy các khoá bắt buộc

  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 đó, như mô tả trong Phần 2: Tạo thực thể trên Apigee Edge. Tên của Ứng dụng là EdgeMicroTestApp.
  2. Trong trang Developer App (Ứng dụng của nhà phát triển), hãy cho thấy Consumer Key (Khoá của người dùng) và Consumer Secret (Khoá bí mật của người dùng), rồi sao chép các khoá này. Bạn cần có các giá trị này để lấy mã truy cập ở bước tiếp theo.

2. Lấy mã truy cập

Có hai cách để lấy mã truy cập. Chúng tôi sẽ hướng dẫn bạn 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 tiện lợi và tuân theo mẫu mà chúng ta đã sử dụng trong suốt 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 khách 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 cho lệnh token get:
    edgemicro token get -h
  2. Tạo mã thông báo, thay thế các giá trị Khoá người dùng và Khoá bí mật người dùng từ ứng dụng nhà phát triển mà bạn đã tạo trên Apigee Edge trong các tham số -i và -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 Edge của bạn (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ư môi trường thử nghiệm hoặc môi trường sản xuất).
    • 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 đó.
    • consumer_secret là Consumer Secret trong Ứng dụng dành cho nhà phát triển mà bạn đã tạo trước đó.

    Ví dụ

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

    Đầu ra (Mẫu)

    current nodejs version is v4.4.4
    { token: 'eyJ0eXAiOiJKV1QiLCJhbGciSUzI1NiJ9.eyJhcHBsaWNhdGl
    vbl9uYW1lIjoiNWNiMGY0tOWMzOC00YmJjLWIzNzEtZGMxZTQzOGYxZGMxI
    iwiY2xpZW50X2lkIjoiNVVdBWEdvSU9lbzYwYWV3OTRQN0c1TUFaRTNhSnA
    iLCJzY29wZXMiOltdLCJhcGlfcHJvjdF9saXN0IjpbIkVkZ2VNaWNyb1Rlc
    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 để lấy mã thông báo

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

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

Trong trường hợp:

  • org là tên tổ chức Edge của bạn (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ư môi trường thử nghiệm hoặc môi trường sản xuất).
  • 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 đó.
  • client_secret là Consumer Secret trong Ứng dụng dành cho nhà phát triển mà bạn đã tạo trước đó.

Đầu ra (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ý mà bạn có thể dùng để thực hiện các lệnh gọi của ứng dụng. Chẳng hạn như:

MIICpDCCAYwCCQDpIvWlpaZJGDANBgkqhkiG9w0BAQFADAUMRIwEAYDVQQDEwls 
b2NhbGhvc3QwHhcNMTYwNDA3MTcxNTM5WhcNMTYwND4MTcxNTM5WjAUMRIwEAYD 
VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAUAA4IBDwAwggEKAoIBAQD3 
OAQ+kf5FH0S0yuj05ITqUODuUJspBPberRMbqOZYHcFswhB0Yvg6JKWxKWBDP9o 
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=
      

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

  1. Mở tệp ~/.edgemicro/org-env-config.yaml. Xem thêm phần "Nơi cài đặt Edge Microgateway" trong Cài đặt Edge Microgateway.
  2. Hãy nhớ đặt các thuộc tính trình bổ trợ oauth này thành false. Theo mặc định, các giá trị này là false, nhưng bạn nên kiểm tra lại:
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
  3. Ngoài ra, trong tệp org-env-config.yaml, hãy nhớ thêm trình bổ trợ oauth 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 phiên bản Edge Microgateway đang chạy. Lệnh này định cấu hình lại Edge Microgateway mà không có thời gian ngừng hoạt động:
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]

    Trong trường hợp:

    • org là tên tổ chức Edge của bạn (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ư môi trường thử nghiệm hoặc môi trường sản xuất).
    • key là khoá mà lệnh định cấu hình đã trả về trước đó.
    • secret là khoá mà lệnh đị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

Khi đã có mã truy cập, 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.PN30Y6uK1W1f2ONPEsBDB_BT31c6
IsjWGfwpz-p6Vak8r767tAT4mQAjuBpQYv7_IU4DxSrnxXQ_q536QYCP4p4YKfBvyqbnW0Rb2CsPFziy_n8HIczsWO
s0p4czcK63SjONaUpxV9DbfGVJ_-WrSdqrqJB5syorD2YYJPSfrCcgKm-LpJc6HCylElFDW8dHuwApaWcGRSV3l5Wx
4A8Rr-WhTIxDTX7TxkrfI4THgXAo37p3au3_7DPB_Gla5dWTzV4j93xLbXPUbwTHzpaUCFzmPnVuYM44FW5KgvBrV0
64RgPmIFUxSqBWGQU7Z1w2qFmWuaDljrMDoLEreI2g" http://localhost:8000/hello/echo

API này trả về các 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 đó, như mô tả trong Phần 2: Tạo thực thể trên Apigee Edge. Tên của Ứng dụng là EdgeMicroTestApp.
  2. Trong trang Ứng dụng nhà phát triển, hãy cho thấy Khoá người dùng và sao chép khoá đó. Giá trị này là khoá API. Bạn 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 ~/.edgemicro/org-env-config.yaml. Xem thêm phần "Nơi cài đặt Edge Microgateway" trong Cài đặt Edge Microgateway.
  2. Hãy nhớ đặt các thuộc tính trình bổ trợ oauth này thành false. Theo mặc định, các giá trị này là false, nhưng bạn nên kiểm tra lại:
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
  3. Ngoài ra, trong tệp org-env-config.yaml, hãy nhớ thêm trình bổ trợ oauth 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 phiên bản Edge Microgateway đang chạy. Lệnh này định cấu hình lại Edge Microgateway mà không có thời gian ngừng hoạt động:
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]

    Trong trường hợp:

    • org là tên tổ chức Edge của bạn (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ư môi trường thử nghiệm hoặc môi trường sản xuất).
    • key là khoá mà lệnh định cấu hình đã trả về trước đó.
    • secret là khoá mà lệnh định cấu hình đã trả về trước đó.

    Ví dụ

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

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

Gọi API bằng tiêu đề x-api-key như sau. Giá trị Consumer Key (Khoá người dùng) mà bạn sao chép từ Ứng dụng nhà phát triển chính 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 dùng được lấy từ EdgeMicroTestApp.

Ví dụ:


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

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 này, chúng ta sẽ xem xét các trình bổ trợ giúp thêm chức năng cho Edge Microgateway.

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

Trong phần này, chúng ta sẽ thêm một tính năng giới hạn tốc độ gọi là ngăn chặn đột biến vào phiên bản Edge Microgateway.

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

Trình bổ trợ là một mô-đun Node.js giúp bổ sung chức năng cho Edge Microgateway. Các mô-đun bổ trợ tuân theo một mẫu nhất quán và được lưu trữ ở một vị trí mà Edge Microgateway biết, cho phép microgateway tự động phát hiện và 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ợ chặn đột biến

Tính năng Spike Arrest giúp ngăn chặn tình trạng lưu lượng truy cập tăng đột biến. Tính năng này điều tiết số lượng yêu cầu được xử lý bởi một thực thể Edge Microgateway.

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

  1. Mở tệp ~/.edgemicro/org-env-config.yaml. Xem thêm phần "Nơi cài đặt Edge Microgateway" trong Cài đặt Edge Microgateway.
  2. Thêm phần tử sau. Bạn có thể thêm mã này vào bất cứ vị trí nào 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 sequence 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:
        - spikearrest
        - oauth 
  4. Lưu tệp cấu hình.
  5. Tải lại Edge Microgateway bằng lệnh reload. 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 Edge của bạn (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ư môi trường thử nghiệm hoặc môi trường sản xuất).
    • key là khoá mà lệnh định cấu hình đã trả về trước đó.
    • secret là khoá mà lệnh định cấu hình đã trả về trước đó.

    Ví dụ

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

Lý do là vì tính năng chặn đột biến sẽ làm giảm số lượng lệnh gọi có thể thực hiện trong đơ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 một cuộc gọi sau mỗi 6 giây.

Để biết thêm thông tin, hãy xem phần "Cơ chế hoạt động của tính năng chặn đột biến" trong bài viết Sử dụng các trình bổ trợ.

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

Theo cùng một mẫu được dùng để định cấu hình tính năng chặn độ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ư tính năng chặn đột biến, trình bổ trợ hạn mức được đưa vào mọi quy trình 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 đến một API trong một khoảng thời gian cụ thể (phút hoặc giờ).

Để tìm hiểu cách hoạt động của hạn mức, hãy xem phần "Sử dụng trình bổ trợ hạn mức" trong bài viết Sử dụng trình bổ trợ.

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

Giờ đây, chúng ta đã có một phiên bản Edge Microgateway hoạt động đầy đủ. Hãy xem phiên bản này đã làm 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 âm thầm truyền dữ liệu phân tích từ Edge Micro sang Edge Apigee, nơi dữ liệu này đượ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 Số liệu phân tích > Hiệu suất của proxy.
  3. Trong trang tổng quan về Hiệu suất của proxy, hãy chọn proxy edgemicro_hello.
  4. Biểu đồ này cho bạn biết thông tin về các 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 mục tiêu trung bình, v.v.

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