06/04/2020 - Notas de lançamento do Apigee Edge para nuvem pública

Você está lendo a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
info

Nas datas a seguir, começamos a lançar atualizações de componentes para o Apigee Edge para nuvem pública:

  • Processador de mensagens: sexta-feira, 1º de maio de 2020
  • API Management: segunda-feira, 20 de abril de 2020
  • Gerenciamento da monetização: segunda-feira, 20 de abril de 2020
  • Versão de patch da API Management: segunda-feira, 22 de junho de 2020
  • Versão de correção do Monetization Management: segunda-feira, 6 de julho de 2020
  • Atualização de segurança do servidor de gerenciamento: segunda-feira, 24 de agosto de 2020
  • Versão de patch do processador de mensagens com correções de bugs: quinta-feira, 24 de setembro de 2020
  • Versão de patch do processador de mensagens com correções de bugs: segunda-feira, 26 de outubro de 2020
  • Lançamento de patch do processador de mensagens com correções de bugs: segunda-feira, 1º de fevereiro de 2021

Novos recursos e atualizações

Veja a seguir os novos recursos e atualizações desta versão.

Políticas JWT

  • Criptografia JWT

    As políticas de JWT permitem gerar, verificar e decodificar tokens criptografados. Novos elementos nas políticas incluem:

    • <Type>: permite definir se os tokens são assinados ou criptografados.
    • <EncryptionAlgorithms>: permite definir algoritmos de criptografia <Key> e <Content>.

    (67165581)

  • Suporte para algoritmos PSS em tokens assinados

    As políticas para gerar e verificar JWT e JWS agora são compatíveis com os algoritmos PS256, PS384 e PS512, conforme descrito na IETF RFC 7518. (119856499)

  • Horário de início relativo do GenerateJWT para o token

    Ao gerar um JWT com a política GenerateJWT, o elemento <NotBefore> permite especificar um tempo relativo entre a geração e a validação de um token. Por exemplo, um valor <NotBefore> de 2h significa que um token não é válido até 2 horas após a geração. Você pode definir o tempo <NotBefore> em milissegundos (ms), segundos (s), minutos (m), horas (h), dias (d) ou semanas (w). (126261970)

  • Referenciar PublicKey/Certificate em VerifyJWT

    Na política VerifyJWT, um elemento <PublicKey> / <Certificate> permite referenciar o certificado formatado em PEM com que verificar as assinaturas JWT recebidas. Exemplo:

    <PublicKey>
      <Certificate ref='public.certificate_pem'/>
    </PublicKey>

    (132918033)

Funções de modelo de mensagem

Confira a seguir as novas funções de modelo de mensagem disponíveis nesta versão:

  • firstnonull: retorna o valor do primeiro argumento não nulo (mais à esquerda). (139698514)
  • xpath: permite aplicar uma expressão de caminho XML (XPath) para analisar variáveis XML. (123246424)

Política AssignMessage: AssignVariable permite referenciar um modelo de mensagem

Na política AssignMessage, o elemento <AssignVariable> / <Template> permite um atributo ref, permitindo injetar um modelo predefinido no ambiente de execução que pode mudar sem precisar modificar a política. (118396082)

Vários aliases de certificado

Ao configurar o TLS e usar vários certificados em um keystore, cada um com um alias diferente, o Edge permite referenciar aliases de certificado específicos na sua configuração <SSLInfo><KeyAlias>. Para ativar esse comportamento atualizado, defina uma nova propriedade HTTPClient.choose.alias.by.keyalias como "true" no arquivo http.properties nos processadores de mensagens. Os usuários do Edge para nuvem pública precisam entrar em contato com o suporte para adicionar essa propriedade. (142141620)

Política JSONtoXML: omitir a declaração XML, recuar a saída

