Apigee Edge 문서를 보고 있습니다.
Apigee X 문서로 이동하세요. info
2016년 10월 13일 목요일에 퍼블릭 클라우드용 Apigee Edge의 새 버전이 출시되었습니다.
새로운 기능 및 업데이트
다음은 이번 출시의 새로운 기능과 업데이트입니다.
API 프록시를 운영하기 위한 공유 흐름 및 흐름 후크 (요청 시 베타만 해당)
새로운 '공유 흐름' 기능을 사용하면 API 프록시에서 기능을 운영할 수 있습니다. 조건부 정책과 리소스를 공유 흐름으로 결합하면 모든 API 프록시에서 이를 참조하여 단일 소스의 재사용 가능한 논리를 실행할 수 있습니다. 예를 들어 공유 흐름은 API 키를 확인하고, 스파이크 체포를 방지하고, 데이터를 로깅할 수 있습니다.
관리 UI (API > 공유 흐름)에서 공유 흐름을 정의한 다음 다음 두 가지 방법으로 참조합니다.
- API 프록시의 새 흐름 호출 정책
또는 -
다음 위치에 있는 흐름 후크라는 새 아티팩트
- 요청: ProxyEndpoint PreFlow 전, TargetEndpoint PostFlow 후
- 응답: TargetEndpoint PreFlow 전, ProxyEndpoint PostFlow 후
이러한 연결 지점을 사용하면 개별 프록시의 기본 흐름 지점 전후에 운영 로직을 실행할 수 있습니다. 관리 UI (API > 환경 구성 > 흐름 후크)에서 이러한 흐름 후크 위치에 공유 흐름을 할당합니다.
암호화된 키-값 맵
인증 정보 또는 PII/HIPAA 데이터와 같은 민감한 정보를 저장하기 위해 암호화된 키-값 맵 (KVM)을 만들 수 있습니다. 이 기능은 기존 Edge 보안 저장소(보관함)와 다르며 이를 대체하도록 설계되었습니다. 보관함 값은 관리 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의 위치를 정의할 수 있습니다. 예를 들어 additionalIPVars를 설정하여 봇 규칙에서 평가할 Akamai의 올바른 IP가 포함된 true-client-ip 헤더를 사용할 수 있습니다. (APIRT-3332)
수정된 버그
다음은 이번 출시 버전에서 수정된 버그입니다. 이 목록은 주로 자신의 지원 티켓에서 제기한 문제가 수정되었는지 확인하는 사용자를 위한 것입니다. 모든 사용자에게 자세한 정보를 제공하기 위한 목적은 아닙니다.
| 문제 ID | 설명 |
|---|---|
| APIRT-3507 | JavaScript 서비스 콜아웃의 간헐적인 오류 (예: SNI 오류) |
| APIRT-3408 | MP 출시 160817 apigee-access 분석 모듈이 메시지를 다르게 처리함 |
| APIRT-3390 |
액세스 토큰 새로고침 정책에서 반환되는 오류 응답 변경 |
| APIRT-3389 | |
| APIRT-3381 | 고객 프로덕션 프록시의 지연 시간이 높음 |
| APIRT-3366 | 모든 신규 체험 조직에서 JavaScript 정책이 실패함 |
| 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가 CPU 사용률 100% 에 도달하여 트래픽 제공을 중지함 |
| APIRT-3064 | 라우터 - 라우터의 맞춤 503 오류 메시지 |
| APIRT-2620 | 로드 처리를 개선하기 위해 일부 차단 단계에 별도의 스레드 풀 |
| CORESERV-774 | 잘못된 apiproduct 참조가 있는 유효한 키를 사용하여 액세스하면 내부 서버 오류가 발생함 |