Edge Microgateway 설정 및 구성

<ph type="x-smartling-placeholder"></ph> 현재 Apigee Edge 문서를 보고 있습니다.
Apigee X 문서.
정보

Edge Microgateway v. 3.0.x

개요

이 설정 가이드의 단계를 완료하면 완전히 구성되어 작동하는 Edge가 생성됩니다. API 요청을 처리할 수 있는 Microgateway 설치 kubectl 명령어 자체에서 Edge Microgateway를 통해 백엔드 대상에 대한 API 호출 보호 또한 스파이크 저지 플러그인을 Microgateway를 통해 마이그레이션합니다.

이 가이드는 다음과 같은 부분으로 나뉘어 있습니다.

기본 요건: Edge Microgateway 설치

Edge 설치의 안내를 따릅니다. Microgateway를 설치합니다. 설치가 완료되면 여기에 나와 있는 단계를 따를 수 있습니다. 튜토리얼을 확인하세요.

1부: Edge 구성 마이크로 게이트웨이

이 파트에서는 명령줄 인터페이스 (CLI) 명령어를 사용하여 Edge Microgateway를 구성합니다. <ph type="x-smartling-placeholder"></ph>에 통신할 수 있습니다.

Apigee Edge Cloud 구성 단계

Apigee Edge Cloud와 함께 Edge Microgateway를 사용하려면 다음 단계를 따르세요.

  1. Edge Microgateway를 초기화합니다 (이 단계는 한 번만 수행해야 함).
    edgemicro init
    
  2. 이름이 default.yaml인 구성 파일이 집에 배치되었습니다. .edgemicro 하위 디렉터리에 있습니다. 지금 이 파일이 있는지 확인해 보십시오. 존재:
    ls ~/.edgemicro
    default.yaml
    

    참고: Edge Microgateway 문서에서는 홈 디렉터리를 참조합니다. UNIX 단축키인 물결표 (~)를 대체합니다. Windows를 사용하는 경우 물결표시를 지원하지 않는 셸을 실행하는 경우 적절한 홈 디렉터리를 참조하는 명령어의 물결표에 대한 환경 변수입니다. 대상 예: %USERPROFILE%/.edgemicro

  3. 모든 CLI 명령어에는 도움말 기능이 있습니다. edgemicro 구성 명령어:
    edgemicro configure -h
    
  4. 다음 명령어를 실행하여 Edge Microgateway를 구성합니다.
    edgemicro configure -o [org] -e [env] -u [username] 
    

    각 항목의 의미는 다음과 같습니다.

    • org: Edge 조직 이름 (조직이어야 함) 관리자).
    • env: 조직의 환경 (예: 테스트 또는 prod).
    • username: Apigee 계정

      참고: 구성 명령어는 추가 매개변수를 허용합니다. 완벽한 Apigee Edge Cloud용 Edge Microgateway 구성을 참조하세요.

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

출력

./edgemicro configure -o docs -e test -u jdoe@apigee.com
password:
current nodejs version is v12.5.0
current edgemicro version is 3.0.2
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
    
드림

Apigee Private Cloud 구성 단계

Apigee Private Cloud와 함께 Edge Microgateway를 사용하려면 다음 단계를 따르세요.

  1. Edge Microgateway를 초기화합니다 (이 단계는 한 번만 수행해야 함).
    edgemicro init
    
  2. edgemicro private configuration 명령어의 도움말 정보를 출력합니다. 나 모든 Edge Microgateway CLI 명령어 또는 명령어 옵션에 대해 이러한 방식으로 도움말을 인쇄할 수 있습니다.
    edgemicro private configure -h
    
  3. 다음 명령어를 실행합니다. Apigee Edge에 대한 표준 정보가 필요합니다. 프라이빗 클라우드 계정: 조직 이름, 환경 이름, 사용자 이름 (이메일 주소), 비밀번호, 라우터 IP를 설정합니다 이 기능을 사용하려면 Edge 조직 관리자여야 합니다. 명령어:
    edgemicro private configure -o [org] -e [env] -u [username] -r [runtime_url] -m [mgmt_url] -v [virtual_host]
    

    각 항목의 의미는 다음과 같습니다.

    • org은 Edge 조직 이름입니다 (조직이어야 함). 관리자).
    • env는 조직의 환경 (예: 테스트 또는 prod).
    • runtime_url은 프라이빗 클라우드의 런타임 URL입니다. 인스턴스를 만들 수 있습니다
    • mgmt_url은 프라이빗 클라우드 인스턴스입니다
    • username은 Apigee와 연결된 이메일 주소입니다. 있습니다.
    • virtual_host는 쉼표로 구분된 가상 호스트 목록입니다. 이름을 지정할 수 있습니다 기본값은 default,secure입니다.

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

