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

현재 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의 서버 속성을 타겟팅합니다.

isHttpClientCachedisFromClientPool라는 새로운 트레이스 속성은 타겟 서버의 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 메시지 프로세서

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

(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 같은 최신 도메인 지원을 사용 설정하세요.

*.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에서 '문자열' 데이터 유형을 엄격하게 시행하여 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 런타임

자바스크립트에서 httpClient의 시간 제한이 작동하지 않습니다.

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

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

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

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

152356393 수익 창출 관리 패치

수익 창출 회사 생성에 대한 회사 이름의 길이 검증이 완화되었습니다.

138542921 수익 창출 관리 패치

제품 번들에 여러 커스텀 속성이 있어 요금제를 만들 수 없는 문제가 해결되었습니다.

150948843 수익 창출 관리 패치

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

155443118 수익 창출 관리 패치

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

150948843 수익 창출 관리 패치

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