Duas novas opções booleanas na política JSONtoXML oferecem mais controle sobre a saída XML.

  • <Options> <OmitXmlDeclaration>: quando definido como "true" (o padrão é "false"), o elemento <OmitXmlDeclaration> omite a declaração XML <?xml version="1.0" encoding="UTF-8"?> padrão gerada pela política.
  • <Options> <Indent>: quando definido como verdadeiro (o padrão é falso), o elemento <Indent> adiciona um recuo à saída XML. Por exemplo, em vez desta saída:

    <Array><n>1</n><n>2</n><n>3</n></Array>

    O elemento "Indent" produz isto:

    <Array>
     <n>1</n>
     <n>2</n>
     <n>3</n>
    </Array>

(65142394)

Respostas para verificação de host virtual

Se uma solicitação foi feita para o endereço IP de um endpoint da Apigee (nenhum host virtual especificado), o Edge retornou uma resposta HTTP 200 e um documento HTML em branco do host virtual padrão da Apigee associado a esse endereço IP. Para evitar a impressão incorreta de que essa resposta pode representar uma possível vulnerabilidade que pode ser explorada, a conexão é descartada e nenhuma resposta é retornada. (140005396)

Propriedades do servidor de destino no Trace para ajudar na solução de problemas

As novas propriedades de rastreamento a seguir ajudam a resolver problemas de conexão de destino mostrando se o HTTPClient do servidor de destino foi armazenado em cache: isHttpClientCached e isFromClientPool. (140574604)

Política MessageLogging: mensagem Syslog

Na política MessageLogging, um novo elemento <Syslog> / <PayloadOnly> (booleano) permite determinar se algo é adicionado automaticamente ao <Message> que você define. Se você definir <PayloadOnly> como verdadeiro, nada será adicionado à sua definição de mensagem, independente da configuração <FormatMessage>. Se definida como "false" (padrão), a configuração <FormatMessage> determina o que é adicionado à mensagem de registro. (68722102)

Expiração das políticas de cache

Um novo elemento de expiração <TimeoutInSeconds> na política ResponseCache e na política PopulateCache funciona da maneira como o elemento <TimeoutInSecs> originalmente deveria funcionar. Use o novo elemento. O elemento <TimeoutInSecs> descontinuado ainda existe para compatibilidade com versões anteriores. Se os elementos <TimeoutInSecs> e <TimeoutInSeconds> estiverem configurados, o Edge usará <TimeoutInSeconds>. (119172893)

Variável de fluxo virtualhost.aliases.values

Uma nova variável de fluxo de mensagens virtualhost.aliases.values somente leitura retorna uma matriz formatada em JSON de todos os aliases atribuídos ao host virtual chamado na solicitação de entrada. (128453178)

Novo parâmetro para garantir a exclusão da revisão de proxy

Adicionamos um novo parâmetro de consulta force à exclusão da revisão do proxy de API. Nos casos em que a revisão está listada na API List API Proxies, mas não pode ser consultada, esse parâmetro garante que a revisão do proxy seja excluída. (111691721)

Exemplo:

DELETE /v1/organizations/myorg/apis/myproxy/revisions/2?force=true

Nova variável de fluxo para valores de alias de virtualhost

Uma nova variável de fluxo de mensagens virtualhost.aliases.values somente leitura retorna uma matriz formatada em JSON de todos os aliases atribuídos ao host virtual que foi chamado na solicitação de entrada. (128453178)

Bugs corrigidos

Os bugs abaixo foram corrigidos nesta versão. Esta lista serve principalmente para usuários que querem verificar se os tíquetes de suporte foram corrigidos. Ela não foi criada para fornecer informações detalhadas a todos os usuários.

ID do problema Nome do componente Descrição
143313772 processador de mensagens

Foi corrigido um problema na política SpikeArrest que ocorria quando o UseEffectiveCount estava ativado e um reinício gradual acontecia.

(Na versão de patch de 1º/2/2021.)

154428338 Ambiente de execução da API

O processador de mensagens não carrega ambientes quando os keystores são configurados com nomes ou aliases semelhantes.

