Usar Credencial de Segredo do Vault com o GCP Secret Manager

Descreve o uso de credenciais de segredo 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 em que as credenciais de tipo de nome de usuário/senha sejam necessárias.

Pré-requisitos para Criar Credencial de Segredo do Vault com o 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.

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

    1. Vá para a página Gerenciador de Segredos na 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 ainda não estiver aberto, clique em Mostrar Painel de Informações para abrir o painel.
    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 Secret Manager e, em seguida, Secret Manager Secret Accessor.

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 para uso 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 está armazenado no GCP Secret Manager:

  1. Crie um acessador de segredo do gerenciador de segredos para permitir que o 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 GCP Secret Manager.
  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 do 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 no qual o segredo está localizado.

    Consulte CREATE_CREDENTIAL Procedimento 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 GCP Secret Manager, poderá levar até 12 horas para que a instância do Autonomous Database selecione 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 Procedimento para obter mais informações.