2021년 9월 16일 - 퍼블릭 클라우드용 Apigee Edge 출시 노트

현재 Apigee Edge 문서가 표시되고 있습니다.
Apigee X 문서로 이동
정보

2016년 10월 13일 목요일에 퍼블릭 클라우드용 Apigee Edge의 새 버전이 출시되기 시작했습니다.

새로운 기능 및 업데이트

다음은 이번 출시의 새로운 기능과 업데이트입니다.

API 프록시 운영을 위한 공유 흐름 및 흐름 후크 (베타별 요청만 해당)

새로운 '공유 흐름' 기능을 사용하여 API 프록시에서 기능을 운영할 수 있습니다. 조건부 정책과 리소스를 공유 흐름으로 결합하면 모든 API 프록시에서 이를 참조하여 재사용 가능한 단일 소스를 실행할 수 있습니다. 예를 들어 공유 흐름은 API 키를 확인하고 급증 저지로부터 보호하고 데이터를 로깅할 수 있습니다.

관리 UI (API > 공유 흐름)에서 공유 흐름을 정의한 다음 두 가지 방식으로 참조합니다.

  • API 프록시에 새 흐름 콜아웃 정책 사용
    또는
  • 다음 위치에 있는 Flow Hooks라는 새 아티팩트를 사용합니다.

    • 요청: ProxyEndpoint PreFlow 전, TargetEndpoint PostFlow 후
    • 응답: TargetEndpoint PreFlow 전, ProxyEndpoint PostFlow 후

    이러한 연결 지점을 사용하면 개별 프록시의 기본 흐름 지점 이전 또는 이후에 운영 로직을 실행할 수 있습니다. 관리 UI에서 이 Flow 후크 위치에 공유 흐름을 할당합니다 (API > 환경 구성 > Flow 후크).

암호화된 키-값 맵

암호화된 키-값 맵 (KVM)을 만들어 사용자 인증 정보 또는 PII/HIPAA 데이터와 같은 민감한 정보를 저장할 수 있습니다. 이 기능은 기존의 Edge 보안 저장소(vault)와 다르며, 이를 대체하도록 설계되었습니다. Vault 값에는 관리 API 외에 Node.js로만 액세스할 수 있습니다. Node.js 또는 키-값 맵 작업 정책을 사용하여 암호화된 KVM 값에 액세스할 수 있습니다.

암호화된 KVM 만들기

  • 기존 KVM API를 사용합니다. KVM을 만들 때 페이로드 정의에 “encrypted”: “true”를 포함하면 Edge는 KVM을 암호화하고 KVM과 범위가 동일한 암호화 키를 생성합니다.
  • 키-값 맵 작업 정책을 사용하여 암호화된 KVM을 만들 수 없습니다.
  • 암호화되지 않은 기존의 KVM은 암호화할 수 없습니다.

암호화된 KVM 사용

  • 키-값 맵 작업 정책을 사용하여 암호화된 KVM 값을 가져오고 업데이트합니다.
  • 암호화된 키 값을 가져올 때 변수 앞에 'private'이라는 프리픽스가 붙습니다. 예를 들면 <Get assignTo="private.secretVar">입니다. private.secretVar 변수는 복호화된 값을 포함합니다.
  • 정책으로 값을 업데이트할 때 특별한 조치를 취하지 않아도 됩니다. 암호화된 KVM에서 값이 자동으로 암호화됩니다.
  • Node.js 코드의 apigee-access 모듈을 사용하여 복호화된 값에 액세스할 수도 있습니다. getKeyValueMap() 함수를 사용하여 이름과 범위에 따라 KVM을 검색합니다. 반환된 객체에는 키 이름의 배열을 가져오는 getKeys(callback) 함수와 특정 키의 값을 가져오는 get(key, callback) 함수 등 두 가지 함수를 사용할 수 있습니다. 예를 들면 다음과 같습니다.
    var apigee = require('apigee-access');
      var encryptedKVM = apigee.getKeyValueMap('VerySecureKVM', 'apiproxy'); 
      encryptedKVM.get('secret1', function(err, secretValue) { 
      // use the secret value here 
    });
    

(APIRT-1197)

API 프록시 메타데이터에 포함된 OpenAPI 사양 URL

OpenAPI 사양을 기반으로 API 프록시를 만들면 OpenAPI 사양의 위치가 API 프록시 메타데이터에 저장됩니다. 예를 들어 관리 API를 사용하여 프록시 버전의 세부정보를 가져오는 경우 메타데이터에는 다음 형식의 OpenAPI 사양 경로가 포함됩니다.

"spec" : "https://raw.githubusercontent.com/apigee/api-platform-samples/master/default-proxies/helloworld/openapi/mocktarget.yaml"

이 개선사항은 OpenAPI 사양을 새로운 개발자 포털의 API 프록시, API 제품, API 참조 문서에 연결하는 차세대 버전의 Edge를 지원합니다. (MGMT-2913)

Sense를 사용한 클라이언트 IP 제어

Akamai와 같은 라우팅 제품을 사용할 때 Sense 봇 감지를 위한 IP 주소를 찾을 위치를 더 정확하게 제어하기 위해 Sense에서는 additionalIPVars 변수를 사용하여 클라이언트 IP의 위치를 정의하게 해 줍니다. 예를 들어 봇 규칙에서 평가할 Akamai의 올바른 IP가 포함된 true-client-ip 헤더를 사용하도록 additionalIPVars를 설정할 수 있습니다. (APIRT-3332)

수정된 버그

다음은 이번 출시 버전에서 수정된 버그입니다. 이 목록은 주로 자신의 지원 티켓에서 제기한 문제가 수정되었는지 확인하는 사용자를 위한 것입니다. 모든 사용자에게 자세한 정보를 제공하기 위한 목적은 아닙니다.

문제 ID 설명
APIRT-3507 자바스크립트 서비스 콜아웃의 간헐적인 오류 (예: SNI 오류)
APIRT-3408 MP 버전 160817 Apigee-Access 분석 모듈: 메시지를 다르게 처리
APIRT-3390

갱신 액세스 토큰 정책에서 반환된 오류 응답의 변경사항

APIRT-3389
APIRT-3381 고객 프로덕션 프록시의 긴 지연 시간
APIRT-3366 모든 신규 무료 체험판 조직에서 자바스크립트 정책이 실패함
APIRT-3363 잘못된 URL 파싱 시 ApplicationNotFound로 500 상태가 반환됨
APIRT-3356 OAuth 잘못된 토큰 메시지
APIRT-3355 OAuth 프록시에서 간헐적인 403 오류 발생
APIRT-3285
APIRT-3261 프로덕션 단계의 다른 개발자 앱에 대해 사용자 인증 정보의 유효성 검사
APIRT-3234 Node.js 앱이 NPE를 반환함
APIRT-3223 Apigee 비활성 캐시 문제
APIRT-3193 ASG로 이동한 후 Node.js 대상 서버가 중단됨
APIRT-3152 cachedlogs 관리 호출로 인해 로그 메시지가 분리됨
APIRT-3117 MP가 100% CPU 사용률에 도달하고 트래픽 처리를 중지함
APIRT-3064 라우터 - 라우터의 맞춤 503 오류 메시지
APIRT-2620 로드 처리를 개선하기 위해 일부 차단 단계의 스레드 풀 분리
CORESERV-774 잘못된 apiproduct 참조가 있는 유효한 키를 사용하여 액세스하면 내부 서버 오류가 발생함