Apigee Edge 문서를 보고 있습니다.
Apigee X 문서로 이동하세요. info
다음 날짜에 Apigee Edge for Public Cloud의 구성요소 업데이트가 출시되었습니다.
- 메시지 프로세서: 2020년 5월 1일 금요일
- API 관리: 2020년 4월 20일 월요일
- 수익 창출 관리: 2020년 4월 20일 월요일
- API 관리 패치 출시: 2020년 6월 22일 월요일
- 수익 창출 관리 패치 출시: 2020년 7월 6일 월요일
- 관리 서버 보안 업데이트: 2020년 8월 24일 월요일
- 버그 수정이 포함된 메시지 프로세서 패치 출시: 2020년 9월 24일 목요일
- 버그 수정이 포함된 메시지 프로세서 패치 출시: 2020년 10월 26일 월요일
- 버그 수정이 포함된 메시지 프로세서 패치 출시: 2021년 2월 1일 월요일
새로운 기능 및 업데이트
다음은 이번 출시의 새로운 기능과 업데이트입니다.
JWT 정책
-
JWT 암호화
JWT 정책을 사용하면 암호화된 토큰을 생성, 확인, 디코딩할 수 있습니다. 정책의 새로운 요소는 다음과 같습니다.
<Type>- 토큰이 서명되었는지 또는 암호화되었는지 설정할 수 있습니다.<EncryptionAlgorithms>-<Key>및<Content>암호화 알고리즘을 설정할 수 있습니다.
(67165581)
서명된 토큰에서 PSS 알고리즘 지원
이제 JWT 및 JWS 생성 및 확인 정책이 IETF RFC 7518에 설명된 대로 PS256, PS384, PS512 알고리즘을 지원합니다. (119856499)
토큰의 GenerateJWT 상대 시작 시간
GenerateJWT 정책으로 JWT를 생성할 때
<NotBefore>요소를 사용하면 토큰이 생성된 시점과 유효해지는 시점 사이의 상대 시간을 지정할 수 있습니다. 예를 들어<NotBefore>값이 2h이면 토큰이 생성된 후 2시간이 지나야 유효합니다.<NotBefore>시간을 밀리초 (ms), 초 (s), 분 (m), 시간 (h), 일 (d), 주 (w)로 설정할 수 있습니다. (126261970)-
VerifyJWT에서 공개 키/인증서 참조
VerifyJWT 정책에서
<PublicKey>/<Certificate>요소를 사용하면 수신 JWT 서명을 확인할 PEM 형식 인증서를 참조할 수 있습니다. 예를 들면 다음과 같습니다.<PublicKey> <Certificate ref='public.certificate_pem'/> </PublicKey>
(132918033)
메시지 템플릿 함수
이번 출시에서 사용할 수 있는 새로운 메시지 템플릿 함수는 다음과 같습니다.
- firstnonull - null이 아닌 첫 번째 (가장 왼쪽) 인수의 값을 반환합니다. (139698514)
- xpath - XML 변수를 파싱하기 위해 XML 경로 (XPath) 표현식을 적용할 수 있습니다. (123246424)
AssignMessage 정책: AssignVariable을 사용하면 메시지 템플릿을 참조할 수 있습니다.
AssignMessage 정책에서 <AssignVariable> / <Template> 요소를 사용하면 ref 속성을 사용할 수 있으므로 정책을 수정하지 않고도 변경할 수 있는 사전 정의된 템플릿을 런타임에 삽입할 수 있습니다. (118396082)
여러 인증서 별칭
TLS를 구성하고 키 저장소에서 서로 다른 별칭이 있는 여러 인증서를 사용하는 경우 Edge에서는 <SSLInfo><KeyAlias> 구성에서 특정 인증서 별칭을 참조할 수 있습니다. 이 업데이트된 동작을 사용 설정하려면 메시지 프로세서의 http.properties 파일에서 새 HTTPClient.choose.alias.by.keyalias 속성을 true로 설정하세요. Edge for Public Cloud 사용자는
지원팀에 문의하여 이 속성을 추가해야 합니다. (142141620)
JSONtoXML 정책: XML 선언 생략, 출력 들여쓰기
JSONtoXML 정책의 두 가지 새로운 불리언 옵션을 사용하면 XML 출력을 더 세부적으로 제어할 수 있습니다.
<Options> <OmitXmlDeclaration>- true로 설정하면(기본값은 false)<OmitXmlDeclaration>요소가 정책에서 생성된 기본<?xml version="1.0" encoding="UTF-8"?>XML 선언을 생략합니다.<Options> <Indent>- true로 설정하면(기본값은 false)<Indent>요소가 XML 출력을 들여씁니다. 예를 들어 다음 출력 대신<Array><n>1</n><n>2</n><n>3</n></Array>
Indent 요소는 다음을 생성합니다.
<Array> <n>1</n> <n>2</n> <n>3</n> </Array>
(65142394)
가상 호스트 검사 응답
Apigee 엔드포인트의 IP 주소에 요청이 이루어진 경우 (가상 호스트가 지정되지 않음) Edge는 해당 IP 주소와 연결된 기본 Apigee 가상 호스트에서 HTTP 200 응답과 빈 HTML 문서를 반환했습니다. 이러한 응답이 악용될 수 있는 잠재적 취약점을 나타낼 수 있다는 잘못된 인상을 주지 않기 위해 연결이 삭제되고 응답이 반환되지 않습니다. (140005396)
문제 해결에 도움이 되는 추적의 타겟 서버 속성
다음 새로운 추적 속성은 타겟 서버의 HTTPClient가 캐시되었는지 여부를 표시하여 타겟 연결 문제를 해결하는 데 도움이 됩니다. isHttpClientCached 및 isFromClientPool (140574604)
MessageLogging 정책: 시스템 로그 메시지
MessageLogging 정책에서 새 <Syslog> / <PayloadOnly> 요소(불리언)를 사용하면 정의한 <Message>에 자동으로 추가되는 항목이 있는지 확인할 수 있습니다. <PayloadOnly>을 true로 설정하면 <FormatMessage> 설정과 관계없이 메시지 정의에 아무것도 추가되지 않습니다. false (기본값)로 설정하면 <FormatMessage> 설정에 따라 로그 메시지에 추가되는 내용이 결정됩니다. (68722102)
캐시 정책 만료
ResponseCache 정책 및 PopulateCache 정책의 새로운 <TimeoutInSeconds> 만료 요소는 기존 <TimeoutInSecs> 요소가 원래 의도한 대로 작동합니다. 새 요소를 사용하세요.
지원 중단된 <TimeoutInSecs> 요소는 이전 버전과의 호환성을 위해 계속 존재합니다. <TimeoutInSecs> 및 <TimeoutInSeconds> 요소가 모두 구성된 경우 Edge는 <TimeoutInSeconds>를 사용합니다. (119172893)
virtualhost.aliases.values 흐름 변수
새로운 읽기 전용 virtualhost.aliases.values 메시지 흐름 변수는 인바운드 요청에서 호출된 가상 호스트에 할당된 모든 별칭의 JSON 형식 배열을 반환합니다. (128453178)
프록시 버전 삭제를 보장하는 새로운 매개변수
새 force 쿼리 매개변수가 API 프록시 버전 삭제에 추가되었습니다.
버전이 API 프록시 나열 API에 나열되지만 실제로 쿼리할 수 없는 경우 이 매개변수는 프록시 버전이 삭제되도록 합니다. (111691721)
예를 들면 다음과 같습니다.
DELETE /v1/organizations/myorg/apis/myproxy/revisions/2?force=true
가상 호스트 별칭 값을 위한 새로운 흐름 변수
새로운 읽기 전용 virtualhost.aliases.values 메시지 흐름 변수는 인바운드 요청에서 호출된 가상 호스트에 할당된 모든 별칭의 JSON 형식 배열을 반환합니다. (128453178)
수정된 버그
다음은 이번 출시 버전에서 수정된 버그입니다. 이 목록은 주로 지원 티켓이 수정되었는지 확인하는 사용자를 위한 것입니다. 모든 사용자에게 자세한 정보를 제공하기 위한 목적은 아닙니다.
| 문제 ID | 구성요소 이름 | 설명 |
|---|---|---|
| 143313772 | 메시지 프로세서 |
(2021년 2월 1일 패치 출시) |
| 154428338 | API 런타임 |
키 저장소가 유사한 이름 또는 별칭으로 구성된 경우 메시지 프로세서가 환경을 로드하지 못함 이름 지정 규칙이 비슷한 키 저장소를 로드할 때 발생하는 정규식 조회 충돌이 수정되었습니다. 이로 인해 메시지 프로세서가 키 저장소와 연결된 환경을 로드하지 못하거나 조회 중에 충돌하는 키 저장소가 여러 개 반환될 때 시작하지 못했습니다. |
| 149507805 | API 관리 |
모든 프로덕션 MGMT 서버에 HTTP를 통한 배포/구성 사용 설정 구성 업데이트는 RPC 대신 HTTP를 통해 이루어지므로 안정성과 오류 로깅이 개선됩니다. |
| 137217974 | API 관리 |
HTTP를 통해 MP를 구성할 때 대상 서버가 아직 사용 중인 경우 오류를 적절하게 전파 문제 149507805에서 도입된 안정성 개선으로 인해 삭제가 실패한 경우 대상 서버 삭제의 응답 오류가 상태 200 (성공)으로 잘못 보고되었습니다. 이 수정사항에 따라 삭제가 실패하면 응답 오류가 이제 상태 400으로 올바르게 보고됩니다. 현재 배포된 프록시에서 대상 서버를 참조하는 경우 대상 서버 삭제가 실패할 수 있습니다. 대상 서버를 삭제하기 전에 현재 배포된 API 프록시에서 대상 서버를 참조하지 않는지 확인하세요. |
| 69765558 | API 관리 |
리소스 권한 API가 403을 반환함 |
| 149545506 | API 관리 |
역할에 사용자를 추가하는 API의 보안 문제를 수정합니다. |
| 131246911 | API 관리 |
포털의 개발자 이메일에서 *.games, *.asia와 같은 최신 도메인 지원 사용 설정
도메인 검사기에서 인식하지 못해 |
| 142217645 | API 관리 |
PUT v1/o/{org_name}/apiproducts/{product_name}이 할당량을 삭제하지 않음 |
| 162299668 | 관리 서버 |
잠재적인 보안 취약점이 수정되었습니다. |
| 135856488 | 관리 서버 |
UI 속도 저하 |
| 139407965 | 관리 서버 |
이름 없이 KVM을 만들 수 있는 문제가 수정되었습니다. |
| 112488235 | 관리 서버 |
이름에 공백이 있는 가상 호스트가 생성되지 않도록 유효성 검사가 추가되었습니다. 가상 호스트 이름에는 공백 문자를 사용할 수 없습니다. |
| 132433193 | 수익 창출 관리 |
애플리케이션 업데이트 문제가 해결되었습니다. |
| 152514520 | 수익 창출 관리 |
엔티티를 삭제하는 관리 API 호출 문제가 수정되었습니다. |
| 128450374 | API 런타임 |
JWT/JWS 정책은 IgnoreUnresolvedVariables를 준수해야 함 - 변수가 정의되지 않은 경우 적절한 오류 발생 |
| 135354517 | API 런타임 |
BasicAuth에서 'String' 데이터 유형을 엄격하게 적용하여 Release_190301에서 조직이 실패함 |
| 131763486 | API 런타임 |
메시지 프로세서에서 공유 흐름의 기본 경로를 무시해야 함 |
| 135972575 | API 런타임 |
override=true 및 delay=300으로 배포하는 동안 Private Cloud 4.19.01의 동작이 다르게 표시됨 이 수정사항은 향후 Edge for Private Cloud 버전에 포함될 예정입니다. |
| 141601836 | API 런타임 |
로그 메시지의 호스트 이름 수정 |
| 116834109 | API 런타임 |
추적에서 변수 failed, fault.cause, fault.name의 값이 잘못됨 |
| 130653816 | API 런타임 |
런타임 트래픽에 대한 간헐적인 404 |
| 132777537 | API 런타임 |
유효한 JSONPath에 대해 ExtractVariables 정책이 실패함 |
| 133713555 | API 런타임 |
에지 라우터가 날짜 헤더를 변경함 |
| 133253435 | API 런타임 |
Apigee-Main 스레드의 높은 CPU 사용량 |
| 111553402 | API 런타임 |
런타임까지 포착되지 않은 경로에 잘못된 문자가 있는 API 제품 |
| 126240341 | API 런타임 |
GenerateJWT 정책 실패 시 일반적인 '생성 실패' 메시지 개선 |
| 119854424 | API 런타임 |
단일 대상 서버가 있는 LoadBalancer는 연결 실패 시 비활성화되지 않아야 함 |
| 129275412 | API 런타임 |
일반 IP 검색을 위한 대체 가상 호스트에 HTTP 헤더 추가 |
| 129351507 | API 런타임 |
비밀번호에 콜론이 포함된 경우 BasicAuthentication 정책이 디코딩되지 않음 |
| 65852874 | API 런타임 |
HTTPClient가 Connection:close 응답 헤더가 있는 연결을 재사용하지 않는지 확인 |
| 138951646 | API 런타임 |
|
| 139051927 | API 런타임 |
요청 처리 지연 시간이 김 |
| 132443137 | API 런타임 |
알 수 없는 내부 x-apigee 헤더를 처리하도록 메시지 프로세서 동작 변경 |
| 138310777 | API 런타임 |
공유 흐름 배포 호출이 무작위로 504를 반환함 |
| 67170148 | API 런타임 |
ServiceCallout의 경과 시간과 timeTaken 차이점 |
| 124049692 | API 런타임 |
VerifyApiKey 정책의 NullPointerException |
| 135031506 | API 런타임 |
예상치 못한 JWT 키 형식에 대한 로그 메시지 추가 |
| 137312366 | API 런타임 |
Content-Type 헤더를 사용한 콘텐츠 유효성 검사 |
| 109871907 | API 런타임 |
Response 요소가 없는 ServiceCallout 실행 지연 |
| 143722867 | API 런타임 |
JWT는 PBKDF2의 반복 횟수에 대해 구성 가능한 제한을 적용해야 합니다. |
| 144286363 | 하이브리드 트레이스 |
env.json의 디버그 마스크가 Apigee Hybrid에서 응답 데이터를 마스킹하지 않음 |
| 147769812 | API 런타임 |
기능 플래그에서 OAuth 해시 속성을 변경 가능으로 선언 |
| 149037704 | API 런타임 |
|
| 148972262 | API 런타임 |
DecodeJWS가 페이로드를 쓸모없는 형식의 컨텍스트 변수에 내보냄 |
| 116580622 | API 런타임 |
일관되지 않은 대답 |
| 149739904 | API 런타임 |
HTTP 헤더의 데이터 마스킹은 대소문자를 구분하지 않아야 함 |
| 149431545 | API 런타임 |
SecretKey를 사용한 GenerateJWT 및 VerifyJWT는 UTF-8을 제외한 인코딩을 허용하지 않음 |
| 155448596 | API 관리-패치 |
기본 apimonitoringadmin 역할에 권한이 누락됨 apimonitoringadmin 역할에 누락된 권한이 추가되었습니다. |
| 158592076 | API 관리-패치 |
기본 devadmin 역할에 권한이 누락됨 devadmin 역할에 누락된 권한이 추가되었습니다. |
| 152856311 | API 관리-패치 |
가상 호스트 생성 및 업데이트 중에 키 저장소 및 트러스트 저장소에서 PKCS7 및 DER 인증서를 거부하는 유효성 검사 가상 호스트 생성 또는 업데이트 중에 키 저장소 별칭 및 트러스트 저장소에 추가된 인증서가 PEM 형식이고 PKCS7, DER 등 호환되지 않는 형식이 아닌지 확인하기 위해 유효성 검사가 적용됩니다. |
| 155478545 | 수익 창출 관리-패치 |
이메일 알림 상태 업데이트 문제가 해결되었습니다. |
| 154121499 | 수익 창출 관리-패치 |
|
| 152356393 | 수익 창출 관리-패치 |
수익 창출 회사 생성 시 회사 이름 길이 유효성 검사가 완화되었습니다. |
| 138542921 | 수익 창출 관리-패치 |
제품 번들에 맞춤 속성이 여러 개 있는 경우 요금제를 만들 수 없는 문제가 수정되었습니다. |
| 150948843 | 수익 창출 관리-패치 |
수익 창출 |
| 155443118 | 수익 창출 관리-패치 |
|
| 150948843 | 수익 창출 관리-패치 |
수익 창출 |