Personalizando Armazenamentos Confiáveis para Verificação de Certificado TLS
Descubra como adicionar CAs (Certificate Authorities) e pacotes de CA a armazenamentos confiáveis personalizados com o API Gateway.
Os gateways de API criados com o serviço API Gateway verificam os certificados TLS apresentados a eles usando um armazenamento confiável. O armazenamento confiável pode conter certificados raiz de Autoridade de Certificação (CA) e pacotes de CA de certificados raiz e intermediários. Um pacote de CAs padrão é adicionado ao armazenamento confiável de cada gateway de API, contendo certificados de CAs públicas conhecidas. O pacote de CAs padrão permite que o gateway de API verifique certificados TLS apresentados por serviços de back-end.
Além do pacote de CAs padrão, você pode optar por adicionar os certificados raiz de outras CAs e outros pacotes de CAs ao armazenamento confiável de um gateway de API. Esses bundles adicionais de CAs e CA são chamados de CAs personalizadas e bundles de CA personalizados. Para adicionar uma CA personalizada ou um pacote de CAs ao armazenamento confiável de um gateway de API, primeiro crie um recurso de CA ou um recurso de pacote de CAs no serviço Certificates. Depois de criar o recurso no serviço Certificates, você poderá adicioná-lo ao armazenamento confiável do gateway de API. A adição de CAs e bundles de CA personalizados permite personalizar o armazenamento confiável para atender aos seus requisitos.
Tendo adicionado CAs e pacotes de CAs personalizados ao armazenamento confiável, as conexões TLS com o gateway de API (incluindo back-ends HTTPS e do cache de resposta) são verificadas usando o pacote de CAs padrão e os pacotes de CAs e CAs personalizados. Além disso, se você tiver especificado suporte mTLS para uma implantação de API, o gateway de API usará CAs personalizadas e pacotes de CA personalizados para verificar os certificados do cliente de API. Observe que o gateway de API não usa o bundle de CAs padrão para verificar certificados de cliente de API durante um handshake mTLS. Portanto, se quiser que um gateway de API suporte mTLS, adicione CAs e bundles de CA personalizados ao armazenamento confiável do gateway de API
Para alguns clientes, é obrigatório, por motivos de segurança, usar lojas de confiança personalizadas que contenham apenas CAs privadas e nenhuma CAs pública. Para outros clientes, o uso de lojas de confiança personalizadas provavelmente será impulsionado por requisitos comerciais.
Adicionando CAs Personalizadas e Pacotes de CAs ao Armazenamento Confiável de um Gateway de API
Para personalizar o armazenamento confiável de um gateway de API adicionando uma Autoridade de Certificação (CA) ou um pacote de CAs personalizado, primeiro crie um recurso de Autoridade de Certificação (CA) ou um recurso de pacote de CAs no serviço Certificates e adicione-o ao armazenamento confiável do gateway de API.
Removendo CAs Personalizadas e Pacotes de CAs do Armazenamento Confiável de um Gateway de API
Tendo adicionado uma Autoridade de Certificação (CA) ou um bundle de CAs personalizado ao armazenamento confiável de um gateway de API, você poderá decidir que o bundle de CAs ou CAs não é mais necessário.
Você pode remover algumas ou todos os pacotes de CAs e CA personalizados do armazenamento confiável de um gateway de API, desde que não haja APIs ativadas para mTLS implantadas no gateway de API. Se houver uma ou mais APIs ativadas para mTLS implantadas no gateway de API, sempre deverá haver pelo menos um pacote de CA ou CA personalizado no armazenamento confiável do gateway de API.
Usando a Console
Para remover uma CA personalizada ou um bundle de CAs do armazenamento confiável de um gateway de API usando a Console:
- Na página da lista Gateways, selecione o gateway de API do qual você deseja remover a CA personalizada ou o bundle de CAs. Se precisar de ajuda para localizar a página da lista ou o gateway de API, consulte Listando Gateways de API.
- Na página Detalhes do Gateway, selecione Autoridades de Certificação na lista Recursos para ver os pacotes de CA e CA personalizados no armazenamento confiável do gateway de API.
-
Selecione o menu
ao lado do pacote de CAs ou CA personalizado que você deseja remover e selecione Remover.Observe que você não poderá remover todas as CAs personalizadas e pacotes de CA do armazenamento confiável de um gateway de API se houver uma ou mais APIs ativadas para mTLS implantadas no gateway de API.
-
Confirme se você deseja remover o bundle de CAs ou CAs personalizado do armazenamento confiável do gateway de API.
Usando a CLI
Para remover um bundle de CAs ou CAs personalizado do armazenamento confiável de um gateway de API usando a CLI:
- Configure seu ambiente de cliente para usar a CLI ( Configurando Seu Ambiente de Cliente para usar a CLI para o Desenvolvimento de Gateway de API).
-
Para remover um bundle de CAs ou CAs personalizado do armazenamento confiável de um gateway de API:
-
Abra um prompt de comando e execute
oci api-gateway gateway update
para remover o bundle de CAs ou CAs personalizado do armazenamento confiável do gateway de API:oci api-gateway gateway update --gateway-id <gateway-ocid> --ca-bundles file:///<filename>
em que
<filename>
é o nome de um arquivo que contém detalhes apenas dessas CAs personalizadas e pacotes de CAs personalizados a serem retidos no armazenamento confiável do gateway de API (além do pacote de CAs padrão). Quaisquer CAs ou bundles de CA não contidos no arquivo são removidos do armazenamento confiável.Por exemplo:
oci api-gateway gateway update --gateway-id ocid1.apigateway.oc1..aaaaaaaab______hga --ca-bundles file:///bundles-to-keep.json
Observe que você não poderá remover todas as CAs personalizadas e pacotes de CA do armazenamento confiável de um gateway de API se houver uma ou mais APIs ativadas para mTLS implantadas no gateway de API.
A resposta ao comando inclui:
- O estado do ciclo de vida (por exemplo, DELETED, FAILED).
- O id da solicitação de serviço para remover as CAs ou os pacotes de CAs personalizados (os detalhes das solicitações de serviço estão disponíveis por sete dias após a conclusão, o cancelamento ou a falha).
Se quiser que o comando aguarde o retorno de controle até que as CAs ou os bundles de CA personalizados tenham sido removidos (ou a solicitação tenha falhado), inclua um ou ambos os seguintes parâmetros:
--wait-for-state DELETED
--wait-for-state FAILED
Por exemplo:
oci api-gateway gateway update --gateway-id ocid1.apigateway.oc1..aaaaaaaab______hga --ca-bundles file:///bundles-to-keep.json --wait-for-state DELETED
-
(Opcional) Para ver o status da solicitação de serviço que está removendo o bundle de CAs ou CAs personalizado, digite:
oci api-gateway work-request get --work-request-id <work-request-ocid>
-
(Opcional) Para exibir os logs da solicitação de serviço que está removendo o bundle de CAs ou CAs personalizado, digite:
oci api-gateway work-request-log list --work-request-id <work-request-ocid>
-
(Opcional) Se a solicitação de serviço que está removendo a CA ou o bundle de CAs personalizado falhar e você quiser revisar os logs de erro, digite:
oci api-gateway work-request-error --work-request-id <work-request-ocid>
-
(Opcional) Para verificar se o bundle de CAs ou CAs personalizado foi removido do armazenamento confiável do gateway de API, digite o seguinte comando e confirme se o bundle de CAs ou CAs personalizado não é mais mostrado:
oci api-gateway gateway get --gateway-id <gateway-ocid>
-
Para obter mais informações sobre o uso da CLI, consulte Interface de Linha de Comando (CLI). Para obter uma lista completa de flags e opções disponíveis para comandos da CLI, consulte a Ajuda da CLI.
Usando a API
Para obter informações sobre como usar a API e assinar solicitações, consulte a documentação da API REST e Credenciais de Segurança. Para obter informações sobre SDKs, consulte SDKs e a CLI.
Use a operação UpdateGateway para especificar apenas as CAs personalizadas e os pacotes de CAs personalizados a serem retidos no armazenamento confiável do gateway de API (além do pacote de CAs padrão). Quaisquer CAs ou bundles de CA que você não especificar serão removidos do armazenamento confiável. Observe que você não poderá remover todas as CAs personalizadas e pacotes de CA do armazenamento confiável de um gateway de API se houver uma ou mais APIs ativadas para mTLS implantadas no gateway de API.