Usar a Credencial de Segredo do Vault com o AWS Secrets Manager

Descreve o uso de credenciais de segredo do vault, em que o segredo da credencial (senha) é armazenado no AWS Secrets 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 AWS Secrets Manager

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

Para criar credenciais de segredo do vault em que o segredo é armazenado no AWS Secrets Manager, primeiro execute os pré-requisitos necessários.

  1. Crie um segredo com o AWS Secrets Manager e copie o ARN secreto da AWS.

    Consulte Gerenciador de Segredos da AWS para obter mais informações.

  2. Executar pré-requisitos de gerenciamento da AWS para usar ARNs (Amazon Resource Names).
  3. Ative a autenticação principal da AWS para fornecer acesso ao segredo no AWS Secrets Manager.

    Por exemplo, na instância do Autonomous Database, execute:

    BEGIN
        DBMS_CLOUD_ADMIN.ENABLE_PRINCIPAL_AUTH(                                     
              provider => 'AWS',
              params =>
                 JSON_OBJECT( 
                    'aws_role_arn' value 'arn:aws:iam::123456:role/AWS_ROLE_ARN'));
    END; 
    /

    Consulte Procedimento ENABLE_PRINCIPAL_AUTH e Sobre o Uso de ARNs (Amazon Resource Names) para Acessar Recursos da AWS para obter mais informações.

  4. Configure a AWS para fornecer permissões para ARNs (Amazon Resource Names) para acessar o segredo no AWS Secrets Manager.

    Na console da AWS, conceda acesso de leitura ao segredo à credencial de autenticação principal.

    1. Na console da AWS, navegue até o serviço IAM e selecione Atribuições no Gerenciamento de Acesso.
    2. Selecionar a atribuição.
    3. Na guia Permissão, clique em Adicionar permissõescriar política em linha.
    4. Na seção Serviço, selecione gerenciador secreto como o serviço.
    5. Na seção Ação, selecione o nível de acesso Leitura.
    6. Na seção Recursos, clique em Adicionar ARN, especifique ARN para segredo e clique em Adicionar → clique em Revisar a política → dê um nome de política → clique em criar política.
    7. Voltar para a guia Permissão, verifique se a política em linha está anexada.

Criar credencial de segredo do Vault com o AWS Secrets Manager

Descreve as etapas para usar um segredo do AWS Secrets Manager com credenciais.

Isso permite que você armazene um segredo no AWS Secrets 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 AWS Secrets Manager:

  1. Crie um segredo no AWS Secrets Manager e crie uma política em linha para permitir que o Autonomous Database acesse segredos no AWS Secrets Manager.
  2. Use DBMS_CLOUD.CREATE_CREDENTIAL para criar uma credencial de segredo do vault para acessar o segredo do AWS Secrets Manager.

    Por exemplo:

    BEGIN DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name      => 'AWS_SECRET_CRED',
        params               => JSON_OBJECT( 
             'username'   value 'access_key',
             'secret_id'  value 'arn:aws:secretsmanager:region:account-ID:secret:secret_name' ));
    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 AWS ARN do segredo do vault.

    Para criar uma credencial secreta do vault, você deve ter o privilégio EXECUTE no pacote DBMS_CLOUD.

    Consulte CREATE_CREDENTIAL Procedimento para obter mais informações.

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

    Por exemplo:

    SELECT count(*) FROM DBMS_CLOUD.LIST_OBJECTS(
         'AWS_SECRET_CRED', 
         'https://s3-us-west-2.amazonaws.com/adb/' );
Observação

A cada 12 horas, o segredo (senha) é atualizado com base no conteúdo do AWS Secrets Manager. Se você alterar o valor do segredo no AWS Secrets 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. Esse procedimento obtém a versão mais recente do segredo do vault do AWS Secrets Manager. Consulte REFRESH_VAULT_CREDENTIAL Procedimento para obter mais informações.