Usar Credencial de Segredo do Vault com 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 que as credenciais do tipo de nome de usuário/senha sejam necessárias.

Pré-requisitos para Criar Credencial de Segredo do Vault com 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 nas quais 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 do AWS para obter mais informações.

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

    Por exemplo, na execução da instância do Autonomous Database:

    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 Nomes de Recursos (ARNs) da Amazon para Acessar Recursos do AWS para obter mais informações.

  4. Configure a AWS para fornecer permissões para nomes de recursos (ARNs) da Amazon para acessar o segredo no AWS Secrets Manager.

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

    1. Na console da AWS, navegue até o IAM e selecione Atribuições no Gerenciamento de Acesso.
    2. Selecione 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 Ler.
    6. Na seção Recursos, clique em Adicionar ARN, especifique o ARN para segredo e clique em Adicionar → clique em Revisar a política → dê um nome à política → clique em criar política.
    7. De volta à 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 seu 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 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 segredo do vault do AWS ARN.

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

    Consulte CREATE_CREDENTIAL Procedures 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 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 AWS Secrets Manager. Consulte REFRESH_VAULT_CREDENTIAL Procedures para obter mais informações.