Usar Credencial de Segredo do Vault com GCP Secret Manager

Descreve o uso de credenciais secretas do vault, em que o segredo das credenciais (senha) é armazenado como segredo no GCP Secret Manager.

Você pode usar credenciais secretas do vault para acessar recursos da nuvem, acessar outros bancos de dados com links de banco de dados ou usar em qualquer lugar que as credenciais do tipo de nome de usuário/senha sejam necessárias.

Pré-requisitos para Criar a Credencial do Segredo do Vault com GCP Secret Manager

Descreve os pré-requisitos necessários para usar credenciais de segredo do vault com o GCP Secret Manager.

Para criar credenciais de segredo do vault nas quais o segredo está armazenado no GCP Secret Manager, primeiro execute os pré-requisitos necessários.

  1. Crie um segredo no GCP Secret Manager.
  2. Ative a autenticação da Conta do Google Service para fornecer acesso ao GCP Secret Manager.

    No console do Google Cloud, você deve conceder acesso de leitura ao segredo para a credencial de autenticação principal.

    1. Vá para a página Gerenciador de Segredos no console do Google Cloud.
    2. Na página Gerenciador de Segredos, clique na caixa de seleção ao lado do nome do segredo.
    3. Se o painel ainda não estiver aberto, clique em Mostrar Painel de Informações para abri-lo.
    4. No painel de informações, clique em Adicionar Principal.
    5. Na área de texto Novos principais, informe o nome da conta de serviço a ser adicionada.
    6. Na lista drop-down Selecionar uma atribuição, escolha Gerenciador de Segredos e Acessador de Segredos do Gerenciador de Segredos.

Criar Credencial de Segredo do Vault com o GCP Secret Manager

Descreve as etapas para usar um segredo do GCP Secret Manager para armazenar segredos a serem usados com as credenciais usadas para acessar recursos da nuvem.

Isso permite que você armazene um segredo no GCP Secret Manager e use o segredo com as credenciais criadas para acessar recursos da nuvem ou acessar outros bancos de dados.

Para criar credenciais de segredo do vault nas quais o segredo é armazenado no GCP Secret Manager:

  1. Crie um acessador de segredo do gerenciador de segredos para permitir que seu principal do Autonomous Database acesse segredos no GCP Secret Manager.
  2. Ative a autenticação baseada na conta de serviço do Google para fornecer acesso ao segredo no Gerenciador de Segredos do GCP.
  3. Use DBMS_CLOUD.CREATE_CREDENTIAL para criar uma credencial de segredo do vault para acessar o segredo do GCP Secret Manager.

    Por exemplo:

    BEGIN DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name      => 'GCP_SECRET_CRED',
        params               => JSON_OBJECT( 
              'username'   value 'gcp_user1',
              'secret_id'  value 'my-secret',
              'gcp_project_id' value 'my-sample-project-191923' ));
    END;
    /

    Onde:

    • username: é o nome de usuário da credencial original. Pode ser o nome de usuário de qualquer tipo de credencial de nome de usuário/senha.

    • secret_id: é o nome do segredo. Quando você armazenar a senha mysecret no vault, use o nome do segredo como o valor do parâmetro secret_id.

    • gcp_project_id: é o ID do projeto em que o segredo está localizado.

    Consulte CREATE_CREDENTIAL Procedures para obter mais informações.

  4. Use a credencial para acessar um recurso de nuvem.

    Por exemplo:

    SELECT count(*) FROM DBMS_CLOUD.LIST_OBJECTS(
               'GCP_SECRET_CRED',
               'https://bucketname.storage.googleapis.com/' );
Observação

A cada 12 horas, o segredo (senha) é atualizado com base no conteúdo do Gerenciador de Segredos do GCP. Se você alterar o valor do segredo no Gerenciador de Segredos do GCP, poderá levar até 12 horas para que a instância do Autonomous Database obtenha o valor do segredo mais recente.

Execute DBMS_CLOUD.REFRESH_VAULT_CREDENTIAL para atualizar imediatamente uma credencial de segredo do vault. Este procedimento obtém a versão mais recente do segredo do vault do GCP Secret Manager. Consulte REFRESH_VAULT_CREDENTIAL Procedures para obter mais informações.