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 3.1.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
- Phần 1: Định cấu hình Edge Microgateway
- Phần 2: Tạo thực thể trên Apigee Edge
- Phần 3: Vận hành Edge Microgateway
- Phần 4: Secure Edge Microgateway
- Phần 5: Thêm trình bổ trợ Spike Arrest
- Phần 6: Xem dữ liệu Analytics trên Apigee Edge
Đ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.
- 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:
- 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
- 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. - 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
- 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 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 Apigee Private Cloud
Hãy làm theo các bước sau để sử dụng Edge Microgateway với Apigee Private Cloud:
- 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
- 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
- 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:
orglà tên tổ chức Edge của bạn (bạn phải là quản trị viên tổ chức).envlà 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_urllà URL thời gian chạy cho phiên bản đám mây riêng tư của bạn.mgmt_urllà URL của máy chủ quản lý cho phiên bản đám mây riêng của bạn.usernamelà địa chỉ email liên kết với tài khoản Apigee của bạn.-
virtual_hostlà 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:
orglà tên tổ chức Edge của bạn (bạn phải là quản trị viên tổ chức).envlà 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).keylà khoá mà lệnh định cấu hình đã trả về trước đó.secretlà 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_hellohoặcedgemicro_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
- Đăng nhập vào tổ chức của bạn trên Apigee Edge.
- Chọn Phát triển > API Proxy trong trình đơn điều hướng bên.
- Nhấp vào + Proxy. Trình hướng dẫn Build a Proxy (Tạo một proxy) sẽ được gọi.
- Trong trang trình hướng dẫn đầu tiên, hãy chọn Reverse proxy (phổ biến nhất).
- Nhấp vào Tiếp theo.
- 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/
- Nhấp vào Tiếp theo.
- Trong trang Bảo mật của trình hướng dẫn, hãy chọn Truyền qua (không có).
- Nhấp vào Tiếp theo.
- 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.
- Nhấp vào Tiếp theo.
- 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.
- Nhấp vào Build and Deploy (Tạo và triển khai).
2. Tạo một sản phẩm
- Chọn Xuất bản > Sản phẩm API trong trình đơn điều hướng bên.
- Nhấp vào + API Product (Sản phẩm API). Trang Chi tiết sản phẩm sẽ xuất hiện.
- Đ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
- Trong phần Tài nguyên, hãy nhấp vào +API Proxy
- Chọn edgemicro-auth
- Nhấp lại vào +API Proxy.
- Chọn edgemicro_hello
- Chọn + Tài nguyên tuỳ chỉnh
- Nhập /**
- Chọn lại + Tài nguyên tuỳ chỉnh.
- Nhập /
- 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ờ:
- Chọn Xuất bản > Nhà phát triển trong trình đơn điều hướng bên.
- Nhấp vào + Nhà phát triển.
- Đ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:
- Chọn Xuất bản > Ứng dụng trong trình đơn điều hướng bên.
- 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.
- Điền thông tin vào trang Ứng dụng của nhà phát triển như sau:
- Tên: EdgeMicroTestApp
- Tên hiển thị: EdgeMicroTestApp
- 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.
-
Thông tin xác thực:
- Chọn Ngày hết hạn: Không bao giờ.
- 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)
- Nhấp vào Lưu.
- Bạn sẽ quay lại trang danh sách Ứng dụng.
- Chọn ứng dụng bạn vừa tạo, EdgeMicroTestApp.
- 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.
- Đả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
- (Không bắt buộc) In thông tin trợ giúp cho lệnh
edgemicro start.
edgemicro start -h
- Để 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:
orglà tên tổ chức Edge của bạn (bạn phải là quản trị viên tổ chức).envlà 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).keylà khoá mà lệnh định cấu hình đã trả về trước đó.secretlà 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 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
- 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 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 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
- 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. - 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
- 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.
- 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.
- (Không bắt buộc) Xem thông tin trợ giúp cho lệnh token get:
edgemicro token get -h
- 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 và -s:
edgemicro token get -o [org] -e [env] -i [consumer_key] -s [consumer_secret]
Trong trường hợp:
orglà tên tổ chức Edge của bạn (bạn phải là quản trị viên tổ chức).envlà 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_idlà 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_secretlà 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 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 để 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:
orglà tên tổ chức Edge của bạn (bạn phải là quản trị viên tổ chức).envlà 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_idlà 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_secretlà 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
- 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. - 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
- 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
- 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:
orglà tên tổ chức Edge của bạn (bạn phải là quản trị viên tổ chức).envlà 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).keylà khoá mà lệnh định cấu hình đã trả về trước đó.secretlà 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
- 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.
- 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
- 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. - 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
- 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 - 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:
orglà tên tổ chức Edge của bạn (bạn phải là quản trị viên tổ chức).envlà 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).keylà khoá mà lệnh định cấu hình đã trả về trước đó.secretlà 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:
apikeylà 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.
- 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. - 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 - Thêm
spikearrestvà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
- Lưu tệp cấu hình.
- 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:
orglà tên tổ chức Edge của bạn (bạn phải là quản trị viên tổ chức).envlà 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).keylà khoá mà lệnh định cấu hình đã trả về trước đó.secretlà khoá mà lệnh định cấu hình đã trả về trước đó.
Ví dụ
edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
- 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:
- Đăng nhập vào tổ chức của bạn trên Apigee Edge.
- Chọn Số liệu phân tích > Hiệu suất của proxy.
- Trong trang tổng quan về Hiệu suất của proxy, hãy chọn proxy edgemicro_hello.
- 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ợ