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.5.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 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ặn độ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.

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.

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. Khởi chạy 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 trong thư mục chính của bạn trong một thư mục con có tên là .edgemicro. Kiểm tra ngay để đảm bảo tệp này tồn tại:
    ls ~/.edgemicro
    default.yaml

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

  3. Tất cả các lệnh CLI đều có chức năng trợ giúp. In thông tin trợ giúp cho lệnh edgemicro configure:
    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 Edge của bạn (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ư môi trường thử nghiệm hoặc môi trường sản xuất).
    • username: Địa chỉ email liên kết với tài khoản Apigee của bạn.

      Lưu ý: Lệnh configure cho phép dùng các tham số bổ sung. Để xem danh sách đầy đủ, hãy xem phần Định cấu hình Edge Microgateway cho Apigee Edge Cloud.

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.9.1
current edgemicro version is 2.5.4
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 Apigee Private Cloud

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

  1. Khởi chạy 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 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
  3. 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 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 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 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 93b01fd21d86331459ae52f624ae9aeb13eb94767ce40a4f621d172cdfb7e8e6 -s c8c755be97cf56c21f8b0156d7132afbd03625bbd85dc34ebfefae4f23fbcb3c

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 có 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 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 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 xuống tất cả cấu hình sản phẩm 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.

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. Chọn Phát triển > API Proxy 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 một proxy) sẽ được gọi.
  4. Trong trang trình hướng dẫn đầu tiên, hãy chọn Reverse proxy (phổ biến nhất).
  5. Nhấp vào Tiếp theo.
  6. 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 chính xác 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/
  7. Nhấp vào Tiếp theo.
  8. Trong trang Bảo mật của trình hướng dẫn, hãy chọn Truyền qua (không có).
  9. Nhấp vào Tiếp theo.
  10. 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.
  11. Nhấp vào Tiếp theo.
  12. 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.
  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 Xuất bản > Sản phẩm API trong trình đơn điều hướng bên.
  2. Nhấp vào + API Product (Sản phẩm API). Trang Chi tiết sản phẩm sẽ xuất hiện.
  3. Đ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
  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 + Tài nguyên tuỳ chỉnh
  9. Nhập /**
  10. Chọn lại + 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ử

Để 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. 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 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. 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 của nhà phát triển sẽ xuất hiệ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.
  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ùngKhoá 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: 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 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:

    ...
    
    current nodejs version is v6.9.1
    current edgemicro version is 2.5.4
    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ủa microgateway. Trong một cửa sổ dòng lệnh khác, hãy chuyển đến cùng một thư mục nơi bạn đã khởi động Edge Micro rồi nhập lệnh sau:
    edgemicro status
    current nodejs version is v6.9.1
    current edgemicro version is 2.5.4
    edgemicro is running with 8 workers

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

Một tải trọng thông tin cấu hình Edge Microgateway được tải xuống từ Apigee Edge và lưu vào bộ nhớ đệm cục bộ. Đó 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 một Key Value Map (KVM) được mã hoá.
  • Một bản trình bày về tất cả các proxy có nhận biết Edge Microgateway tồn tại 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 bản trình bày về 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ả các tham số truy vấn) đều đượ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 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 đó. 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ị Consumer Key và Consumer Secret từ ứng dụng 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 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 (Khoá 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 đó.

    Ví dụ

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

    Đầu ra (Mẫu)

    current nodejs version is v6.9.1
    { 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 để 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 "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 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 (Khoá bí mật của người dùng) trong Ứng dụng 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+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. 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 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 kỹ:
    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 bị gián đoạn:
    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.PL30Y6uK1W1f2ONPEsBDB_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 đó. 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 $HOME/.edgemicro/org-env-config.yaml. Xem phần Nơi cài đặt Edge Microgateway nếu bạn không tìm thấy tệp này.
  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 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 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 bị gián đoạn:
    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 701e70ee718ce6dc188016b3c30177d64a88754d615c74e1f78b6181d

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: 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 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ống đột biến

Trình bổ trợ ngăn chặn đột biến giúp chống lại tình trạng lưu lượng truy cập tăng đột biến. Nó đ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 $HOME/.edgemicro/org-env-config.yaml.Where is Edge Microgateway installed (Nơi cài đặt Edge Microgateway) nếu bạn không tìm thấy tệp này.
  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ạ bên dưới. 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. 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.

Đ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ờ).

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 phần Sử dụng trình bổ trợ