또는 myorg-test.mycompany.com의 가상 호스트 별칭이 있는 경우 명령어를 실행합니다.

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

출력

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!
    
드림

설치 확인

다음 명령어를 실행하여 설치를 확인합니다. 오류가 보고되지 않으면 모든 항목이 설정된 것입니다. Edge Microgateway를 성공적으로 시작할 수 있습니다.

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

각 항목의 의미는 다음과 같습니다.

  • org은 Edge 조직 이름입니다 (조직이어야 함). 관리자).
  • env는 조직의 환경 (예: 테스트 또는 prod).
  • key는 이전에 구성에서 반환한 키입니다. 명령어와 함께 사용하면 됩니다
  • secret는 이전에 구성에서 반환한 키입니다. 명령어와 함께 사용하면 됩니다

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

구성 정보

지금까지의 모든 구성 덕분에 Edge Microgateway는 자체적으로 Apigee를 부트스트랩할 수 있습니다. Edge. 부트스트랩이 성공하면 Edge Microgateway는 추가 페이로드를 구성 정보를 확인할 수 있습니다

이 구성 정보는 어떤 용도로 사용되나요? 이 과정의 다음 부분에서 알아보겠지만 튜토리얼을 따라 하기 위해 Edge Microgateway가 시작되면 특수 Edge Apigee Edge의 Microgateway 인식 API 프록시 이 튜토리얼의 다음 부분에서는 Microgateway 인식 프록시를 만듭니다. Edge Microgateway는 클라이언트가 API만 호출하도록 제한함 이러한 Microgateway 인식 API 프록시가 이를 프론팅할 수 있으며 클라이언트는 기본적으로 각 호출에 유효한 보안 토큰을 제공해야 합니다. 이 프록시에 대한 자세한 내용은 ' Edge Microgateway 인식 프록시에 대해 알아야 합니다." 개요 Microgateway를 제공합니다.

Edge 조직 관리자는 Edge Microgateway 인식 프록시가 다른 프록시와 마찬가지로 Edge 제품에 추가됩니다. 제품 및 개발자 앱을 사용하면 클라이언트별 보안 토큰을 생성하여 다음을 통해 호출되는 API에 대한 액세스를 제어할 수 있습니다. Edge Microgateway를 지원합니다. 다시 말하지만 관련된 패턴은 다른 API 프록시로 작업하는 것과 동일합니다. 제품, 개발자 앱을 살펴보겠습니다 제품에 대한 자세한 내용은 Edge의 API 제품이란 무엇인가요? 문서를 참조하세요.

다음으로 Edge Microgateway 인식 프록시를 만드는 방법을 알아본 후 Edge Microgateway를 시작하고 설정을 테스트합니다.

2부: 항목 만들기 Apigee Edge 기반

이 파트에서는 Edge에 다음 항목을 만듭니다.

  • <ph type="x-smartling-placeholder"></ph> 마이크로 게이트웨이 인식 프록시 - Edge Microgateway가 검색할 수 있는 특수 프록시입니다. 시작하겠습니다 마이크로 게이트웨이 인식 프록시에는 반드시 따라야 하는 이름 지정 규칙인 edgemicro_와 함께 있어야 합니다. 예: edgemicro_hello 또는 edgemicro_userinfo Edge Microgateway가 시작되면 Edge에서 동일한 Edge 조직 및 환경의 마이크로 게이트웨이 인식 프록시 목록 Edge Microgateway를 시작할 때 지정한 값입니다.

    각 Microgateway 인식 프록시에 대해 Edge Microgatway는 프록시의 대상 URL을 검색하고 기본 경로 또한 마이크로 게이트웨이 인식 프록시는 분석을 연결할 수 있는 편리한 방법을 제공합니다. Edge Microgateway가 Edge 플랫폼의 프록시를 통해 생성한 데이터 Microgateway로 API 호출을 처리하고 분석 데이터를 Edge에 비동기식으로 푸시합니다. 애널리틱스 데이터가 표시됩니다. 다른 사용할 수 있습니다
  • 제품, 개발자, 개발자 앱: Edge Microgateway는 제품을 사용합니다. 개발자, 개발자 앱에서 OAuth2 액세스 토큰 또는 API 키 보안을 사용 설정할 수 있습니다. 에지 Microgateway가 시작되면 Apigee Edge에서 모든 제품 구성을 다운로드합니다. 되었습니다. 또한 이 정보를 사용하여 Edge Microgateway를 통해 수행된 API 호출을 API 키 또는 OAuth2 액세스 토큰입니다.

