20.04.06 - 퍼블릭 클라우드용 Apigee Edge 출시 노트

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가 캐시되었는지 여부를 표시하여 타겟 연결 문제를 해결하는 데 도움이 됩니다. isHttpClientCachedisFromClientPool (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 메시지 프로세서

UseEffectiveCount가 사용 설정되고 순차적 다시 시작이 발생할 때 SpikeArrest 정책에서 발생하는 문제가 수정되었습니다.

(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와 같은 최신 도메인 지원 사용 설정

도메인 검사기에서 인식하지 못해 *.games, *.asia, *.africa과 같은 일부 도메인 이름으로 인해 Edge에서 개발자 생성이 실패하는 문제가 수정되었습니다. 이제 Edge에서는 이메일 주소 형식이 유효한지('@' 기호 포함)만 확인합니다.

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 런타임

httpClient의 JavaScript에서 시간 제한이 작동하지 않음

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 런타임

proxy.url 흐름 변수에 할당된 값이 잘못된 호스트 별칭을 반환할 수 있는 문제가 수정되었습니다.

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 수익 창출 관리-패치

/mint/org/orgname/delete-org-data API에서 404 상태 오류가 발생하는 문제가 수정되었습니다.

152356393 수익 창출 관리-패치

수익 창출 회사 생성 시 회사 이름 길이 유효성 검사가 완화되었습니다.

138542921 수익 창출 관리-패치

제품 번들에 맞춤 속성이 여러 개 있는 경우 요금제를 만들 수 없는 문제가 수정되었습니다.

150948843 수익 창출 관리-패치

수익 창출 /sync-developers API에서 지속성 충돌이 발생하는 문제가 수정되었습니다.

155443118 수익 창출 관리-패치

jsonMailProperties 필드가 삭제되었습니다.

150948843 수익 창출 관리-패치

수익 창출 /sync-developers API에서 지속성 충돌이 발생하는 문제가 수정되었습니다.