Rotação do Segredo do Banco de Dados sem Função de Wallet

Descubra como usar a Rotação Secreta do Banco de Dados sem a função pré-criada Wallet no OCI Functions para rotacionar segredos usando a conexão TLS com o banco de dados.

Cenário de Uso Comum

Use o PBF Rotação do Segredo do Banco de Dados sem Wallet para rotacionar automaticamente os segredos do banco de dados, fazendo uma conexão JDBC TLS sem uma wallet.

Os serviços relacionados à função Rotação do Segredo do Banco de Dados sem Wallet incluem:

Escopo

As considerações de escopo para esta função incluem:

  • A função pré-criada pode ser usada com qualquer banco de dados que suporte um URL JDBC.
  • O Serviço Secreto usa a função criada pela função pré-criada para rotacionar os segredos do banco de dados.

Pré-requisitos e Recomendações

Veja a seguir as melhores práticas ao usar esta função predefinida:

  • Defina o timeout da função pré-criada como 300 segundos.
  • A VCN vinculada ao aplicativo facilita o acesso a outros serviços do OCI usando um Gateway de Serviço, Gateway de Internet ou gateway NAT.

Configurando a Rotação do Segredo do Banco de Dados sem a Função Wallet

Para configurar uma Rotação de Segredo do Banco de Dados sem a função wallet, execute as seguintes etapas:

  1. Na página Funções Pré-integradas, selecione Rotação do Segredo do Banco de Dados sem Wallet e, em seguida, selecione Criar função.
  2. Configure o Nome, o Compartimento e o Aplicativo da seguinte maneira:
    • Nome: Um nome de sua escolha para a nova função. O nome deve começar com letra ou sublinhado, seguido de letras, números, traços ou sublinhados. O tamanho pode ser de 1 a 255 caracteres. Evite digitar informações confidenciais.

      Para criar a função em outro compartimento, selecione Alterar Compartimento.

    • Aplicativo: selecione o aplicativo no qual você deseja criar a função.

      Se ainda não existir um aplicativo adequado no compartimento atual, selecione Criar novo aplicativo e especifique os seguintes detalhes:

      • Nome: Um nome para o novo aplicativo. Evite digitar informações confidenciais.
      • VCN: A VCN (rede virtual na nuvem) na qual executar funções no aplicativo. Opcionalmente, selecione Compartimento da VCN: para selecionar uma rede VCN em outro compartimento.
      • Sub-redes: A sub-rede (ou sub-redes, até três no máximo) na qual executar funções. Opcionalmente, selecione Compartimento de sub-redes: para selecionar uma sub-rede em outro compartimento.
      • Forma: A arquitetura do processador das instâncias de computação nas quais implantar e executar funções no aplicativo. Todas as funções no aplicativo são implantadas e executadas em instâncias de computação com a mesma arquitetura. A imagem da função deve conter as dependências necessárias para a arquitetura selecionada.
      • Tags: Se você tiver permissões para criar um recurso, também terá permissões para aplicar tags de formato livre a esse recurso. Para aplicar uma tag definida, você deve ter permissões para usar o namespace da tag. Para obter mais informações sobre tags, consulte Tags de Recursos. Se você não tiver certeza se deseja aplicar tags, ignore essa opção ou pergunte a um administrador. Você pode aplicar tags posteriormente.
  3. Configure a política do IAM para funções pré-criadas.

    Por padrão, o OCI Functions cria um grupo dinâmico e uma política do IAM com as instruções de política necessárias para executar a função pré-criada. Não faça alterações para aceitar o comportamento padrão.

    Se você não quiser que o OCI Functions crie automaticamente o grupo dinâmico e a política, selecione Não criar um grupo dinâmico e uma política de IAM.

    Importante

    Se você selecionar a opção Não criar um grupo dinâmico e uma política de IAM, deverá definir você mesmo o grupo dinâmico e a política de IAM.
  4. Configure a memória da função e os valores de timeout da seguinte forma:
    • Memória (em MBs): A quantidade máxima de memória que a função pode usar durante a execução, em megabytes. Esta é a memória disponível para a imagem da função. (Padrão: 512 MB)
    • Timeout (em segundos): A quantidade máxima de tempo que a função pode executar, em segundos. Se a função não for concluída no tempo especificado, o sistema cancelará a função. (Padrão: 300)
  5. (Opcional) Configure a Simultaneidade provisionada para minimizar atrasos iniciais ao chamar a função especificando um número mínimo de chamadas de função simultâneas para as quais você deseja que a infraestrutura de execução esteja constantemente disponível. (Padrão: não selecionado)

    Se selecionado, especifique o número de unidades de simultaneidade provisionadas atribuídas a esta função. Padrão: 20.

    Para obter mais informações sobre simultaneidade provisionada, consulte Reduzindo a latência inicial usando simultaneidade provisionada.

  6. Opcionalmente, informe qualquer tag na seção Tags. Se você tiver permissões para criar um recurso, também terá permissões para aplicar tags de formato livre a esse recurso. Para aplicar uma tag definida, você deve ter permissões para usar o namespace da tag. Para obter mais informações sobre tags, consulte Tags de Recursos. Se você não tiver certeza se deseja aplicar tags, ignore essa opção ou pergunte a um administrador. Você pode aplicar tags posteriormente.
  7. Selecione Criar.