Corrigimos um conflito de pesquisa de regex ao carregar keystores com convenções de nomenclatura semelhantes. Isso fazia com que o processador de mensagens não carregasse ambientes associados ao keystore ou não fosse iniciado quando vários keystores conflitantes eram retornados durante a pesquisa.

149507805 Gerenciamento de APIs

Ativar a implantação/configuração via HTTP para todos os servidores MGMT de produção

As atualizações de configuração acontecem por HTTP em vez de RPC, melhorando a confiabilidade e o registro de erros.

137217974 Gerenciamento de APIs

Ao configurar MPs por HTTP, propague o erro corretamente quando um servidor de destino ainda estiver em uso

Como resultado das melhorias de confiabilidade introduzidas na questão 149507805, os erros de resposta da exclusão do servidor de destino foram informados incorretamente como status 200 (sucesso) quando a exclusão falhou. Com essa correção, os erros de resposta agora são informados corretamente como Status 400 se a exclusão falhar. A exclusão do servidor de destino pode falhar se ele estiver referenciado por um proxy implantado no momento. Antes de excluir um servidor de destino, verifique se ele não é referenciado por nenhum proxy de API implantado.

69765558 Gerenciamento de APIs

A API Resource Permissions retorna 403

149545506 Gerenciamento de APIs

Corrige um problema de segurança na API para adicionar um usuário a uma função.

131246911 Gerenciamento de APIs Para e-mails de desenvolvedores em um portal, ative a compatibilidade com domínios mais recentes, como *.games, *.asia

Foi corrigido um problema em que alguns nomes de domínio, como *.games, *.asia e *.africa, faziam com que a criação de desenvolvedores no Edge falhasse porque o validador de domínio não os reconhecia. Agora, o Edge só valida se o formato de um endereço de e-mail é válido (contém um símbolo "@").

142217645 Gerenciamento de APIs

PUT v1/o/{org_name}/apiproducts/{product_name} não remove cotas

162299668 Servidor de gerenciamento

Uma possível vulnerabilidade de segurança foi corrigida.

135856488 Servidor de gerenciamento

Lentidão da interface

139407965 Servidor de gerenciamento

Corrigimos um problema que permitia a criação de um KVM sem um nome.

112488235 Servidor de gerenciamento

A validação foi adicionada para evitar a criação de hosts virtuais com espaços no nome. Não é possível usar espaços em nomes de hosts virtuais.

132433193 Gerenciamento da monetização

Um problema com a atualização do aplicativo foi corrigido.

152514520 Gerenciamento da monetização

Foi corrigido um problema com chamadas da API Management para excluir entidades.

128450374 Ambiente de execução da API

As políticas JWT/JWS precisam respeitar IgnoreUnresolvedVariables e gerar a falha apropriada se a variável não estiver definida

135354517 Ambiente de execução da API

A organização falha na Release_190301 devido à aplicação estrita do tipo de dados "String" em BasicAuth

131763486 Ambiente de execução da API

O caminho de base de um fluxo compartilhado precisa ser ignorado no processador de mensagens

135972575 Ambiente de execução da API

A nuvem privada 4.19.01 está apresentando um comportamento diferente durante a implantação com override=true&delay=300

Essa correção será incluída em uma versão futura do Edge para nuvem privada.

141601836 Ambiente de execução da API

Corrigir o nome do host na mensagem de registro

116834109 Ambiente de execução da API

Valores incorretos para as variáveis failed, fault.cause e fault.name no Trace

130653816 Ambiente de execução da API

Erros 404 intermitentes no tráfego de tempo de execução

132777537 Ambiente de execução da API

Falha na política ExtractVariables para JSONPath válido

133713555 Ambiente de execução da API

Roteador de borda alterando o cabeçalho de data

133253435 Ambiente de execução da API

Alto uso da CPU pela linha de execução Apigee-Main

111553402 Ambiente de execução da API

Um produto de API com caracteres inválidos no caminho não detectado até o tempo de execução

126240341 Ambiente de execução da API

Melhorar a mensagem genérica "Falha na geração" em caso de falha da política GenerateJWT