1. 만들기 Edge의 Edge Microgateway 인식 API 프록시

  1. Apigee Edge에서 조직에 로그인합니다.
  2. 개발 > API 프록시를 선택합니다.
  3. +프록시를 클릭합니다. 프록시 빌드 마법사가 호출됩니다.
  4. 첫 번째 마법사 페이지에서 역방향 프록시 (가장 일반적)를 선택합니다.
  5. 다음을 클릭합니다.
  6. 마법사의 세부정보 페이지에서 다음과 같이 구성합니다. 마법사의
    • 프록시 이름: edgemicro_hello
    • 프록시 기본 경로: /hello
    • 기존 API: http://mocktarget.apigee.net/
    를 통해 개인정보처리방침을 정의할 수 있습니다.
  7. 다음을 클릭합니다.
  8. 마법사의 보안 페이지에서 Pass through (none)(통과(없음))을 선택합니다.
  9. 다음을 클릭합니다.
  10. 마법사의 가상 호스트 페이지에서 기본값을 수락합니다.
  11. 다음을 클릭합니다.
  12. 마법사의 빌드 페이지에서 프록시 설정을 검토합니다. 먼저 test 환경이 선택됩니다.
  13. Build and Deploy(빌드 및 배포)를 클릭합니다.

2. 제품 만들기

