Configurar alternância de usuários alternados para o AWS Secrets Manager - AWS Secrets Manager

Configurar alternância de usuários alternados para o AWS Secrets Manager

Neste tutorial, você aprenderá como configurar a alternância de usuários alternados para um segredo que contenha credenciais de banco de dados. Alternância de usuários alternados é uma estratégia de alternância em que o Secrets Manager clona o usuário e, em seguida, alterna quais credenciais do usuário são atualizadas. Essa estratégia é uma boa opção se você precisar de alta disponibilidade para seu segredo, porque um dos usuários alternados tem credenciais atuais para o RDS enquanto o outro está sendo atualizado. Para mais informações, consulte Estratégias de alternância.

Para configurar a alternância de usuários alternados, você precisa de dois segredos:

  • Um segredo com as credenciais que você deseja alternar.

  • Um segundo segredo que tenha credenciais para um administrador ou superusuário que tenha permissões para alterar a senha do primeiro usuário e clonar o primeiro usuário.

Permissões

Para os pré-requisitos do tutorial, você precisa de permissões administrativas para sua Conta da AWS. Em uma configuração de produção, é uma prática recomendada usar funções diferentes para cada uma das etapas. Por exemplo, uma função com permissões de administrador de banco de dados criaria o banco de dados do Amazon RDS, e uma função com permissões de administrador de rede configuraria a VPC e os grupos de segurança. Para as etapas do tutorial, recomendamos que você continue usando a mesma identidade.

Para obter mais informações sobre como configurar permissões em um ambiente de produção, consulte Autenticação e controle de acesso para o AWS Secrets Manager.

Pré-requisitos

O pré-requisito para este tutorial é Configurar a alternância de usuário único para o AWS Secrets Manager. Não limpe os recursos no final do primeiro tutorial. Depois desse tutorial, você tem um ambiente realista com um banco de dados do Amazon RDS e um segredo do Secrets Manager. O segredo contém credenciais de administrador para o banco de dados e ele é configurado para alternar a cada 10 dias.

Você também tem uma conexão configurada no MySQL Workbench para se conectar ao banco de dados com as credenciais de administrador.

Etapa 1: criar um usuário do banco de dados do Amazon RDS

Primeiro, você precisa de um usuário cujas credenciais serão armazenadas no segredo.

Para criar um usuário de banco de dados

  1. No MySQL Workbench, escolha a conexão SecretsManagerTutorial.

  2. Na janela Query (Consultar), insira os seguintes comandos (incluindo uma senha forte) e, depois, escolha Execute (Executar).

    CREATE DATABASE myDB; CREATE USER 'appuser'@'%' IDENTIFIED BY 'EXAMPLE-PASSWORD'; GRANT ALL PRIVILEGES ON myDB . * TO 'appuser'@'%';

    Na janela Output (Saída), você verá os comandos com êxito.

Etapa 2: criar um segredo para as credenciais do usuário

Em seguida, crie um segredo para armazenar as credenciais do usuário que acabou de criar. Este é o segredo que você estará alternando. Você ativa a alternância automática e, para indicar a estratégia de usuários alternados, você escolhe um segredo de superusuário separado que tenha permissão para alterar a senha do primeiro usuário.

  1. Abra o console do Secrets Manager em https://console.aws.amazon.com/secretsmanager/.

  2. Selecione Store a new secret (Armazenar um novo segredo).

  3. Na página Choose secret type (Selecionar tipo de segredo), faça o seguinte:

    1. Em Secret type (Tipo de segredo), escolha Credentials for Amazon RDS database (Credenciais para o banco de dados do Amazon RDS).

    2. Em Credentials (Credenciais), insira o nome do usuário newuser e a senha inserida para o usuário do banco de dados que você criou usando o MySQL Workbench.

    3. Em Database (Banco de dados), escolha secretsmanagertutorialdb.

  4. Na página Configure secret (Configurar segredo) , em Secret name (Nome de segredo), insira SecretsManagerTutorialAppuser e, depois, escolha Next (Próximo).

  5. Na página Configure rotation (Configurar alternância), faça o seguinte:

    1. Ative a Automatic rotation (Alternância automática).

    2. Em Rotation schedule (Programação da alternância), defina uma programação de Days (Dias):2 dias com Duration (Duração): 2h. Mantenha Rotate immediately (Alternar imediatamente) selecionado.

    3. Em Rotation function (Função de alternância), escolha Create a rotation function (Criar uma função de alternância), e, em seguida, para nome da função, insira tutorial-alternating-users-rotation.

    4. Em Use separate credentials (Usar credenciais separadas), escolha Yes (Sim), e, depois, em Secrets (Segredos), escolha SecretsManagerTutorialAdmin-a1b2c3d4e5f6.

    5. Escolha Next (Próximo).

  6. Na página Review (Análise), escolha Store (Armazenar).

    O Secrets Manager retorna à página de detalhes do segredo. Na parte superior da página, você pode ver o status da configuração de alternância.

    O Secrets Manager usa o CloudFormation para criar recursos como a função de alternância do Lambda e uma função de execução que executa a função Lambda. Quando o CloudFormation termina, o banner muda para Secret scheduled for rotation (Segredo programado para alternância). A primeira alternância está completa.

Etapa 3: testar o segredo alternado

Agora que o segredo está alternado, você pode verificar se o segredo ainda contém credenciais válidas. A senha no segredo mudou a partir das credenciais originais.

Para recuperar a nova senha do segredo

  1. Abra o console do Secrets Manager em https://console.aws.amazon.com/secretsmanager/.

  2. Escolha Secrets (Segredos) e, em seguida, escolha o segredo SecretsManagerTutorialAppuser.

  3. Na página Secret details (Detalhes do segredo), role para baixo e escolha Retrieve secret value (Recuperar valor do segredo).

  4. Na tabela Key/value (Chave/valor), copie o Secret value (Valor do segredo) para password.

Para testar as credenciais

  1. No MySQL Workbench, clique com o botão direito do mouse na conexão SecretsManagerTutorial e, depois, escolha Edit Connection (Editar conexão).

  2. Na caixa de diálogo Manage Server Connections (Gerenciar conexões do servidor), em Username (Nome do usuário), insira appuser e, depois, escolha Close (Fechar).

  3. De volta ao MySQL Workbench, escolha a conexão SecretsManagerTutorial.

  4. Na caixa de diálogo Open SSH Connection (Abrir conexão de SSH), em Password (Senha), cole a senha que você recuperou do segredo e escolha OK.

    Se as credenciais forem válidas, o MySQL Workbench será aberto na página de design do banco de dados.

Isso mostra que a alternância secreta é bem-sucedida. As credenciais no segredo foram atualizadas, e ele é uma senha válida para se conectar ao banco de dados.

Etapa 4: Limpar os recursos

Para evitar possíveis cobranças e remover a instância do EC2 que tem acesso à Internet, exclua os seguintes recursos criados neste tutorial e seus pré-requisitos:

Next steps (Próximas etapas)