119854424 Ambiente de execução da API

O LoadBalancer com um único servidor de destino não deve ficar inativo em caso de falha de conexão

129275412 Ambiente de execução da API

Adicionar cabeçalhos HTTP ao host virtual de substituição para verificações de IP genéricas

129351507 Ambiente de execução da API

A política BasicAuthentication não decodifica quando a senha contém dois-pontos

65852874 Ambiente de execução da API

Verifique se o HTTPClient não tenta reutilizar uma conexão que tinha um cabeçalho de resposta Connection:close

138951646 Ambiente de execução da API

O tempo limite não funciona em JavaScript para httpClient

139051927 Ambiente de execução da API

Latência alta no processamento de solicitações

132443137 Ambiente de execução da API

Mudar o comportamento do processador de mensagens para lidar com cabeçalhos x-apigee internos desconhecidos

138310777 Ambiente de execução da API

A chamada de implantação de fluxo compartilhado retorna 504 aleatoriamente

67170148 Ambiente de execução da API

Diferenças entre "Tempo decorrido" e "timeTaken" em ServiceCallouts

124049692 Ambiente de execução da API

NullPointerException na política VerifyApiKey

135031506 Ambiente de execução da API

Adicionar mensagem de registro para formato de chave JWT inesperado

137312366 Ambiente de execução da API

Validação de conteúdo pelo cabeçalho Content-Type

109871907 Ambiente de execução da API

Atrasos na execução de ServiceCallout sem elemento Response

143722867 Ambiente de execução da API

O JWT precisa aplicar um limite configurável no número de iterações para PBKDF2

144286363 Rastreamento híbrido

A máscara de depuração no env.json não oculta dados de resposta na Apigee híbrida

147769812 Ambiente de execução da API

Declarar propriedades de hash do OAuth como mutáveis em flags de recursos

149037704 Ambiente de execução da API

Foi corrigido um problema em que o valor atribuído à variável de fluxo proxy.url poderia retornar um alias de host incorreto.

148972262 Ambiente de execução da API

DecodeJWS emite o payload para uma variável de contexto de forma inútil

116580622 Ambiente de execução da API

Resposta inconsistente

149739904 Ambiente de execução da API

O mascaramento de dados para cabeçalhos HTTP não diferencia maiúsculas de minúsculas

149431545 Ambiente de execução da API

GenerateJWT e VerifyJWT com SecretKey não aceitam nenhuma codificação, exceto UTF-8

155448596 API Management-Patch

Permissões ausentes na função padrão apimonitoringadmin

As permissões ausentes foram adicionadas à função apimonitoringadmin.

158592076 API Management-Patch

Permissões ausentes na função padrão de administrador de desenvolvimento

As permissões ausentes foram adicionadas à função devadmin.

152856311 API Management-Patch

Validações para rejeitar certificados PKCS7 e DER em keystore e truststore durante a criação e atualização de hosts virtuais

Durante a criação ou atualização do host virtual, as validações são aplicadas para verificar se os certificados adicionados no alias do keystore e no truststore estão no formato PEM e não em formatos incompatíveis, como PKCS7, DER etc.

155478545 Monetization Management-Patch

Um problema com as atualizações de status das notificações por e-mail foi corrigido.

154121499 Monetization Management-Patch

Foi corrigido um problema em que a API /mint/org/orgname/delete-org-data gerava um erro de status 404.

152356393 Monetization Management-Patch

A validação do comprimento do nome da empresa foi flexibilizada para a criação de empresas de monetização.

138542921 Monetization Management-Patch

Corrigimos um problema que impedia a criação de um plano de tarifas com vários atributos personalizados no pacote de produtos.

150948843 Monetization Management-Patch

Foi corrigido um problema em que a API /sync-developers da Monetização gerava conflitos de persistência.

155443118 Monetization Management-Patch

O campo jsonMailProperties foi removido.

150948843 Monetization Management-Patch

Foi corrigido um problema em que a API /sync-developers da Monetização gerava conflitos de persistência.