<ph type="x-smartling-placeholder">
  1. 측면 탐색 메뉴에서 게시 > API 제품을 선택합니다.
  2. +API 제품을 클릭합니다. '제품 세부정보' 페이지가 나타납니다.
  3. 다음과 같이 제품 세부정보 페이지를 작성합니다. <ph type="x-smartling-placeholder">
      </ph>
    • 이름: EdgeMicroTestProduct
    • 표시 이름: EdgeMicroTestProduct
    • 환경: 테스트 및 프로덕션
    • 액세스: 공개
    • 주요 승인 유형: 자동
  4. '리소스'에서 +API 프록시를 클릭합니다.
  5. edgemicro-auth를 선택합니다.
  6. +API 프록시를 다시 클릭합니다.
  7. edgemicro_hello를 선택합니다.
  8. + 커스텀 리소스를 선택합니다.
  9. /**를 입력합니다.
  10. + 커스텀 리소스를 다시 선택합니다.
  11. / 입력
  12. 저장을 클릭합니다.

3. (선택사항) 테스트 개발자

이 튜토리얼에서는 기존 개발자를 사용하여 다음 단계를 진행할 수 있습니다. 개발자 앱을 만드는 것입니다. 그러나 원하는 경우 지금 테스트 개발자를 만듭니다.

  1. 측면 탐색 메뉴에서 게시 > 개발자를 선택합니다.
  2. + Developer를 클릭합니다.
  3. 대화상자를 작성하여 테스트 개발자를 만듭니다.

4. 개발자 앱 만들기

이 앱의 클라이언트 사용자 인증 정보를 사용하여 Edge Microgateway:

  1. 측면 탐색 메뉴에서 게시 > 앱을 선택합니다.
  2. + 앱을 클릭합니다. 개발자 앱 세부정보 페이지가 표시됩니다.
  3. 다음과 같이 개발자 앱 페이지를 작성합니다. <ph type="x-smartling-placeholder">
      </ph>
    1. 이름: EdgeMicroTestApp
    2. 표시 이름: EdgeMicroTestApp
    3. 개발자: 테스트 개발자를 만들었다면 선택합니다. 또는 기존 개발자를 대상으로 합니다.
    4. 사용자 인증 정보: <ph type="x-smartling-placeholder">
        </ph>
      1. Expiration(만료): Never(안 함)를 선택합니다.
      2. + 제품을 클릭하고 EdgeMicroTestProduct를 선택합니다. (방금 만든 제품)
  4. 저장을 클릭합니다.
  5. 앱 목록 페이지가 다시 표시됩니다.
  6. 방금 만든 앱인 EdgeMicroTestApp을 선택합니다.
  7. 소비자 키소비자 옆에 있는 표시를 클릭합니다. Secret.

3부: Edge Microgateway 운영

이제 Edge Microgateway가 구성되었고 Edge Microgateway를 인식하는 하나 이상이 있음) 이제 Edge Microgateway를 시작할 차례입니다. Edge Microgateway HTTP 서버는 해당 서버에 직접 API 호출을 하게 됩니다.

1. Edge Microgateway 시작

edgemicro start 명령어를 사용하여 Edge를 시작합니다. Microgateway를 지원합니다.

  1. edgemicro 구성 명령어를 사용합니다. 출력은 다음과 같습니다.
    You need key and secret while starting edgemicro instance
    
    key: da4778e7c240a5d4585fc559eaba5083328828bc9f3a7f583e8b73e
    secret: 3aad7439708b4aeb38ee08e82189921ad00e6fc1ba8a8ae9f929ee2
    
  2. (선택사항) edgemicro start 명령어의 도움말 정보를 출력합니다.
    edgemicro start -h
    
  3. Edge Microgateway를 시작하려면 다음 명령어를 실행합니다.
    edgemicro start -o [org] -e [env] -k [key] -s [secret]
    

    각 항목의 의미는 다음과 같습니다.

    • org은 Edge 조직 이름입니다 (조직이어야 함). 관리자).
    • env는 조직의 환경 (예: 테스트 또는 prod).
    • key는 이전에 구성에서 반환한 키입니다. 명령어와 함께 사용하면 됩니다
    • secret는 이전에 구성에서 반환한 키입니다. 명령어와 함께 사용하면 됩니다

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

    출력

    start 명령어는 Apigee Edge에서 많은 구성 정보를 가져옵니다. 터미널 창으로 스크롤됨). 출력에 Microgateway-aware 인식 목록이 표시됩니다. 제품 수를 확인할 수 있습니다 출력의 끝부분에 :

    ...
    
    current nodejs version is v12.5.0
    current edgemicro version is 3.0.2
    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. 마이크로 게이트웨이 상태를 확인합니다. 다른 터미널 창에서 cd to the same directory where Edge Micro를 시작함을 확인하고 다음 명령어를 입력합니다.
    edgemicro status
    current nodejs version is v12.5.0
    current edgemicro version is 3.0.2
    edgemicro is running with 8 workers
    

무슨 문제가 있나요?

Edge의 페이로드 Microgateway 구성 정보는 Apigee Edge에서 다운로드되어 로컬로 캐시됩니다. 이러한 정보에는 다음이 포함됩니다.

  • 이전에 만들어 암호화된 키-값 맵 (KVM)에 저장한 공개 키
  • 모든 Edge Microgateway 인식 프록시의 표현은 조직/환경 모두 다음 프록시로 이름이 지정된 프록시입니다. edgemicro_.
  • 조직/환경

Edge Microgateway는 이 정보를 통해 허용되는 프록시 및 프록시 경로를 알 수 있습니다. 프로세스입니다 API는 제품 정보를 사용하여 (모든 API와 동일한 방식으로) 보안을 적용합니다. 프록시는 개발자 앱 키가 제품과 연결되어 있는 Apigee Edge에서 실행됩니다. 이동 Edge Microgateway를 보호하는 단계를 간단히 안내해 드립니다.

2. Edge Microgateway 테스트

Edge Microgateway가 실행 중인 상태에서 프록시를 호출할 수 있습니다. 이 Edge를 시작할 때 Edge에서 edgemicro_hello 프록시가 다운로드됨 Microgateway를 지원합니다. 프록시 기본 경로는 /hello입니다.

Edge Microgateway를 테스트하려면 기본 경로로 시작하고 리소스 경로를 추가합니다. /echo. 기본 경로 다음에 오는 모든 항목 (쿼리 매개변수 포함) 단순히 백엔드 타겟으로 전달됩니다.

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

이 오류는 요청과 함께 유효한 API 키 또는 액세스 토큰을 전송하지 않았기 때문에 발생합니다. 작성자: 기본적으로 Edge Microgateway에는 모든 API 호출 시 API 키 또는 액세스 토큰이 필요합니다. 포함 이 튜토리얼의 다음 단계에서는 이 API를 적절히 보호하고 유효한 요청에 포함합니다.

4. Edge Microgateway 중지

  1. 별도의 터미널 창에서 cd동일한 디렉터리로 이동합니다. 여기서 Edge Microgateway를 시작했습니다.
  2. 중지 명령어를 입력합니다.
    edgemicro stop
    
를 통해 개인정보처리방침을 정의할 수 있습니다.

파트 4: 보안 에지 마이크로 게이트웨이

API 키 또는 액세스 권한을 사용하여 Edge Microgateway를 통해 이루어진 API 호출을 보호할 수 있습니다. 토큰입니다.

OAuth2 액세스 토큰으로 API 호출 보호

OAuth2 액세스 토큰으로 API 호출을 인증하려면 다음 단계를 따르세요.

1. 필요한 키 가져오기

  1. Edge UI에서 이전에 만든 개발자 앱으로 이동합니다. 앱 이름 EdgeMicroTestApp이었습니다.
  2. 개발자 앱 페이지에서 고객 키와 고객 비밀번호를 표시한 후 복사합니다. 이 값은 다음 단계에서 액세스 토큰을 얻는 데 필요합니다.

2. 액세스 토큰 가져오기

액세스 토큰을 받는 방법에는 두 가지가 있습니다. 두 가지 방법을 모두 보여드리겠습니다.

CLI를 사용하여 액세스 토큰 가져오기

첫 번째 방법이 편리하며 실습 전반에서 사용한 패턴을 따릅니다. 참조하세요 두 번째 메서드는 일반적으로 클라이언트 앱에 더 유용합니다. 개발자가 토큰을 요청할 수 있습니다 실제 토큰 엔드포인트는 Edge를 구성할 때 배포된 edgemicro-auth 프록시 Microgateway를 지원합니다.

  1. (선택사항) token get 명령어에 대한 도움말을 확인합니다.
    edgemicro token get -h
    
  2. 토큰을 생성합니다. 여기서 고객 키와 고객 비밀번호 값을 대체하여 Apigee Edge의 -i-s에 만든 개발자 앱 매개변수:
    edgemicro token get -o [org] -e [env] -i [consumer_key] -s [consumer_secret]
    

    각 항목의 의미는 다음과 같습니다.

    • org은 Edge 조직 이름입니다 (조직이어야 함). 관리자).
    • env는 조직의 환경 (예: 테스트 또는 prod).
    • consumer_id는 개발자 앱의 소비자 ID입니다. 확인할 수 있습니다
    • consumer_secret은(는) 개발자의 고객 비밀번호입니다. 이전에 만든 앱입니다.

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

    출력 (샘플)

    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' }
    

(선택사항) API를 사용하여 토큰 가져오기

curl 또는 다른 HTTP 클라이언트를 사용하여 Edge 프록시를 호출하는 데 익숙하다면 edgemicro token 명령어로 대체합니다. 이것은 curl 예입니다. 여기에서 조직 및 환경 이름으로 URL을 입력하고 콜론으로 구분된 고객 키:고객 비밀번호 값을 기본 인증 헤더:

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"

각 항목의 의미는 다음과 같습니다.

  • org은 Edge 조직 이름입니다 (조직이어야 함). 관리자).
  • env는 조직의 환경 (예: 테스트 또는 prod).
  • client_id는 내가 만든 개발자 앱의 소비자 ID입니다. 확인할 수 있습니다
  • client_secret는 개발자 앱의 고객 비밀번호입니다. 확인할 수 있습니다

출력 (샘플)

edgemicro token CLI 명령어를 사용하거나 엔드포인트가 클라이언트 호출 시 사용할 수 있는 서명된 액세스 토큰을 반환합니다. 예를 들면 다음과 같습니다.

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. Edge Microgateway에서 구성 확인하기

  1. $HOME/.edgemicro/org-env-config.yaml 파일을 엽니다. 를 참조하세요. 이 파일을 찾을 수 없는 경우 Edge Microgateway가 설치된 위치를 확인하세요.
  2. 이러한 OAuth 플러그인 속성이 false로 설정되어 있는지 확인합니다. 그들은 기본값이지만 다시 한번 확인하는 것이 좋습니다.
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
    
  3. 또한 org-env-config.yaml 파일에서 OAuth 플러그인이 다음과 같이 plugins:sequence 요소에 추가됩니다.
    plugins:
       dir: ../plugins
       sequence:
       - oauth
    
  4. 파일을 변경하는 경우 변경사항을 실행 중인 Edge Microgateway 인스턴스 이 명령어는 다운타임 없이 Edge Microgateway를 재구성합니다.
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]
    

    각 항목의 의미는 다음과 같습니다.

    • org은 Edge 조직 이름입니다 (조직이어야 함). 관리자).
    • env는 조직의 환경 (예: 테스트 또는 prod).
    • key는 이전에 구성에서 반환한 키입니다. 명령어와 함께 사용하면 됩니다
    • secret는 이전에 구성에서 반환한 키입니다. 명령어와 함께 사용하면 됩니다

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

4. 안전하게 API 호출하기

액세스 토큰을 사용하면 이제 API를 안전하게 호출할 수 있습니다. 예를 들면 다음과 같습니다.

  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는 모의 서버에서 헤더와 기타 정보를 반환합니다.

API 키로 API 보호

승인에 API 키를 사용하려면 다음 단계를 따르세요.

1. API 키 가져오기

  1. Edge UI에서 이전에 만든 개발자 앱으로 이동합니다. 앱 이름 EdgeMicroTestApp이었습니다.
  2. 개발자 앱 페이지에서 고객 키를 표시하고 복사합니다. 이 값은 키를 누릅니다 이 키는 인증된 API 호출을 수행하는 데 사용됩니다.

2. Edge Microgateway에서 구성 확인하기

  1. 파일을 엽니다. $HOME/.edgemicro/org-env-config.yaml. 위치 보기 Edge Microgateway가 설치되어 있는지 확인해야 합니다.
  2. 이러한 OAuth 플러그인 속성이 false로 설정되어 있는지 확인합니다. 그들은 기본값이지만 원하는 경우 다시 확인할 수 있습니다.
    oauth:
       allowNoAuthorization: false
       allowInvalidAuthorization: false
    
  3. 또한 org-env-config.yaml 파일에서 OAuth 플러그인이 다음과 같이 plugins:sequence 요소에 추가됩니다.
    plugins:
       dir: ../plugins
       sequence:
       - oauth
        
    
  4. 파일을 변경하는 경우 변경사항을 실행 중인 Edge Microgateway 인스턴스 이 명령어는 다운타임 없이 Edge Microgateway를 재구성합니다.
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]
    

    각 항목의 의미는 다음과 같습니다.

    • org은 Edge 조직 이름입니다 (조직이어야 함). 관리자).
    • env는 조직의 환경 (예: 테스트 또는 prod).
    • key는 이전에 구성에서 반환한 키입니다. 명령어와 함께 사용하면 됩니다
    • secret는 이전에 구성에서 반환한 키입니다. 명령어와 함께 사용하면 됩니다

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

3. API 키로 안전하게 API 호출

다음과 같이 x-api-key 헤더를 사용하여 API를 호출합니다. 광고주가 지정한 고객 키 값으로 API 키입니다. 기본적으로 Edge Microgateway는 x-api-key라는 헤더의 키를 반환합니다.

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

각 항목의 의미는 다음과 같습니다.

  • apikey는 EdgeMicroTestApp입니다.

예를 들면 다음과 같습니다.

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

이제 완벽하게 작동하는 안전한 Edge Microgateway를 갖추게 되었습니다. 이 과정의 다음 부분에서는 Edge Microgateway에 기능을 추가하는 플러그인을 살펴보겠습니다.

파트 5: 급증 저지 추가 플러그인

이 파트에서는 급증 저지라는 속도 제한 기능을 Edge의 인스턴스에 추가합니다. Microgateway를 지원합니다.

플러그인이란 무엇인가요?

플러그인은 Edge Microgateway에 기능을 추가하는 Node.js 모듈입니다. 플러그인 모듈 일관된 패턴을 따르고 Edge Microgateway에 알려진 위치에 저장되므로 마이크로서비스로 애플리케이션을 탐색하고 자동으로 로드할 수 있습니다 플러그인에 대한 자세한 내용은 플러그인을 사용합니다.

스파이크 저지 플러그인 추가

급상승 구간 arrest 플러그인을 사용하여 트래픽 급증을 방지합니다. 처리되는 요청 수를 제한합니다. Edge Microgateway 인스턴스로 전달됩니다

Edge Microgateway에서 스파이크 저지 기능은 플러그인 모듈로 구현됩니다. 사용 설정하려면 다음이 필요합니다. Edge Microgateway 구성 파일에 추가합니다.

  1. 파일을 엽니다. $HOME/.edgemicro/org-env-config.yaml.위치 Edge Microgateway가 설치되어 있는지 확인해야 합니다.
  2. 다음 요소를 추가합니다. 파일 내 어디에나 추가하면 됩니다.
       spikearrest:
          timeUnit: minute   
          allow: 10   
          buffersize: 0   
    
  3. 다음과 같이 edgemicro:sequence 요소에 spikearrest를 추가합니다. 참조하세요. 시퀀스 구성 속성은 Edge Microgateway에 플러그인 모듈이 실행됩니다
    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. 구성 파일을 저장합니다.
  5. reload 명령어로 Edge Microgateway를 새로고침합니다. 디맨드젠 캠페인은 Edge Microgateway를 시작한 디렉터리에서 이 명령어를 복사합니다.
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]
    

    각 항목의 의미는 다음과 같습니다.

    • org은 Edge 조직 이름입니다( 조직 관리자)에게 문의하세요.
    • env는 조직의 환경 (예: 테스트 또는 prod).
    • key는 이전에 구성에서 반환한 키입니다. 명령어와 함께 사용하면 됩니다
    • secret는 이전에 반환한 키입니다. 구성 명령을 실행합니다.

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d
    
  6. 빠르게 연속해서 API를 여러 번 호출해 보세요. 두 번째 호출 후 Edge는 Microgateway는 다음 오류를 반환합니다.
    {"message":"SpikeArrest engaged","status":503}
    

왜냐하면 스파이크 저지로 인해 지정할 수 있습니다. 따라서 이 경우 1분에 10번씩 또는 6분마다 한 번씩 초입니다.

추가 정보: 할당량 플러그인

스파이크 저지를 구성하는 데 사용된 것과 동일한 패턴에 따라 할당량 플러그인을 쿼리합니다. 급증 저지와 마찬가지로 모든 Edge Microgateway 설치에 할당량 플러그인이 포함되어 있습니다. 가 할당량은 앱이 최대 기간 동안 API에 제출할 수 있는 지정된 시간 간격 (분 또는 시간)입니다.

6부: Apigee Edge 분석

이제 완전히 작동하는 Edge Microgateway 인스턴스가 준비되었으므로 어떻게 되었는지 살펴보겠습니다. 기본적으로 애널리틱스 플러그인 모듈은 Edge Micro에 추가됩니다. 이 모듈은 Edge Micro에서 Apigee Edge까지의 분석 데이터를 제공하며, Edge 분석 시스템에서 이를 사용합니다. 한번 살펴보세요.

  1. Apigee Edge에서 조직에 로그인합니다.
  2. 분석 > 프록시 성능.
  3. 프록시 성능 대시보드에서 edgemicro_hello 프록시를 선택합니다.
  4. 그래프는 프록시의 트래픽 패턴에 대한 정보(예: 총 트래픽, 평균 응답 시간, 평균 목표 응답 시간 등입니다.

Edge 애널리틱스 대시보드에 대한 자세한 내용은 애널리틱스 대시보드 홈페이지에서 Edge 문서 플러그인에 관한 자세한 내용은 플러그인 사용을 참고하세요.