현재 Apigee Edge 문서가 표시되고 있습니다.
Apigee X 문서로 이동 정보
Google은 다음 날짜에 퍼블릭 클라우드용 Apigee Edge에 대한 구성요소 업데이트를 출시하기 시작했습니다.
- 메시지 프로세서: 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 경로 (XPath) 표현식을 적용하여 XML 변수를 파싱할 수 있습니다. (123246424)
ChooseMessage 정책: AssignVariable을 사용하면 메시지 템플릿을 참조할 수 있음
AssignMessage 정책에서 <AssignVariable>
/ <Template>
요소는 정책을 수정할 필요 없이 변경될 수 있는 사전 정의된 템플릿을 런타임에 삽입할 수 있도록 하는 ref
속성을 허용합니다. (118396082)
여러 인증서 별칭
TLS를 구성하고 키 저장소에서 각각 다른 별칭을 갖는 여러 인증서를 사용하는 경우 Edge를 사용하면 <SSLInfo><KeyAlias>
구성에서 특정 인증서 별칭을 참조할 수 있습니다. 업데이트된 이 동작을 사용 설정하려면 메시지 프로세서의 http.properties 파일에서 새 HTTPClient.choose.alias.by.keyalias
속성을 true로 설정하세요. 퍼블릭 클라우드용 Edge 사용자는
지원팀에 문의하여 이 속성을 추가해야 합니다. (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>
들여쓰기 요소는 다음을 생성합니다.
<Array> <n>1</n> <n>2</n> <n>3</n> </Array>
(65142394)
가상 호스트 스캔 응답
Apigee 엔드포인트의 IP 주소 (가상 호스트가 지정되지 않음)에 대한 요청이 이루어지면 Edge는 해당 IP 주소와 연결된 기본 Apigee 가상 호스트에서 HTTP 200 응답과 빈 HTML 문서를 반환했습니다. 이러한 응답이 악용될 수 있는 잠재적인 취약점이 될 수 있다는 잘못된 인상을 피하기 위해 연결이 끊어지고 응답이 반환되지 않습니다. (140005396)
문제 해결에 도움이 되도록 Trace의 서버 속성을 타겟팅합니다.
isHttpClientCached
및 isFromClientPool
라는 새로운 트레이스 속성은 타겟 서버의 HTTPClient가 캐시되었는지 여부를 표시하여 타겟 연결 문제를 해결하는 데 도움이 됩니다. (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 프록시 버전 삭제에 추가되었습니다.
버전이 List API Proxies API에 나열되지만 실제로 쿼리할 수 없는 경우 이 매개변수를 사용하면 프록시 버전이 삭제됩니다. (111691721)
예를 들면 다음과 같습니다.
DELETE /v1/organizations/myorg/apis/myproxy/revisions/2?force=true
Virtualhost 별칭 값의 새 흐름 변수
새로운 읽기 전용 virtualhost.aliases.values
메시지 흐름 변수는 인바운드 요청에서 호출된 가상 호스트에 할당된 모든 별칭의 JSON 형식 배열을 반환합니다. (128453178)
수정된 버그
다음은 이번 출시 버전에서 수정된 버그입니다. 이 목록은 주로 지원 티켓이 수정되었는지 확인하는 사용자를 위한 것입니다. 모든 사용자에게 자세한 정보를 제공하기 위한 목적은 아닙니다.
문제 ID | 구성요소 이름 | 설명 |
---|---|---|
143313772 | 메시지 프로세서 |
(2/21/2/1 패치 출시). |
154428338 | API 런타임 |
키 저장소가 유사한 이름이나 별칭으로 구성된 경우 메시지 프로세서가 환경을 로드하지 못합니다. 이름 지정 규칙이 유사한 키 저장소를 로드할 때 발생하는 정규식 조회 충돌을 수정했습니다. 이로 인해 메시지 프로세서가 키 저장소에 연결된 환경을 로드하지 못했거나 조회 중에 충돌하는 키 저장소가 여러 개 반환되었을 때 시작할 수 없었습니다. |
149507805 | API 관리 |
모든 프로덕션 MGMT 서버에 대해 HTTP를 통한 배포/구성 사용 설정 구성 업데이트는 RPC 대신 HTTP를 통해 이루어지므로 안정성과 오류 로깅이 개선됩니다. |
137217974 | API 관리 |
HTTP를 통해 MP를 구성할 때 대상 서버가 계속 사용 중일 때 오류를 올바르게 전파 문제 149507805에서 발생한 안정성 개선으로 인해, 삭제 실패 시 대상 서버 삭제의 응답 오류가 상태 200 (성공)으로 잘못 보고되었습니다. 이 수정사항으로 이제 삭제 실패 시 응답 오류가 상태 400으로 올바르게 보고됩니다. 현재 배포된 프록시에서 대상 서버를 참조하는 경우 대상 서버 삭제가 실패할 수 있습니다. 대상 서버를 삭제하기 전에 현재 배포된 API 프록시에서 대상 서버를 참조하지 않는지 확인하세요. |
69765558 | API 관리 |
Resource Permissions 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에서 '문자열' 데이터 유형을 엄격하게 시행하여 Release_190301에서 조직이 실패함 |
131763486 | API 런타임 |
공유 흐름의 기본 경로는 메시지 프로세서에서 무시되어야 함 |
135972575 | API 런타임 |
Private Cloud 4.19.01에서 override=true&Delay=300으로 배포 시 다른 동작이 표시됨 이 수정사항은 향후 Private Cloud용 Edge 출시에 포함될 예정입니다. |
141601836 | API 런타임 |
로그 메시지에서 호스트 이름 수정 |
116834109 | API 런타임 |
trace에서 실패한 변수 값, fault.cause, fault.name 값이 올바르지 않음 |
130653816 | API 런타임 |
런타임 트래픽에 간헐적인 404 발생 |
132777537 | API 런타임 |
유효한 JSONPath에서 ExtractVariables 정책 실패 |
133713555 | API 런타임 |
에지 라우터의 날짜 헤더 변경 |
133253435 | API 런타임 |
Apigee-기본 스레드의 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 런타임 |
Service콜아웃의 경과 시간 및 소요 시간 차이 |
124049692 | API 런타임 |
VerifyApiKey 정책의 NullPointerException |
135031506 | API 런타임 |
예기치 않은 JWT 키 형식의 로그 메시지 추가 |
137312366 | API 런타임 |
Content-Type 헤더별 콘텐츠 검사 |
109871907 | API 런타임 |
응답 요소가 없는 ServiceCall 실행 지연 |
143722867 | API 런타임 |
JWT는 PBKDF2의 반복 횟수에 구성 가능한 한도를 적용해야 함 |
144286363 | 하이브리드 trace |
env.json의 디버그 마스크가 Apigee Hybrid의 응답 데이터를 마스킹하지 않음 |
147769812 | API 런타임 |
기능 플래그에서 OAuth 해시 속성을 변경 가능한 것으로 선언 |
149037704 | API 런타임 |
|
148972262 | API 런타임 |
DecodeJWS가 페이로드를 쓸모없는 형식으로 컨텍스트 변수에 내보냅니다. |
116580622 | API 런타임 |
응답이 일관되지 않음 |
149739904 | API 런타임 |
HTTP 헤더의 데이터 마스킹은 대소문자를 구분하지 않아야 합니다. |
149431545 | API 런타임 |
GenerateJWT 및 SecretKey를 사용한 VerifyJWT는 UTF-8을 제외한 인코딩을 허용하지 않습니다. |
155448596 | API 관리 패치 |
기본 apimonitoringadmin 역할에 대한 권한 누락 누락된 권한이 apimonitoringadmin 역할에 추가되었습니다. |
158592076 | API 관리 패치 |
기본 devadmin 역할의 권한 누락 누락된 권한이 devadmin 역할에 추가되었습니다. |
152856311 | API 관리 패치 |
가상 호스트 생성 및 업데이트 중에 키 저장소 및 트러스트 저장소의 PKCS7 및 DER 인증서를 거부하는 검증 가상 호스트 생성 또는 업데이트 중에 키 저장소 별칭 및 truststore에 추가된 인증서가 PEM 형식이며 PKCS7, DER 등과 같이 호환되지 않는 형식이 아닌지 확인하기 위해 유효성 검사가 시행됩니다. |
155478545 | 수익 창출 관리 패치 |
이메일 알림 상태 업데이트 관련 문제가 해결되었습니다. |
154121499 | 수익 창출 관리 패치 |
|
152356393 | 수익 창출 관리 패치 |
수익 창출 회사 생성에 대한 회사 이름의 길이 검증이 완화되었습니다. |
138542921 | 수익 창출 관리 패치 |
제품 번들에 여러 커스텀 속성이 있어 요금제를 만들 수 없는 문제가 해결되었습니다. |
150948843 | 수익 창출 관리 패치 |
수익 창출 |
155443118 | 수익 창출 관리 패치 |
|
150948843 | 수익 창출 관리 패치 |
수익 창출 |