A caixa de diálogo de implantação exibe as tarefas para implantar a função (consulte Finalizando a Implantação de Função Pré-Criada).

Opções de Configuração

Chamando Esta Função

A função criada usando esse PBF seria chamada pelo serviço secreto para rotacionar o segredo.
  1. Crie uma função usando este PBF e copie o ID da função.
    1. Abra o menu de navegação, selecione Identity & Security e, em seguida, Vault.
    2. Em Escopo da lista, selecione um compartimento que contenha os segredos que você criou em um vault.
    3. Na lista de segredos, selecione um nome de segredo que você precisa rotacionar usando esse PBF ou crie um novo segredo.
  2. Selecione Tipo de sistema de destino como Função para rotações.
  3. Adicione o ID da função copiado da etapa 1 como o ID do sistema de destino.
  4. Certifique-se de que o segredo siga estes requisitos:
    • O segredo deve ter a geração automática ativada.
    • Espera-se que o Conteúdo do Segredo seja uma string JSON com o seguinte formato:
      {
          ‘username’: <required: username>,
          ‘password’: <required: password>
          ‘connectionString’: <required: DB connection string>
        }
    • O nome de usuário e a senha devem estabelecer uma conexão com o banco de dados usando o formato: jdbc:oracle:thin:@<connectionString>?user=<username>&password=<example-password>
    • Certifique-se de usar a conexão TLS.
      Observação

      Esta função não é compatível com a conexão MTLS.

Diagnóstico e Solução de Problemas

Uma execução de função pré-criada retorna um código de erro 502 se o código da função pré-criada encontrar algum problema. Para identificar a causa, ative os recursos de log da função pré-criada (consulte Chamar uma função retorna uma mensagem de falha da Função e um erro 502).

Dica

Para obter informações detalhadas sobre como diagnosticar e solucionar problemas de uma função, consulte Diagnosticando e Solucionando Problemas do Serviço OCI Functions.

Dicas de Análise de Log

  • Como um aplicativo tem várias funções, as entradas de log de função pré-criadas são identificadas pelo prefixo "PBF | <PBF NAME> ".

    Por exemplo, uma entrada de log para a Rotação do Segredo do Banco de Dados sem a função pré-criada Wallet é semelhante à seguinte:

    "PBF | Database Secret Rotation without Wallet | INFO | 2024-01-31T18:06:50.809Z | Fetching details from Events JSON"
  • Todas as funções pré-criadas fornecem uma opção para especificar o nível de log como um parâmetro de configuração. Você pode definir o nível de log como DEBUG para obter mais informações.

A tabela a seguir resume os erros comuns que você pode encontrar ao trabalhar com funções pré-criadas:

Código do Erro Mensagem de Erro Ação
404 NotAuthorizedOrNotFound Verifique se as políticas necessárias estão configuradas.

A tabela a seguir resume os códigos de status de resposta que podem ser encontrados ao trabalhar com esta função pré-criada:

Etapa Código do Status Mensagem de Resposta Descrição
VERIFY_CONNECTION 200 A conexão usando a versão do segredo pendente foi bem-sucedida! Existe uma versão pendente do segredo e a conexão com o banco de dados foi estabelecida com sucesso usando essa versão.
A conexão usando a versão do segredo atual foi bem-sucedida! A conexão com o banco de dados foi bem-sucedida com a versão do segredo atual.
400 A conexão usando a versão do segredo atual não foi bem-sucedida. Credenciais inválidas na versão do segredo atual ou em qualquer versão pendente, se existir.
404 A versão atual do segredo não foi encontrada Não existe uma versão atual do segredo com o secretId fornecido.
500 <MENSAGEM DE EXCEÇÃO> Gerado quando ocorre qualquer exceção durante a verificação da conexão.
CREATE_PENDING_VERSION 200 Já existe a versão pendente! Já existe uma versão pendente do segredo. Não cria uma nova versão pendente.
Versão pendente criada com sucesso! Não existe uma versão pendente; uma nova versão pendente do segredo é criada.
<CÓDIGO DE EXCEÇÃO> Falha na criação da versão pendente. Exceção do cliente DP ao tentar criar uma nova versão pendente do segredo.
500 <MENSAGEM DE EXCEÇÃO> Gerado quando ocorre qualquer exceção durante a criação de uma nova versão.
UPDATE_TARGET_SYSTEM 200 O sistema de destino já foi atualizado. O banco de dados pode ser conectado usando a versão de segredo pendente, indicando que essa versão foi usada anteriormente para atualizar as credenciais do banco de dados.
Sistema de destino atualizado com sucesso! As credenciais do banco de dados foram atualizadas com a versão pendente do segredo.
404 Não existe versão pendente. Não existe uma versão pendente do segredo que possa ser usada para atualizar o sistema de destino.
500 Falha na atualização do sistema de destino. Tentativa de atualizar o sistema de destino com as novas credenciais de versão pendentes, mas a verificação da conexão com o banco de dados usando essas credenciais falhou.
<MENSAGEM DE EXCEÇÃO> Gerado quando ocorre uma exceção durante a atualização do sistema de destino.
PROMOTE_PENDING_VERSION 200 Versão pendente promovida! A versão pendente foi promovida com sucesso para a atual.
500 <MENSAGEM DE EXCEÇÃO> Gerado quando ocorre qualquer exceção ao promover a versão pendente.